Overview
For a full list of properties accessible via DotLiquid, please visit: https://serviceminder.io/support/dotliquid
Appointment Example
{% comment %}Create table of full width, centered relative to the page.{% endcomment %} <Table width="575" align="center"> {% comment %}Define relative column widths.{% endcomment %} <Columns> <Column width="2" /> <Column width="3" /> <Column width="2" /> <Column width="1" /> <Column width="1" /> <Column width="2" /> </Columns> <Cells> {% comment %}Column Headers - make sure you have a reverse font defined!{% endcomment %} <Cell align="center" background-color="0,0,0" font-name="reverse">Option</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Item</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Description</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Qty</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Unit Price</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Extended</Cell> {% comment %}Service Line{% endcomment %} <Cell></Cell> <Cell>{{model.service.name | xml_encode}}</Cell> <Cell>{{model.description | xml_encode}}</Cell> <Cell>{{model.quantity}}</Cell> <Cell>{{model.unit_price_formatted}}</Cell> <Cell>{{model.extended_total_service_formatted}}</Cell> {% comment %}Part Lines Loop{% endcomment %} {% for line in model.proposal.proposal_lines %} <Cell>{{line.proposal_option.name | xml_encode}}</Cell> <Cell>{{line.part.name | xml_encode}}</Cell> <Cell>{{line.description | xml_encode}}</Cell> <Cell>{{line.quantity}}</Cell> <Cell>{{line.unit_price_formatted}}</Cell> <Cell>{{line.extended_total_formatted}}</Cell> {% endfor %} </Cells> </Table>
{% comment %}Create table of full width, centered relative to the page.{% endcomment %} <table> {% comment %}Define relative column widths.{% endcomment %} <thead> <tr> <th>Option</th> <th>Item</th> <th>Description</th> <th>Qty</th> <th>Unit Price</th> <th>Extended</th> </tr> </thead> <tbody> <tr> {% comment %}Service Line{% endcomment %} <Cell></td> <Cell>{{model.service.name | html_encode}}</td> <Cell>{{model.description | html_encode}}</td> <Cell>{{model.quantity}}</td> <Cell>{{model.unit_price_formatted}}</td> <Cell>{{model.extended_total_service_formatted}}</td> </tr> {% comment %}Part Lines Loop{% endcomment %} {% for line in model.proposal.proposal_lines %} <tr> <td>{{line.proposal_option.name | html_encode}}</td> <td>{{line.part.name | html_encode}}</td> <td>{{line.description | html_encode}}</td> <td>{{line.quantity}}</td> <td>{{line.unit_price_formatted}}</td> <td>{{line.extended_total_formatted}}</td> <tr> {% endfor %} </tbody> </table>
Proposal Example
These snippets should provide you with a simple display of your proposal body.
{% comment %}Create table of full width, centered relative to the page.{% endcomment %} <Table width="575" align="center"> {% comment %}Define relative column widths.{% endcomment %} <Columns> <Column width="2" /> <Column width="3" /> <Column width="2" /> <Column width="1" /> <Column width="1" /> <Column width="2" /> </Columns> <Cells> {% comment %}Column Headers - make sure you have a reverse font defined!{% endcomment %} <Cell align="center" background-color="0,0,0" font-name="reverse">Option</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Item</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Description</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Qty</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Unit Price</Cell> <Cell align="center" background-color="0,0,0" font-name="reverse">Extended</Cell> {% comment %}Service Line{% endcomment %} <Cell></Cell> <Cell>{{model.service.name | xml_encode}}</Cell> <Cell>{{model.description | xml_encode}}</Cell> <Cell>{{model.quantity}}</Cell> <Cell>{{model.unit_price_formatted}}</Cell> <Cell>{{model.extended_total_service_formatted}}</Cell> {% comment %}Part Lines Loop{% endcomment %} {% for line in model.proposal_lines %} {% comment %}Omit unselected option lines.{% endcomment %} {% if line.proposal_option == null or line.proposal_option.selected != false %} <Cell>{{line.proposal_option.name | xml_encode}}</Cell> <Cell>{{line.part.name | xml_encode}}</Cell> <Cell>{{line.description | xml_encode}}</Cell> <Cell>{{line.quantity}}</Cell> <Cell>{{line.unit_price_formatted}}</Cell> <Cell>{{line.extended_total_formatted}}</Cell> {% endif %} {% endfor %} </Cells> </Table>
Preview
<!-- Style tags add border to table --> <style> #proposal-table, #proposal-table th, #proposal-table td { border: solid 1px black; border-collapse: collapse; } </style> <!-- Create table of full width, centered relative to the page. --> <table id="proposal-table" style="margin: 0 auto; width: 100%; table-layout: fixed;"> <thead> <!-- Column Headers --> <tr> <th style="background-color: #cfad80; text-align: center; font-weight: bold;">Option</th> <th style="background-color: #cfad80; text-align: center; font-weight: bold;">Item</th> <th style="background-color: #cfad80; text-align: center; font-weight: bold;">Description</th> <th style="background-color: #cfad80; text-align: center; font-weight: bold;">Quantity</th> <th style="background-color: #cfad80; text-align: center; font-weight: bold;">Unit Price</th> <th style="background-color: #cfad80; text-align: center; font-weight: bold;">Extended</th> </tr> </thead> <tbody> <!-- Service Line --> <tr> <td></td> <td>{{model.service.name | xml_encode}}</td> <td>{{model.description | xml_encode}}</td> <td style="text-align: right;">{{model.quantity}}</td> <td style="text-align: right;">{{model.unit_price_formatted}}</td> <td style="text-align: right;">{{model.extended_total_service_formatted}}</td> </tr> <!-- Part Lines Loop --> <!-- {% for line in model.proposal_lines %} --> <!-- Omit unselected option lines --> <!-- {% if line.proposal_option == null or line.proposal_option.selected != false %} --> <tr> <td>{{line.proposal_option.name | xml_encode}}</td> <td>{{line.part.name | xml_encode}}</td> <td>{{line.description | xml_encode}}</td> <td style="text-align: right;">{{line.quantity}}</td> <td style="text-align: right;">{{line.unit_price_formatted}}</td> <td style="text-align: right;">{{line.extended_total_formatted}}</td> </tr> <!-- {% endfor %} --> </tbody> </table>