From 0f4113a1ca958431acc0937e87b801aed3ddae1c Mon Sep 17 00:00:00 2001 From: Lynn Floyd Date: Mon, 30 Apr 2018 18:45:41 -0400 Subject: [PATCH] Docs: Update "Receipt Template Editor" for Web Client Completely rewritten chapter. Many thanks to Terran McCanna, as much was borrowed from her wiki pages. Signed-off-by: Lynn Floyd Signed-off-by: Remington Steed --- docs/admin/receipt_template_editor.adoc | 257 +++++++ ...station_admin_receipt_template_editor.adoc | 628 ------------------ docs/media/receipt1.png | Bin 0 -> 17385 bytes docs/media/receipt2.png | Bin 0 -> 46942 bytes docs/root.adoc | 2 +- docs/root_staff_client_admin.adoc | 2 +- 6 files changed, 259 insertions(+), 630 deletions(-) create mode 100644 docs/admin/receipt_template_editor.adoc delete mode 100644 docs/admin/workstation_admin_receipt_template_editor.adoc create mode 100644 docs/media/receipt1.png create mode 100644 docs/media/receipt2.png diff --git a/docs/admin/receipt_template_editor.adoc b/docs/admin/receipt_template_editor.adoc new file mode 100644 index 0000000000..a71d456bc3 --- /dev/null +++ b/docs/admin/receipt_template_editor.adoc @@ -0,0 +1,257 @@ +Receipt Template Editor +----------------------- +indexterm:[web client, receipt template editor] +indexterm:[receipt template editor] +indexterm:[receipt template editor, macros] +indexterm:[receipt template editor, checkout] + +The print templates follow W3C HTML standards (see +http://w3schools.com/html/default.asp) and can make use of CSS and +https://angularjs.org[Angular JS] to a certain extent. + +The Receipt Template Editor can be found at: *Administration -> Workstation -> +Print Templates* + +The Editor can also be found on the default home page of the staff client. + +Receipts come in various types: Bills, checkout, items, holds, transits and +Payments. + +Receipt Templates +~~~~~~~~~~~~~~~~~ +This is a complete list of the receipts currently in use in Evergreen. + +[horizontal] +.List of Receipts +*Bills, Current*:: Listing of current bills on an account. +*Bills, Historic*:: Listing of bills that have had payments made on them. This + used on the Bill History Transaction screen. +*Bills, Payment*:: Patron payment receipt +*Checkin*:: List of items that have been entered in to the check-in screen. +*Checkout*:: List of items currently checked out by a patron during the transaction. +*Hold Transit Slip*:: This is printed when a hold goes in-transit to another library. +*Hold Shelf Slip*:: This prints when a hold is fulfilled. +*Holds for Bib Record*:: Prints a list of holds on a Title record. +*Holds for Patron*:: Prints a list of holds on a patron record. +*Hold Pull List*:: Prints the Holds Pull List. +*Hold Shelf List*:: Prints a list of hold that are waiting to be picked up. +*In-House Use List*:: Prints a list of items imputed into In-house use. +*Item Status*:: Prints a list of items imputed into Item Status. +*Items Out*:: Prints the list of items a patron has checked out. +*Patron Address*:: Prints the current patrons address. +*Patron Note*:: Prints a note on a patron's record. +*Renew*:: List of items that have been renewed using the Renew Item Screen. +*Transit List*:: Prints the list of items in-transit from the Transit List. +*Transit Slip*:: This is printed when an items goes in-transit to another location. + + +Editing Receipts +~~~~~~~~~~~~~~~~ + +To edit a Receipt: + +. Select *Administration -> Workstation -> Print Templates*. + +. Choose the Receipt in the drop down list. +. 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. + Printer Settings can be set at *Administration -> Workstation -> Printer + Settings*. ++ +image::media/receipt1.png[select checkout] ++ +. Make edits to the Receipt on the right hand side. ++ +image::media/receipt2.png[receipt screen] ++ +. Click out of the section you are editing to see what your changes will look + right on the Left hand side. +. Click *Save Locally* in the Upper right hand corner. + + +Formatting Receipts +^^^^^^^^^^^^^^^^^^^ + +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 `{{term}}`. + +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. + +------ +
    +
  1. +{{checkout.title}}
    +Barcode: {{checkout.copy.barcode}}
    +Due: {{checkout.circ.due_date | date:"short"}}
    +
  2. +
+------ + +Text Formatting +^^^^^^^^^^^^^^^ + +General text formatting +|======================================================================================== +| Goal | Original | Code | Result +| Bold (HTML) | hello | hello | *hello* +| Bold (CSS) | hello | hello | *hello* +| Capitalize | circulation | circulation | Circulation +| Currency | 1 | {{1 \| currency}} | $1.00 +|======================================================================================== + +Date Formatting +^^^^^^^^^^^^^^^ + +If you do not format dates, they will appear in a system format which isn't +easily readable. + +|=================================================== +| 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 +|=================================================== + +Currency Formatting +^^^^^^^^^^^^^^^^^^^ + +Add " | currency" after any dollar amount that you wish to display as currency. + +Example: +`{{xact.summary.balance_owed | currency}}` prints as `$2.50` + + +Conditional Formatting +^^^^^^^^^^^^^^^^^^^^^^ + +You can use Angular JS to only print a line if the data matches. For example: + +`
Notify by email: {{patron.email}}
` + +This will only print the "Notify by email:" line if email notification is +enabled for that hold. + +Example for checkout print template that will only print the amount a patron +owes if there is a balance: + +`You owe the library +${{patron_money.balance_owed}}` + +See also: https://docs.angularjs.org/api/ng/directive/ngIf + +Substrings +^^^^^^^^^^ + +To print just a sub-string of a variable, you can use a *limitTo* function. +`{{variable | limitTo:limit:begin}}` where *limit* is the number of characters +you are wanting, and *begin* (optional) is where you want to start printing +those characters. To limit the variable to the first four characters, you can +use `{{variable | limitTo:4}}` to get "vari". To limit to the last five +characters you can use `{{variable | limitTo:-5}}` to get "iable". And +`{{variable | limitTo:3:3}}` will produce "ria". + +|======================================================================================== +| Original | Code | Result +| The Sisterhood of the Traveling Pants | {{checkout.title \| limitTo:10}} | The Sisterhood of th +| 123456789 | {{patron.card.barcode \| limitTo:-5}} | 56789 +| Roberts | {{patron.family_name \| limitTo:3:3}} | ber +|======================================================================================== + + +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. (It will currently only +work with images on a secure (https) site.) For example: + +`` + +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: + +`` + +Subtotals +^^^^^^^^^ + +You can use Angular JS to add information from each iteration of a loop together +to create a subtotal. This involves setting an initial variable before the +ng-repeat loop begins, adding an amount to that variable from within each loop, +and then displaying the final amount at the end. + +------ +
You checked out the following items:
+
+
+
    +
    +
  1. + {{checkout.title}}
    + Barcode: {{checkout.copy.barcode}}
    + Due: {{checkout.circ.due_date | date:"M/d/yyyy"}} +
  2. +
    +
+
Total Amount Owed: {{patron_money.balance_owed | currency}}
+
+You Saved
+{{transactions.subtotal | currency}}
+by borrowing from the library!
+------ +<1> This line sets the variable. +<2> This adds the list item's price to the variable. +<3> This prints the total of the variable. + +Exporting and importing 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. + +Exporting 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) + +. Export. +. Select the location to save the template to, name the template, and click +*Save*. +. Click OK. + +Importing Templates +^^^^^^^^^^^^^^^^^^^ + +. Click Import. +. Navigate to and select the template that you want to import. Click Open. +. Click OK. +. Click *Save Locally*. +. Click OK. + + +WARNING: Clearing your browser's cache/temporary files will clear any print +template customizations that you make unless you are using Hatch to store your +customizations. Be sure to export a copy of your customizations as a backup so +that you can import it as needed. + +TIP: If you are modifying your templates and you do not see the updates appear +on your printed receipt, you may need to go into *Administration -> Workstation +-> Stored Preferences* and delete the stored preferences related to the print +template that you modified (for example, eg.print.template_context.bills_current). diff --git a/docs/admin/workstation_admin_receipt_template_editor.adoc b/docs/admin/workstation_admin_receipt_template_editor.adoc deleted file mode 100644 index 70a2ecdad6..0000000000 --- a/docs/admin/workstation_admin_receipt_template_editor.adoc +++ /dev/null @@ -1,628 +0,0 @@ -Receipt Template Editor ------------------------ -indexterm:[receipt template editor] -indexterm:[receipt template editor, macros] -indexterm:[receipt template editor, checkout] - -There are many default receipt templates included with the Evergreen staff client. These templates are saved on individual workstations. Customization can be done workstation by workstation or by exporting the templates to import to other workstations. - -All receipts in Evergreen follow a basic format of a _Header_, _Line item_ and _Footer_. - -The receipt templates follow full W3C html. http://w3schools.com/html/default.asp. - -The Receipt Template Editor can be found at: *Administration -> Workstation Administration -> Receipt Template Editor* - -The Editor can also be found on the default home page of the staff client. - -Receipts come in various types: Bills, checkout, items, holds, transits and Payments. - -To edit a Receipt: - -. Select *Administration -> Workstation Administration -> Receipt Template Editor*. - -. Choose the Receipt in the drop down list. -+ -image::media/receipt-2.png[select checkout] -+ -. Make edits to the Receipt on the right hand side. -+ -image::media/receipt-3.jpg[receipt-3] -+ -. Click out of the section you are editing to see what your changes will look right on the Left hand side. -+ -image::media/receipt-3.jpg[receipt-3] -+ -. Click ''Save Locally'' in the Upper right hand corner. -+ -image::media/receipt-15.jpg[receipt-15] - - -Receipt templates use macros for various pieces of information coming from the Evergreen database. Macros deal with everything from the Library name to the due date of an item. See list <>. You can also click on MACROS on the screen to see the macros that are available for a given receipt. - -IMPORTANT: *Remember:* Not all Macros listed on the pop up screen will work. The listing of macros are drawn from the table that the receipt pulls information from. Some of the tables will not have any data in some of the fields. Example is the %mbts_xact_finish% on the Bills Current Slip, as this is a list of current bills, they would not have a finish date. - -Exporting and importing 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. - -Exporting 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) - -. Export. -. Select the location to save the template to, name the template, and click Save. -. Click OK. -+ -image::media/receipt-17.jpg[receipt-17] - - -Importing Templates -^^^^^^^^^^^^^^^^^^^ - -. Click Import. -+ -image::media/receipt-20.jpg[receipt-20] -+ -. Navigate to and select the template that you want to import. Click Open. -+ -image::media/receipt-21.jpg[receipt-21] -+ -. Click OK. -. Click Save Locally. -. Click OK. -+ -image::media/receipt-23.jpg[receipts-23] - -Receipt Customizations -~~~~~~~~~~~~~~~~~~~~~~ - -Customizing the receipts is fairly simple once you realize what can be placed in each of the sections of the receipts. One thing to remember when customizing receipts to always ''Save Locally''. Checkouts, Hold Slip, Hold Transit Slip are customized below. - -TIP: Always remember to ''Save Locally''. - -Print Holds Slip with Landscape Layout -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -indexterm:[receipt template editor, holds receipt, layout] - -This feature enables you to use Mozilla-specific CSS to print holds with a landscape layout. To use the landscape layout: - -. Click *Admin* -> *Workstation Administration* -> *Receipt Template Editor*. -. Select *hold transit slip* from the *Template Name* drop down menu. -. Enter
before and after the block of text that you wish to rotate. -. Enter the stylesheet text in the
bracket that appears before the block of text that you wish to rotate: -+ -[source, html] ------------------------- -
------------------------- -. When you click out of this box, notice that the text in the *Preview* box on the left side of the screen has rotated 90 degrees. -. You can further customize the look of the text by adjusting its height and width. The height and width that you specify will be unique to your printer. -+ -For example, you could add the following height and width to your rotated text: -+ -[source, html] ------------------------- -
------------------------- -+ -image::media/Print_Holds_Slip1.jpg[Print_Holds_Slip1] -+ -. The holds slip will print with the configured text in a landscape layout: -+ -image::media/Print_Holds_Slip2.jpg[Print_Holds_Slip2] - -Checkout -^^^^^^^^ -This is the receipt that prints when items are checked out to individuals. Item you can customize are adding the library logo, adding information about renewals on the bottom of the receipt. If you notice at the end of the Footer the
.
, the allows an auto cut printer a little extra room so it will not cut the phone number off. The period is needed so the extra lines are added. - -Header -[source,html] ----------------------------------------------------------------------------------- -
-Welcome to %LIBRARY%!
-You checked out the following items: -
-
    ----------------------------------------------------------------------------------- -Line Item -[source,html] ----------------------------------------------------------------------------------- -
  1. %title%
    -By: %author%
    -Barcode: %barcode%
    -Due: %due_date% ----------------------------------------------------------------------------------- -Footer -[source,html] ----------------------------------------------------------------------------------- -
-
-%SHORTNAME% %TODAY_TRIM%
-You were helped by %STAFF_FIRSTNAME%
-
-
If you want to renew your materials please visit
-www.library.org
-or call us at ###-###-####
-
-
-.
----------------------------------------------------------------------------------- - -Hold_Slip #1 -^^^^^^^^^^^^^ -This is the slip that prints when a hold is fulfilled. Things to customize are the patrons name at the top of the slip, Bold the %hold_for_msg%, among others. - -Header -[source,html] ----------------------------------------------------------------------------------- -%PATRON_LASTNAME%, %PATRON_FIRSTNAME% -



-This item needs to be routed to %route_to%:
-Barcode: %item_barcode%
-Title: %item_title%
-
-%hold_for_msg%
-Barcode: %PATRON_BARCODE%
-Notify by phone: %notify_by_phone%
-Notify by email: %notify_by_email%
----------------------------------------------------------------------------------- -Line Item -[source,html] ----------------------------------------------------------------------------------- -%formatted_note%
----------------------------------------------------------------------------------- -Footer -[source,html] ----------------------------------------------------------------------------------- -Request date: %request_date%
-
-Slip Date: %TODAY_D% %TODAY_I%:%TODAY_M%
-Printed by %STAFF_FIRSTNAME% at %SHORTNAME%
.
----------------------------------------------------------------------------------- - -Hold_Slip #2 -^^^^^^^^^^^^^ -This is the slip that prints when a hold is fulfilled. This slip uses the SUBSTR macro to truncate the Patrons Last name to the first 4 characters and the patron's barcode to the last 5 digits. This slip is designed for libraries that use self-serve holds. So, you will notice a lot of information about the hold is left off of the receipt. - -Header -[source,html] ----------------------------------------------------------------------------------- -

- -%SUBSTR(0,4)%%PATRON_LASTNAME%%SUBSTR_END% - %SUBSTR(-5)%%PATRON_BARCODE%%SUBSTR_END% -

-



-This item needs to be routed to %route_to%:
-Barcode: %item_barcode%
-Title: %item_title%
-
-Notify by phone: %notify_by_phone%
----------------------------------------------------------------------------------- -Line Item -[source,html] ----------------------------------------------------------------------------------- -%formatted_note%
----------------------------------------------------------------------------------- -Footer -[source,html] ----------------------------------------------------------------------------------- -Request date: %request_date%
-

-Slip Date: %TODAY_TRIM%
-Printed by %STAFF_FIRSTNAME% at %SHORTNAME%
.
----------------------------------------------------------------------------------- - -Hold_transit_slip -^^^^^^^^^^^^^^^^^^ -This is the slip that is printed when an Item is needed at another library for a hold. In this customization, the address of the library is removed, The library's shortname size is increased, and made a little more notable at top, and the patron's phone number and email address is removed from the slip. - -Header -[source,html] ----------------------------------------------------------------------------------- -Route to %route_to%


-This item needs to be routed to %route_to%:
-%route_to_org_fullname%

-Barcode: %item_barcode%
-Title: %item_title%
-Author: %item_author%

-%hold_for_msg%
-Barcode: %PATRON_BARCODE%
----------------------------------------------------------------------------------- -Line Item -[source,html] ----------------------------------------------------------------------------------- -%formatted_note%
----------------------------------------------------------------------------------- -Footer -[source,html] ----------------------------------------------------------------------------------- -
Request date: %request_date%
-Slip Date: %TODAY_TRIM%
-Printed at %SHORTNAME%
-

.
----------------------------------------------------------------------------------- - -Receipt Templates -~~~~~~~~~~~~~~~~~ -This is a complete list of all the receipts currently in use in Evergreen. - -[horizontal] -*item_status*:: -type::: items -description::: Listing of items inputted in to Item Status. -default format::: -header:::: The following items have been examined:
    -line_item::::
  1. %title%
    Barcode: %barcode% -footer::::

%SHORTNAME% %TODAY_TRIM%

- -*transit_list*:: -type::: transits -description::: List of items in transit. -default format::: -header:::: Transits:
    -line_item::::
  1. From: %transit_source% To: %transit_dest_lib%
    When: %transit_source_send_time%
    Barcode: %transit_item_barcode% Title: %transit_item_title%
    -footer::::

%SHORTNAME% %TODAY_TRIM%

- -*items_out*:: -type::: items -description::: List of items a patron has checked out. -default format::: -header:::: Welcome to %LIBRARY%!
You have the following items:
    -line_item::::
  1. %title%
    Barcode: %barcode% Due: %due_date% -footer::::

%SHORTNAME% %TODAY_TRIM%
You were helped by %STAFF_FIRSTNAME%

- -*renew*:: -type::: items -description::: List of items that have been renewed using the renew item screen -default format::: -header:::: Welcome to %LIBRARY%!
You have renewed the following items::
    -line_item::::
  1. %title%
    Barcode: %barcode% Due: %due_date% -footer::::

%SHORTNAME% %TODAY_TRIM%
You were helped by %STAFF_FIRSTNAME%

- -*checkout*:: -type::: items -description::: List of items currently checked out to the patron during this transaction. -default format::: -header:::: Welcome to %LIBRARY%!
You checked out the following items::
    -line_item::::
  1. %title%
    Barcode: %barcode% Due: %due_date% -footer::::

%SHORTNAME% %TODAY_TRIM%
You were helped by %STAFF_FIRSTNAME%

- -*offline_checkout*:: -type::: offline_checkout -description::: List of items checked out via the Standalone interface. Remember that Standalone interface does not have access to the database. -default format::: -header:::: Patron %patron_barcode%
You checked out the following items::
    -line_item::::
  1. Barcode: %barcode%
    Due: %due_date% -footer::::

%TODAY_TRIM%

- -*checkin*:: -type::: items -description::: List of items that have just been entered in to the check-in screens. -default format::: -header:::: You checked in the following items:
    -line_item::::
  1. %title%
    Barcode: %barcode% Call Number: %call_number% -footer::::

%SHORTNAME% %TODAY_TRIM%

- -*bill_payment*:: -type::: payment -description::: Patron payment receipt -default format::: -header:::: -Welcome to %LIBRARY%!
-A receipt of your transaction: -
- - - - - - -
Original Balance: $%original_balance%
Payment Method: %payment_type%
Payment Received: $%payment_received%
Payment Applied: $%payment_applied%
Billings Voided: %voided_balance%
Change Given: $%change_given%
New Balance: $%new_balance%
-

Note: %note%

Specific bills:

-line_item:::: -Bill #%bill_id% %last_billing_type% Received: $%payment%
%barcode% %title%

-footer:::: -


%SHORTNAME% %TODAY_TRIM%

- -*bills_historical*:: -type::: bills -description::: Listing of bills that have had payments made on them. This is used on the Bill History Transaction screen. -default format::: -header:::: Welcome to %LIBRARY%!
You had the following bills:
    -line_item::::
    Bill #%mbts_id% %title%
    - - - - - - -
    Date::%mbts_xact_start%
    Type:%xact_type%
    Last Billing:%last_billing_type%
    %last_billing_note%
    Total Billed::$%total_owed%
    Last Payment::%last_payment_type%
    %last_payment_note%
    Total Paid::$%total_paid%
    Balance::$%balance_owed%

    -footer:::

%SHORTNAME% %TODAY_TRIM%

- -*bills_current*:: -type::: bills -description::: Listing of current bills for a patron. -default format::: -header:::: -Welcome to %LIBRARY%!
-You have the following bills:
    -line_item::::
    Bill #%mbts_id%
    - - - - - - -
    Date:%mbts_xact_start%
    Type:%xact_type%
    Last Billing:%last_billing_type%
    %last_billing_note%
    Total Billed:$%total_owed%
    Last Payment:%last_payment_type%
    %last_payment_note%
    Total Paid:$%total_paid%
    Balance:$%balance_owed%

    -footer::::

%SHORTNAME% %TODAY_TRIM%

- -*offline_checkin*:: -type::: offline_checkin -description::: List of item checked in via Standalone interface. Remember that Standalone interface does not have access to the database. -default format::: -header:::: You checked in the following items:
    -line_item::::
  1. Barcode: %barcode% -footer::::

%TODAY_TRIM%

- -*offline_renew*:: -type::: offline_renew -description::: List of items renewed via Standalone interface. Remember that Standalone interface does not have access to the database. -default format::: -header:::: You renewed the following items:
    -line_item::::
  1. Barcode: %barcode% -footer::::

%TODAY_TRIM%

- -*offline_inhouse_use*:: -type::: offline_inhouse_use -description::: List of item marked in-house use via Standalone interface. Remember that Standalone interface does not have access to the database. -default format::: -header:::: You marked the following in-house items used:
    -line_item::::
  1. Barcode: %barcode%Uses: %count% -footer::::

%TODAY_TRIM%

- -*in_house_use*:: -type::: items -description::: List of items inputted in to the In-house use. -default format::: -header:::: You marked the following in-house items used:
    -line_item::::
  1. Barcode: %barcode%Uses: %uses%
    %alert_message% -footer::::

%TODAY_TRIM%

- -*holds*:: -type::: holds -description::: List of items on hold for a patron. -default format::: -header:::: Welcome to %LIBRARY%!
You have the following titles on hold:
    -line_item::::
  1. %title% -footer::::

%SHORTNAME% %TODAY_TRIM%
You were helped by %STAFF_FIRSTNAME%

- -*holds_on_bib*:: -type::: holds -description::: This list is used to print the holds on a title record. -default format::: -header:::: Welcome to %LIBRARY%!
You have the following titles on hold:
    -line_item::::
  1. %title% -footer::::

%SHORTNAME% %TODAY_TRIM%
You were helped by %STAFF_FIRSTNAME%

- -*holds_for_patron*:: -description::: This list is used to print the holds on a patron record. -type::: holds -default format::: -header:::: Welcome to %LIBRARY%!
You have the following titles on hold:
    -line_item::::
  1. %title% -footer::::

%SHORTNAME% %TODAY_TRIM%
You were helped by %STAFF_FIRSTNAME%

- -*holds_shelf*:: -type::: holds -description::: This list is used to print the holds on the holds shelf. -default format::: -header:::: Welcome to %LIBRARY%!
You have the following titles on hold:
    -line_item::::
  1. %title% -footer::::

%SHORTNAME% %TODAY_TRIM%
You were helped by %STAFF_FIRSTNAME%

- -*holds_pull_list*:: -type::: holds -description::: This list is used to print the holds on the holds pull list. -default format::: -header:::: Welcome to %LIBRARY%!
You have the following titles on hold:
    -line_item::::
  1. %title% -footer::::

%SHORTNAME% %TODAY_TRIM%
You were helped by %STAFF_FIRSTNAME%

- -*hold_slip*:: -type::: holds -description::: This is printed when a hold is fulfilled. -default format::: -header:::: This item needs to be routed to %route_to%:
Barcode: %item_barcode%
Title: %item_title%

%hold_for_msg%
Barcode: %PATRON_BARCODE%
Notify by phone: %notify_by_phone%
Notified by text: %notify_by_text%
Notified by email: %notify_by_email%
-line_item:::: %formatted_note%
-footer::::
Request date: %request_date%
Slip Date: %TODAY_TRIM%
Printed by %STAFF_FIRSTNAME% at %SHORTNAME%

- -*transit_slip*:: -type::: transits -description::: This is printed when a item goes into transit. -default format::: -header:::: -This item needs to be routed to %route_to%:
%route_to_org_fullname%
-%street1%
%street2%
-%city_state_zip%

-Barcode: %item_barcode%
-Title: %item_title%
-Author: %item_author%

-line_item:::: (Intentionally left blank) -footer:::: Slip Date: %TODAY_TRIM%
Printed by %STAFF_FIRSTNAME% at %SHORTNAME%

- -*hold_transit_slip*:: -type::: transits -description::: This is printed when a hold goes in-transit to another library. -default format::: -header:::: -This item needs to be routed to %route_to%:
%route_to_org_fullname%
-%street1%
%street2%
%city_state_zip%

-Barcode: %item_barcode%
-Title: %item_title%
-Author: %item_author%

-%hold_for_msg%
Barcode: %PATRON_BARCODE%
-Notify by phone: %notify_by_phone%
-Notified by text: %notify_by_text%
-Notified by email: %notify_by_email%
-line_item:::: %formatted_note%
-footer::::
Request date: %request_date%
Slip Date: %TODAY_TRIM%
Printed by %STAFF_FIRSTNAME% at %SHORTNAME%

- -*holdings_maintenance*:: -type::: items -description::: This is printed from holding maintenance. -default format::: -header:::: -Title: %title%
-Author: %author%
-ISBN: %isbn% Edition: %edition% PubDate: %pubdate%
-TCN: %tcn_value% Record ID: %mvr_doc_id%
-Creator: %creator% Create Date: %create_date%
-Editor: %editor% Edit Date: %edit_date%
-line_item:::: %prefix% %tree_location% %suffix% %parts% %acp_status%
-footer::::
%SHORTNAME% %TODAY_TRIM%

- -[[macros]] - -Receipt Template Editor Macros -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Here is a list of the Receipt Template Macros that are in use on the receipts. There are two types of macros General and type specific. General Macros can be used on any of the receipts. Type specific macros are available depending on the type of the receipt. - -General Macros -^^^^^^^^^^^^^^ -indexterm:[receipt template editor, macros] - -[horizontal] -%LIBRARY%:: Library full name -%SHORTNAME%:: Library Policy Name -%STAFF_FIRSTNAME%:: First name of Staff login account -%STAFF_LASTNAME%:: Last name of Staff login account -%STAFF_BARCODE%:: Barcode of Staff login account -%STAFF_PROFILE%:: Profile of Staff login account -%PATRON_FIRSTNAME%:: First name of Patron -%PATRON_LASTNAME%:: Last name of Patron -%PATRON_BARCODE% or %patron_barcode%:: Patron Barcode -%TODAY%:: Full Date and time in the format: Wed Sep 21 2011 13:20:44 GMT-0400 (Eastern Daylight Time) -%TODAY_TRIM%:: Date and time in a shorted format: 2011-09-21 13:21 -%TODAY_m%:: Two digit Month: 09 -%TODAY_d%:: Two digit Day: 21 -%TODAY_Y%:: Year: 2011 -%TODAY_H%:: Hour in 24 hour day: 13 -%TODAY_I%:: Hour in 12 hour format: 1 -%TODAY_M%:: Minutes of the Hour: 24 -%TODAY_D%:: date in standard US format: 09/21/11 -%TODAY_F%:: date in International Standard: 2011-09-21 -%-TRIM%:: Trims white space before the macro -%TRIM-%:: Trims white space after the macro -%SUBSTR(#)%...%SUBSTR_END%:: Take substring starting at position # to end of string. If # is negative count backwards from end of string. -%SUBSTR(#,#)%...%SUBSTR_END%:: Same as %SUBSTR(#)%, but limit to second provided number characters after start point. If second number is negative, count backwards instead of forwards. - -There are several macros that can carry pre-built contents specific to individual libraries. The contents can be set up in local administration. For details see <<_library_settings_editor, Library Settings>>. Though text can be hard-coded in receipt templates, the pre-built contents will be automatically applied to receipts printed from all workstations without editing each template. - -indexterm:[receipt template editor, includes] - -* %INCLUDE(notice_text)% -* %INCLUDE(alert_text)% -* %INCLUDE(event_text)% -* %INCLUDE(footer_text)%% -* %INCLUDE(header_text)% - -Additional Macros for various slip types -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -*Holds* - -[horizontal] -%ROUTE_TO%:: It should say Hold Shelf if it is a hold being fulfilled -%item_barcode%:: Item Barcode -%item_title%:: Item Title -%hold_for_msg%:: Hold for Message: this gives the patron's Name -%PATRON_BARCODE%:: Patron's Barcode -%notify_by_phone%:: Phone number listed in the Hold Database. This may not be the same as what is in the Patron's record, as they can list another number when placing the hold. -%notify_by_email%:: Email listed in Hold Database. Same as phone number -%request_date%:: The date that the Request was originally placed. -%formatted_note%:: Hold Notes (new to 2.1) -%notify_by_text%:: SMS contact number (new to 2.2) - -*Check out* - -[horizontal] -%title%:: Title -%author%:: Author -%barcode%:: Item Barcode -%due_date%:: Due Date: formatted by the date field in the library settings editor - -*Payment* - -[horizontal] -%original_balance%:: The original balance the patron owes -%payment_received%:: How much was received from the patron -%payment_applied%:: How much of the payment was applied -%payment_type%:: What type of payment was applied: IE Cash -%voided_balance%:: Any Voided balance -%change_given%:: How much change was given -%new_balance%:: The new balance on the account -%note%:: Any notes on the annotated payment -%bill_id% or %mbts_id%:: The id for the bill in the bill database -%payment%:: How much of the payment that was applied was applied to this title -%title%:: Title that the payment was applied to. -%last_billing_type%:: The type of bill that was last charged to the patron for this title -%last_billing_note%:: Notes on the last bill -%last_payment_type%:: The type of payment that was last used to pay the bill -%mbts_xact_start%:: The date that the bill was started -%last_payment_note%:: Notes on last payment -%xact_type%:: Type of Bill -%barcode%:: Item barcode -%title%:: title of item - -*Bills* - -[horizontal] -%mbts_id%:: The id for the bill in the bill database -%title%:: Title that the payment was applied to. -%last_billing_type%:: The type of bill that was last charged to the patron for this bill -%last_billing_note%:: Notes on the last bill -%last_billing_ts%:: The time stamp for the last billing -%last_payment_type%:: The type of payment that was last used to pay the bill -%last_payment_note%:: Notes on last payment -%last_payment_ts%:: The time stamp for the last payment -%mbts_xact_start%:: The date that the bill was started (currently not working) -%xact_type%:: Type of Bill -%title%:: title of item - -*Transit* - -Transit receipts come into two types, general Transit receipts and Transit slips. Transit receipts are listings of item that are in transits. Transit slips are Slips telling the staff that this item is in transit to another location. - -.*General Transits* - -[horizontal] -%transit_item_author%:: Item author -%transit_item_barcode%:: Barcode of item in transit -%transit_item_callnumber%:: Call number of item in transit -%transit_item_title%:: Title of Item in transit -%transit_dest_lib%:: Destination Library -%transit_source_send_time%:: Time item was sent in transit -%transit_source%:: Library that placed the item in transit. - - -.*Transit Slip* - -[horizontal] -%route_to%:: Library Policy Name that the item is in transit to -%route_to_org_fullname%:: Library Full Name that the item is in transit to -%street1%:: Library Street address Line 1 that the item is in transit to. -%street2%:: Library Street address Line 2 that the item is in transit to. -%city_state_zip%:: City, State, Zip of Library the Item is in transit to. -%item_barcode%:: Item barcode -%item_title%:: Item title -%item_author%:: Item Author -%hold_for_msg%:: Hold for Message: this gives the patron's name -%PATRON_BARCODE%:: Patron's Barcode -%notify_by_phone%:: Phone number listed in the Hold Database. This may not be the same as what is in the Patron's record, as they can list another number when placing the hold. -%notify_by_email%:: Email listed in Hold Database. Same as phone number -%notify_by_text%:: SMS contact number (new to 2.2) -%request_date%:: Date that the Request was originally placed diff --git a/docs/media/receipt1.png b/docs/media/receipt1.png new file mode 100644 index 0000000000000000000000000000000000000000..1544c726b6cdcdd259b9eae34d308bbb95c3192f GIT binary patch literal 17385 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 literal 0 HcmV?d00001 diff --git a/docs/media/receipt2.png b/docs/media/receipt2.png new file mode 100644 index 0000000000000000000000000000000000000000..3c53077ae01517dda6c535972d2b58813a22cef3 GIT binary patch literal 46942 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 literal 0 HcmV?d00001 diff --git a/docs/root.adoc b/docs/root.adoc index 48f2fc03f3..f544e85514 100644 --- a/docs/root.adoc +++ b/docs/root.adoc @@ -208,7 +208,7 @@ include::admin/workstation_admin.adoc[] // Push titles down one level. :leveloffset: 1 -include::admin/workstation_admin_receipt_template_editor.adoc[] +include::admin/receipt_template_editor.adoc[] // Return to normal title levels. :leveloffset: 0 diff --git a/docs/root_staff_client_admin.adoc b/docs/root_staff_client_admin.adoc index 44a3dd184f..f8e02f8384 100644 --- a/docs/root_staff_client_admin.adoc +++ b/docs/root_staff_client_admin.adoc @@ -182,7 +182,7 @@ include::admin_initial_setup/hard_due_dates.adoc[] include::admin/booking-admin.adoc[] -include::admin/workstation_admin_receipt_template_editor.adoc[] +include::admin/receipt_template_editor.adoc[] :leveloffset: 1 -- 2.43.2