Emails

In the client settings an administrator must have setup an email account that the system can use for sending and reading emails. In the settings, there can also be defined a standard header for emails that is part of the standard email templates and which you can also use when defining your own email templates.

Sent emails

Here you can see a list of all emails that you or the system has sent in the module "PA-Administration". You can open each email and download the attachments.

Received emails

Here you can see a list of all emails that you or the system has received in the module "PA-Administration". You can open each email and download the attachments.

[Important]Important

You need to start the reading of the emails from the email account manually by clicking in the icon "Receive emails" on top of the list of received emails.

The main reason for this functionality is to check if any emails that the system has sent, bounced back due to any wrong email receiver addresses.

Email templates

Here you can define your own language specific email templates in order to replace the standard templates provided by the system. If the system cannot find an email template for the specific action and in the desired language, it will use the standard template that is hard coded in the system.

In order to do so you need to have some know how about HTML and a script language called "Liquid" which enables you to:

  • insert variables into the page, e.g. to set up an address header or to insert the name of the receiver into the text

  • Do some basic programming like loops over a list of elements (e.g. invoice items)

You need to read the following small manual carefully in order to design your own emails.

[Tip]Tip

You can find a complete overview on the usage of "Liquid" for designers under

http://wiki.github.com/tobi/liquid/liquid-for-designers

Creation of a new email template

The following fields indicate for which action the email template will be used and in which language.

  • Name: Select one of the names out of the list. Each of them is bound to a specific action when the system will send automatic emails

  • Language: Depending on the language of the receiver, the system will select the language specific template. If it cannot find one provided by the user, it will use the standard email template hard coded in the system

  • Description: This field is free for your use to give some description for the template. It has no functional impact.

  • Message: Here you must enter the email template in HTML format, mixed with variables and any processing instructions.

[Tip]Tip

With the "source edit" button in the HTML editor field for the message, you can edit the HTML source code directly. This gives you far more possibilities to design your email template with all existing HTML elements.

The following variables exist for the following email actions. They can be introduced into your HTML email template with curly double brackets like {{header}}:

Table 5.1. available variables for designing email templates
Action variable name Description
Variables that are available for all email templates header HTML fragment which you can define under "Client Settings - Email".
names Names of the receivers
street Street of the receiver
houseno House number
zip Zip code of the receiver
city City of the receiver
country Country of the receiver
receiverlang Language code of the receiver (2 characters)
imgsrc This is a variable contains the path to the logo image of your client. Insert it into the HTML code the following way:
<img src="{{imgsrc}}">
invoicing_avis_to_parents schoolyear The name of the schoolyear
itemlist a list of invoice items through which you must loop e.g. the following way:
{% for item in itemlist %}
 {{item.date}} {{item.text}}  {{item.amount}}<br>
{% endfor %}
item.text Text of the invoice item
item.date_formatted Date
item.amount_fromatted Amount
item.accountdebit Debit account (= the debitor number of the invoice receiver)
item.accountcredit Credit account (stored in the service or service category)
item.currency Currency (defined in the Client settings)
item.costcenter Cost center (stored in the service or service category)
item.costcarrier Cost carrier (stored in the service or service category)
manual_email_to_parents text HTML fragment which is the text the user introduced when he wrote the manual email
service_confirmation_for_child, service_rejection_for_child, service_confirmation_for_parent, service_rejection_for_parent schoolyear The name of the schoolyear
childname The name of the child (not available in ..._for_parent)
dateofbirth Formatted date of birth of the child (not available in ..._for_parent)
service.name The name of the service
service.description A longer description
service.price_formatted Price
service.inscriptionfee_formatted Inscription fee
service.cancelationfee_formatted Cancelation fee
service.cancelationperiod Days for cancelation before the first courseday
service.coursenumber Number of the course / service
service.coursemonths Months during which the service / course takes place
service.timeweekday Time and exact day of the week
service.location The location
service.numberofdays How many days has the course
service.forclasses Children of which classes can participate
service.participantsmax Maximum of participants
service.participantsmin Minimum of participants
service.comment Comment
service.evesmtrainers a list of trainers assigned to the course, through which you can loop e.g. the following way:
{% for trainer in service.evesmtrainers %}
 {{trainer.name}} {{trainer.surname}}  {{trainer.email}}<br>
{% endfor %}
trainer.name
trainer.surname
trainer.email
trainer.mobile
service.evesmservicedates a list of trainers assigned to the course, through which you can loop e.g. the following way:
{% for day in service.evesmservicedates %}
 {{day.dateformatted}},
{% endfor %}
day.date_formatted
service_participants_list_for_parent schoolyear Name of the schoolyear
service.* all fields like in service_confirmation
trainer.*
day.*
participantslist a list of trainers assigned to the course, through which you can loop e.g. the following way:
{% for participant in participantslist %}
 {{participant.surname}} {{participant.name}}<br>
{% endfor %}
participant.name
participant.surname

An example for the "invoicing_avis_to_parents" could look:

<style type="text/css">body, p, ol, ul {
  font-family: verdana, arial, helvetica, sans-serif;
  font-size:   12px;
  line-height: 16px;
}
th { 
  font-size: 12px;
  font-style:italic;
}
td {
  font-size: 12px;
}
</style>

<img src="{{imgsrc}}">
{{header}}

<p>To</p>
<p>
{{names}}<br>
{{street}} {{houseno}}<br>
{{zip}} {{city}}<br>
{{country}}<br>
</p>

<br>Dear {{names}}
,<br><br>
we send you a list of invoiceitems that we will invoice to you in about two weeks. If you find any error, please inform us.
<br><br>
<table>
<tbody>
<tr>
<th style="width: 100px; text-align: center;">Date</th>
<th style="width: 100px; text-align: right;">Amount</th>
<th>Text</th>
</tr>
{% for item in itemlist %}
<tr><td>{{item.date_formatted}}</td><td>{{item.amount_formatted}}</td><td>{{item.text}}</td></tr>
{% endfor %}
</tbody>
</table>
<br><br>
Best regards,
<br><br>your parents association.
<br><br>