Print Templates

Customize Receipt Templates
Export and Import Customized Receipts
Receipt Content Reference

Most of the receipts that print from the Evergreen staff client software are managed via the Print Template Editor Administration → Workstation → Print Templates and can be customized on an individual workstation basis. Typically, library systems will set up the receipts the way they want them to print out on one workstation at a branch, then export the settings as a file and import that file to each of the other workstations at that branch.

If Hatch is installed receipts can be forced to use specific printer settings, Printer Settings can be set at Administration → Workstation → Printer Settings.

This is a complete list of the receipts currently in use in Evergreen.

List of Receipts

Customize Receipt Templates

  1. In Evergreen, go to Administration → Workstation → Print Templates.
  2. Select the Template Name of the receipt you wish to customize.

    images/admin/printtemplate1.png
  3. If you are using Hatch, you can choose different printers for different types of receipts with the Force Content field. If not, leave that field blank.
  4. Make changes in the Template field.
  5. Click Save Locally.

    images/admin/printtemplate2.png

Formatting

The print templates follow W3C HTML standards http://w3schools.com/html/default.asp.

Print templates use variables for various pieces of information coming from the Evergreen database. These variables deal with everything from the library name to the due date of an item. Information from the database is entered in the templates with curly brackets. Different types of print templates have access to different pieces of information. Example: {{checkout.title}}

Some print templates have sections that are repeated for each item in a list. For example, the portion of the Checkout print template below repeats every item that is checked out in HTML list format by means of the ng-repeat in the li tag.

<ol>
<li ng-repeat="checkout in circulations">
<b>{{checkout.title}}</b><br/>
Barcode: {{checkout.copy.barcode}}<br/>
Due: {{checkout.circ.due_date | date:"short"}}<br/>
</li>
</ol>

Table 46.1. Text Formatting

Goal Original Code Result

Bold (HTML)

hello

<b>hello</b>

hello

Bold (CSS)

hello

<span style="font-weight:bold;">hello</span>

hello

Capitalize

circulation

<span style="text-transform:capitalize;">circulation</span>

Circulation

Currency

1

{{1 | currency}}

$1.00


Table 46.2. Date Formatting

Code Result

{{today}}

2017-08-01T14:18:51.445Z

{{today | date:'short'}}

8/1/17 10:18 AM

{{today | date:'M/d/yyyy'}}

8/1/2017


Table 46.3. Currency Formatting

Code Result

{{xact.summary.balance_owed | currency}}

$2.50


Conditional Formatting

You can use Angular JS to only print a line if the data matches. For example:

`$$<div ng-if="hold.email_notify == 't'">Notify by email: {{patron.email}}</div>$$`

This will only print the “Notify by email:” line if email notification is enabled for that hold.

See also: https://docs.angularjs.org/api/ng/directive/ngIf

Substrings

To print just a substring of a variable, you can use a limitTo function: {{variable | limitTo:limit}} where limit is the number of characters you want.

Original

Code

Result

The Sisterhood of the Traveling Pants

{{checkout.title | limitTo:10}}

The Sisterhood of th

123456789

{{patron.card.barcode | limitTo:-5}}

56789

Images

You can use HTML and CSS to add an image to your print template if you have the image uploaded onto a publicly available web server.

Sort Order

You can sort the items in an ng-repeat block using orderBy. For example, the following will sort a list of holds by the shelving location first, then by the call number:

`$$<tr ng-repeat="hold_data in holds | orderBy : ['copy.location.name','volume.label']">$$`

Export / Import Customized Templates

To set up all workstations in a branch in the same way, set up one workstation’s receipt templates completely, then use the “Export Customized Templates” to save an external file that you can then Import into other workstations. See link

Reset Print Templates to Default

The web client doesn’t have a built-in option to reset the print templates to default, but they should reset if you clear your entire browser cache. You could also un-zip the file below and import the file it contains.

WARNING:

Clearing your browser’s cache/temporary files will clear any print template customizations that you make. Be sure to export a copy of your customizations as a backup so that you can import it as needed.

Export and Import Customized Receipts

Once you have your receipts set up on one machine you can export your receipts, and then load them on to another machine. Just remember to 'Save Locally' once you import the receipts on the new machine.

Export templates

As you can only save a template on to the computer you are working on you will need to export the template if you have more than one computer that prints out receipts (i.e., more than one computer on the circulation desk, or another computer in the workroom that you use to checkin items or capture holds with)

  1. Export.
  2. Select the location to save the template to, name the template, and click Save.
  3. Click OK.

