Print Templates

Overview

serviceminder supports templating for email messages, text and voice messages and printed documents. The composition languages for each are different, but the underlying personalization and customization features are identical.

Whether we're rendering an email message, text message, PDF or anywhere else templating is supported, the same process is performed.

Step 1: Any valid shortcodes are replaced with their corresponding values. Any filtering specified is also applied (such as date formatting, etc). You can read more about the available Shortcodes and filtering.

Step 2: The resulting text is then run through the Liquid interpreter. When Liquid is called, we pass the corresponding model that can be accessed through the Model variable inside the template. Liquid supports both value subsitution using a {{ }} syntax and a procedural execution using {% %} syntax. Keep in mind that any standard shortcodes from step 1 will have already been replaced when Liquid is run. More information on the Liquid models is available.


Settings and Navigation


serviceminder.io allows you to modify the way forms and letters appear, as well as what information they contain. Some basic XML and CSS knowledge may assist in designing templates.

The general idea is to begin elements with <Tag> and close them with </Tag>. Within the opening <Tag>, place attributes, such as font-name; <Tag font-name="normal">Some text</Tag>


Print templates produce Adobe PDF documents that can be easily printed or emailed. There are two types of print templates available:

  • Automated Print Templates

Automated print templates (or built in print templates) are used when you hit Print in various places within serviceminder. For example, if you're on an appointment's details page and hit Print, the Appointment Ticket print template is used to generate the PDF.

  • Ad Hoc Print Templates

Ah hoc print templates are for more specific situations and are printable on demand. You can create as many of these as you want and for as many reasons as you need. These can be printed from Contact and Appointment details pages via the Print Message button located at the bottom of the details section. You'll be prompted to select a template before viewing the result. Please note that you'll only be able to select templates with a matching type. If on the Contact details page, you'll only be able to select templates with the Contact type. These types can be selected when creating/editing the template.

Attachments to Ad Hoc Emails

If you would like to add attachments to email templates, they need to be a URL link within the email. To do this, first add your document to the collateral library. (Control Panel > Collateral Library)

Once it's been added hover over the image with your mouse, there is an icon that is "Copy URL", click that and then insert that copied URL link into the Ad Hoc email template where you want the attachment to be.

When the email is received the person can click on that link to access the attachment.


Data

It's important to be familiar with the various shortcodes integrated with serviceminder.
TagDescription
<Page>Root tag. Indicates the beginning and end of the template document.
<Font />Creates font objects to be used by page elements. Attributes:
  • name: Sets the name of the font to be called by other elements.
  • font-family: Sets the font family (e.g. Arial, Times). Limited fonts supported.
  • font-size: Sets the font size in pixels.
  • font-style: Modifies the appearance of the font. Options: bold, italic, normal.
  • text-decoration: Adds lines to text. Options: Overline, underline, strikethrough.
  • color: Change the color of the font. Accepts Hex-RGB (#RRGGBB), Hex shorthand (#RGB), and decimal RGB [rgb(255, 255, 255)].
<Image />Inserts an image into the document. Attributes:
  • path: Sets the source of the image to a relative path. ./content/design/custom/28385943.jpg (path contents)
  • src: Sets the source of the image to an absolute path. http://www.example.com/image.jpg (path contents)
  • layer: Setting this to "background" will cause the image to be displayed in the background.
  • width: Adjusts the width of the image.
  • height: Adjusts the height of the image.
  • scale: Adjusts the scale of the image in percent.
<Paragraph>Creates a block of text with options for alignment. Attributes:
  • align: Aligns the text horizontally either "left", "center", or "right".
  • font-name: Sets the font for the element.
<String>Creates a string of text.

Tables and Cells
<Table>Begins a table element. Attributes:
  • width: Adjusts the width of the table.
  • cell-borders: Sets the default border for cells.
  • align: Aligns the table horizontally either "left", "center", or "right".
  • font-name: Sets the font for the element.
<Column />Defines a column within a table. Attributes:
  • width: Adjusts the width of the column.
  • font-name: Sets the font for the element.
<Cells>Container tag for <Cell>s
<Cell>Defines an entry in the table. Attributes:
  • colspan: Sets the width of the cell in terms of how many columns it occupies.
  • align: Aligns the text horizontally either "left", "center", or "right".
  • background-color: Sets the background color of the cell in 8bit decimal "R,G,B" form.
  • font-name: Sets the font for the element.

Public Print URLs

Sometimes you need to include a direct link to a printable version of a proposal, ad hoc template, or invoice—without requiring the user to log in. This is great for sharing documents via email or including them in automated notifications.

Here’s how to do it:

For Proposals

Use the following format to create a public link to a printable version of a proposal:

https://serviceminder.io/service/proposal/pdf/{proposal.hash_key}

Just replace {proposal.hash_key} with the actual hash key of the proposal.

For Ad Hoc Print Templates

If you’re linking to an ad hoc print template tied to a proposal, use this format:

https://serviceminder.io/service/proposal/adhocprinttemplate/{template_id}?proposal_id={proposal.hash_key}
  • Replace {template_id} with the ID of the specific print template.

  • Replace {proposal.hash_key} with the proposal’s hash key.

For Invoices

To create a similar link for invoices, simply swap the word proposal with invoice in either URL format above. For example:

https://serviceminder.io/service/invoice/pdf/{invoice.hash_key}

FAQs

When the appointment confirmation emails that go out, can we give the client an option to confirm or reschedule?

es, there's an appt confirm shortcode that can be added to email templates so the customer can confirm.

To reschedule, the default appointment confirmation template already has this text below added to it and the customer can click the appointment URL link to reschedule.

You can see the coding starts with "if model.organization.is_online_scheduling_enabled" which means that the text above the URL will only show up in the email if you have online scheduling turned on. The URL itself will show up no matter what.

To enable online scheduling, you have to turn it on at both Control Panel > Scheduling and Control Panel > Services for each service that you want customers to be able to self-schedule.