Import Templates

  1. Click Import.
  2. Navigate to and select the template that you want to import. Click Open.
  3. Click OK.
  4. Click Save Locally.
  5. Click OK.

Receipt Content Reference

Table 46.4. Any Type of Print Template

Tag Notes

{{current_location.name}}

Current library’s full name

{{current_location.shortname}}

Current library’s short name

{{current_location.email}}

Current library’s email address

{{current_location.phone}}

Current library’s phone number

{{today}}

Today’s time and date - raw data

{{today|date:'short'}}

Readable time and date: 8/1/17 10:18 AM

{{today|date:'M/d/yyyy'}}

Date only: 8/1/2017

{{staff.first_given_name}}

Staff first name


Table 46.5. Bills, Current

Tag Notes

{{xact.summary.balance_owed}}

Balance remaining

{{xact.copy_barcode}}

Barcode

{{xact.id}}

Bill ID

{{xact.xact_start}}

Bill start date

{{xact.summary.xact_type}}

Bill type (circulation vs. grocery)

{{xact.summary.last_billing_note}}

Last billing note

{{xact.summary.last_billing_type}}

Last billing type

{{xact.summary.last_payment_note}}

Last payment note

{{xact.summary.last_payment_type}}

Last payment type

{{xact.title}}

Title

{{xact.summary.total_owed}}

Total billed

{{xact.summary.total_paid}}

Total paid


Table 46.6. Bills, Historical

Tag Notes

{{xact.summary.balance_owed}}

Balance remaining

{{xact.copy_barcode}}

Barcode

{{xact.id}}

Bill ID

{{xact.xact_start}}

Bill start date

{{xact.summary.xact_type}}

Bill type (circulation vs. grocery)

{{xact.summary.last_billing_type}}

Last billing type

{{xact.summary.total_owed}}

Total billed

{{xact.summary.total_paid|currency}}

Total paid

{{xact.summary.last_billing_note}}

Last billing note

{{xact.summary.last_billing_type}}

Last billing type

{{xact.summary.last_payment_note}}

Last payment note

{{xact.summary.last_payment_type}}

Last payment type

{{xact.title}}

Title

{{xact.summary.total_owed}}

Total billed

{{xact.summary.total_paid}}

Total paid


Table 46.7. Bills, Payment

Tag Notes

{{payment_applied}}

Amount paid

{{amount_voided}}

Amount voided

{{change_given}}

Change given

{{payment_note}}

Payment note

{{payment_type}}

Payment type

{{previous_balance}}

Previous balance

{{new_balance}}

Remaining balance

{{payment.xact.copy_barcode}}

Barcode

{{payment.xact.summary.last_billing_type}}

Last billing type

{{payment.xact.id}}

Payment ID

{{payment.amount}}

Payment received

{{payment.xact.title}}

Title


Table 46.8. Checkin

Tag Notes

{{checkin.copy_barcode}}

Barcode

{{checkin.call_number.label||"Not Cataloged"}}

Call Number (if no call number, displays “Not Cataloged”)

{{checkin.title}}

Title


Table 46.9. Checkout

Tag Notes

{{patron_money.balance_owed}}

Amount Owed

{{checkout.author}}

Author

{{checkout.copy_barcode}}

Barcode

{{checkout.call_number.label}}

Call Number

{{checkout.circ.due_date}}

Due Date

{{checkout.copy.price}}

Price

{{checkout.title}}

Title


Table 46.10. Hold Pull List

Tag Notes

{{hold_data.author}}

Author

{{hold_data.copy.barcode}}

Barcode

{{hold_data.volume.label}}

Call number

{{hold_data.hold.hold_type}}

Hold type

{{hold_data.part.label}}

Part

{{hold_data.copy.location.name}}

Shelving location

{{hold.title}}

Title


Table 46.11. Hold Shelf Slip

Tag Notes

{{call_number.label}}

Call Number

{{today}}

Hold available date

div ng-switch on="hold.behind_desk">div ng-switch-when="t">strong>Private - Hold Behind Desk/strong>/div>div ng-switch-when="f">strong>Public Holds Shelf/strong>/div>/div>

Hold location (Hold behind desk or public holds shelf)

ol>li ng-repeat="note in hold_notes|filter: {slip : 't'}">strong>{{note.title}}/strong>br/>{{note.body}}/li>/ol>

Hold Notes

{{hold.request_time | date:'M/d/yyyy'}}

Hold request date

{{hold.shelf_expire_time | date:'M/d/yyyy'}}

Hold shelf expire date

{{author}}

Item author

{{copy.barcode}}

Item barcode

{{title}}

Item title

{{hold.email_notify}}

Returns true or false flag

{{hold.phone_notify}}

Notification phone number

{{hold.sms_notify}}

Notification SMS text number

{{patron.card.barcode}}

Patron barcode

{{patron.email}}

Patron email address

{{patron.first_given_name}}

Patron first name

{{patron.family_name}}

Patron last Name

{{patron.second_given_name}}

Patron middle name


Table 46.12. Hold Transit Slip

Tag Notes

{{dest_address.city}}

Destination city

{{dest_courier_code}}

Destination courier code

{{dest_location.name}}

Destination full name

{{dest_location.shortname}}

Destination short name

{{dest_address.state}}

Destination state

{{dest_address.street1}}

Destination street address 1

{{dest_address.street2}}

Destination street address 2

{{dest_address.post_code}}

Destination zip code

{{hold.behind_desk}}

Hold behind desk

{{hold.request_time}}

Hold request date

{{author}}

Item author

{{copy.barcode}}

Item barcode

{{title}}

Item title

{{hold.email_notify}}

Notification email address

{{hold.phone_notify}}

Notification phone number

{{hold.sms_notify}}

Notification SMS text number

{{patron.card.barcode}}

Patron barcode

{{patron.first_given_name}}

Patron first name

{{patron.family_name}}

Patron last Name

{{patron.second_given_name}}

Patron middle name


Table 46.13. Holds for Bib Record

Tag Notes

{{holds[0].title}}

Title

{{hold_data.author}}

Author

{{hold.copy.barcode}}

Hold target copy barcode

{{hold.hold.request_time}}

Hold request date

{{hold.patron_barcode}}

Patron barcode

{{hold.patron_alias}}

Patron hold alias

{{hold.patron_last}}

Patron last name


Table 46.14. Holds for Patron

Tag Notes

{{hold.author}}

Author

div ng-if="hold.hold.email_notify == 't'"> {{hold.hold.requestor.email}} /div>

Notify by email (shows email only if selected)

{{hold.hold.phone_notify}}

Notify by phone (shows number)

{{hold.hold.sms_notify}}

Notify by SMS text (shows number)

{{hold.hold.pickup_lib.name}}

Pickup library

{{hold.hold.request_time}}

Request date

{{hold.title}}

Title


Table 46.15. In-House Use List

Tag Notes

{{ihu.copy.barcode}}

Barcode

{{ihu.num_uses}}

Number of uses


Table 46.16. Item Status

Tag Notes

{{copy.barcode}}

Barcode

{{copy['call_number.record.simple_record.title']}}

Title


Table 46.17. Items Out

Tag Notes

{{checkout.copy.barcode}}

Barcode

{{checkout.circ.due_date}}

Due date

{{checkout.title}}

Title


Table 46.18. Patron Address

Tag Notes

{{patron.first_given_name}}

Patron first name

{{patron.second_given_name}}

Patron middle name

{{patron.family_name}}

Patron last name

{{address.street1}}

Street address 1

{{address.street2}}

Street address 2

{{address.city}}

City

{{address.state}}

State

{{address.post_code}}

Zip code


Table 46.19. Patron Note

Tag Notes

{{note.value}}

Note contents

{{note.create_date}}

Note creation date

{{note.title}}

Note title

{{note.usr.card.barcode}}

Patron barcode

{{note.usr.first_name}}

Patron first name

{{note.usr.family_name}}

Patron last name

{{note.usr.second_given_name}}

Patron middle name


Table 46.20. Renew

Tag Notes

{{renewal.copy.barcode}}

Barcode

{{renewal.circ.due_date}}

Due date

{{renewal.title}}

Title


Table 46.21. Transit List

Tag Notes

{{transit.target_copy.barcode}}

Barcode

{{transit.source_send_time}}

Date sent

{{transit.dest.shortname}}

Short name of destination library

{{transit.source.shortname}}

Short name of sending library

{{transit.target_copy.call_number.record.simple_record.title}}

Title


Table 46.22. Transit Slip

Tag Notes

{{dest_address.city}}

Destination city

{{dest_courier_code}}

Destination courier code

{{dest_location.name}}

Destination full name

{{dest_location.shortname}}

Destination short name

{{dest_address.state}}

Destination state

{{dest_address.street1}}

Destination street address 1

{{dest_address.street2}}

Destination street address 2

{{dest_address.post_code}}

Destination zip code

{{author}}

Item author

{{copy.barcode}}

Item barcode

{{title}}

Item title


Copyright © 2008-2018, BC Libraries Cooperative