Overview: Courtesy and Overdue Notices in Koha

Overview: Courtesy and Overdue Notices in Koha

This article reviews configuration and settings for Koha's courtesy and overdue notices. It is meant as an overview for libraries in implementation or for any library who is new to using these notices.
 
Note that there are many more notices and slips loaded into your Koha site by default than are discussed below. Most libraries will not use all of them, and other core notices will be discussed during implementation. Please ask your Educator or submit a ticket with questions about other notices not discussed here or during implementation.

Courtesy notices

The notices that appear in the 'Patron messaging preferences' box in patron accounts are considered 'courtesy notices':

Where are default courtesy notice settings configured?

Default courtesy notices and delivery methods are set in each patron category (Administration > Patron categories). When new patrons are created, they will have default notices and delivery methods preselected based on what is set in their patron category.
Alert
Changes to default messaging preferences in patron categories will only apply to new patrons created in those categories. Existing patrons' preferences will not be automatically updated to the new defaults. If you wish to update existing patrons' preferences to match new category defaults, please submit a ticket.

Can patrons choose which courtesy notices they receive or how they receive them? 

If the system preference EnhancedMessagingPreferences is set to 'Allow', staff can customize notice preferences for each individual patron. Additionally, if EnhancedMessagingPreferencesOPAC is set to 'Show', patrons will be able to customize which notices they receive and how they receive them by logging into their OPAC/Aspen accounts. The exception to this may be 'Patron account expiry': if it is made mandatory for a given patron category, patrons will not be able to opt out of receiving it.

Can they be customized by branch/library?

Yes, but it may not be necessary depending on what you wish to customize. There is code available in most notices that will automatically use the branch information applicable to the transaction/notice, so libraries typically only need to create separate templates per branch if policies or specific other details differ. For instance, consider a system where the Main branch charges overdue fines but the East and South branches do not. The East and South branches could use a default 'Item due' notice that does not include information about fines, while Main could create its own 'Item due' notice that includes details about fine charges for items that become overdue.  

What are Digests?

Some notices, including 'Item due', 'Advance notice', and 'Auto renewal', have a Digest option. When 'Digests only' is selected, Koha will send one message with all relevant items instead of one message per item. 
Alert
Item checkout, Item check-in, and Renewal are digests by default.

What else should libraries know about courtesy notices? 

In addition to the crons noted below, nearly all of these notices require the process_message_queue.pl cron. If you are unsure of your settings for any of these crons, please ask your Educator or submit a ticket.

Overview

This table contains important details about each notice, including the notice code, options, and sending details:

Notice name and code(s)
Description
Which library’s template is used?
Sending email address
Notes
Hold filled

Code: HOLD (digest: HOLDDGST)
Notification when a hold is filled and ready for pickup
Both versions: Pickup library
Both versions: Pickup library

Hold reminder

Code: HOLD_REMINDER
Reminder to pick up filled holds if not picked up X days after ‘Hold filled’ notice was sent
Pickup library
Pickup library
-Instead of sending once X days after a hold is filled, this notice can be configured to send every day starting on day X until the hold is picked up or expires
-Requires the holds_reminder.pl cron
-X days is set in the holds_reminder.pl cron
Item checkout and renewal

Codes: CHECKOUT and RENEWAL
A list of items that the patron has checked out (or, if applicable, renewed)
CHECKOUT: Determined by CircControl and HomeOrHolding system preferences
RENEWAL: Logged-in branch if renewed by staff; patron home branch if renewed online by patron
CHECKOUT: Determined by CircControl and HomeOrHolding system preferences
RENEWAL: Logged-in branch if renewed by staff; patron home branch if renewed online by patron
-RENEWAL requires that the system preference RenewalSendNotice is set to 'Send'
-If you are sending auto-renewal notices and RenewalSendNotice is set to 'Send', patrons will receive both
Auto renewal

Code: AUTO_RENEWALS (digest:  
AUTO_RENEWALS_ DGST)
Notification that items have been successfully auto-renewed, or the reason(s) why they failed to do so
AUTO_RENEWALS: Default version for all libraries
AUTO_RENEWALS_ DGST: Patron home library by default; can set cron to send one digest per issuing library
AUTO_RENEWALS: Patron home branch
AUTO_RENEWALS_ DGST: Patron home library by default; issuing if using digest per branch
-If you are sending auto-renewal notices and RenewalSendNotice is set to 'Send', patrons will receive both
Advance notice
Code: PREDUE (digest:  
PREDUEDGST)
A reminder X number of days before the due date for soon-to-be-due items (select number for X in drop-down)
PREDUE: Issuing
PREDUEDGST: Patron home by default; can set cron to send one digest per issuing branch
PREDUE: Issuing by default; can set to send from item's home branch in cron
PREDUEDGST: Patron home by default; issuing if using digest per branch
-Requires the advance_notices.pl cron
Item due

Code: DUE (digest:  
DUEDGST)
A reminder sent the morning that items are due
DUE: Issuing
DUEDGST: Patron home by default; can set cron to send one digest per issuing branch
DUE: Issuing by default; can set to send from item's home branch in cron
DUEDGST: Patron home by default; issuing if using digest per branch
-Requires the advance_notices.pl cron
Item check-in

Code: CHECKIN
A list of items that the patron has checked in
Library where item is returned
Library where item is returned

Patron account expiry

Code: MEMBERSHIP_EXPIRY
Notification that the patron’s account is about to expire, often with instructions for account renewal
Patron home library
Patron home library
-Sent X days ahead of account expiration as set in the system preference  MembershipExpiryDaysNotice 
-Requires the membership_expiry.pl cron
-May be made mandatory per patron category

Overdue notices

Koha has three built-in overdue notices. The third overdue notice is typically used as a billing notice. The default codes and names for the three notices are:

ODUE (Letter name: Overdue Notice) 
ODUE2 (Letter name: Overdue - 2nd Notice) 
ODUE3 (Letter name: Overdue Billing) 

How are overdue notice settings configured?

There are three pieces to configuring overdue notices:
  1. Who receives them: The patron categories who should receive overdue notices are set in each patron category's 'Overdue notice required' option. In Administration > Patron categories, set 'Overdue notice required' to Yes to make all patrons in that category eligible for overdue notices. 
  2. Timing, template, delivery methods, and restrictions: The timing for overdue notices, template used, delivery method(s), and optional restrictions are set in Tools > Overdue notice/status triggers. For details, see Overdue notice settings defined below.
  3. Notice content: The content included in each overdue notice is customized in Tools > Notices and slips. Overdue notices can use hungry alligators (<<items.barcode>>) or Template Toolkit ([% items.barcode %]).

Can patrons opt out of overdue notices, or select their preferred delivery method(s)?

Unlike courtesy notices, patrons cannot opt out of overdue notices or select their delivery method(s). By default, all patrons will receive notices with the selected method(s) for their category if they have the necessary contact information in their accounts.

For instance, if the first overdue notice for the patron category Resident is delivered by SMS and email, and Resident patron Professor Trash Wheel has an email address and an SMS number in her account, she will receive the notice both ways. However, if Resident patron Captain Trash Wheel has an email address in their account but no SMS number, they will only receive the notice by email.

Can overdue notices by customized by library or patron category?

Yes, libraries can create multiple versions of overdue notices. This can be useful if each location/branch has different fine policies, or if different patron categories are subject to different policies.

For instance, consider the example above where the Main branch charges overdue fines but the East and South branches do not. East and South could use a default ODUE/First overdue notice that does not include information about daily overdue charges. The Main branch, meanwhile, could create its own ODUE notice that includes a field for the daily fine amount for each overdue item.

Different overdue notice templates can also be used by the same library when policies differ by patron category. For instance, a community college may only charge Community patrons overdue fines, while Student and Staff patrons are not charged. In this case, the library could create templates for the first overdue notice called ODUE_COMMUNITY (with fine details) and ODUE_STUDENT_STAFF (with no fine details). 

However, if the only differences between notices should be the libraries' contact details (name, phone number, address etc.), you do not need to create separate notices - as with courtesy notices above, there is code available for overdue notices that will pull in each specific library's details from the branches table

Which library sends overdue notices?

By default, overdue notices are sent by the library where the item was checked out (issuing branch). This can be customized using the system preference OverdueNoticeFrom to send by the item’s home library or the patron’s home library instead. This may also be configured in the overdue_notices.pl cron. 

Overdue notice settings defined



1: Library
  1. If your library requires different notices/delays for each location/branch, select each library here. If you are using the same setup for all locations, leave this at Default. If most libraries will use the same settings with a few exceptions, configure the Default settings, and then create library-specific settings only for the libraries that are exceptions. If there are no specific settings for a given library, Koha will use the Default settings for their overdue items.
2: Tabs
  1. Configure the options below (Delay, Letter etc.) for your First, Second, and Third overdue notices. Click on each tab to configure.
3: Patron categories
  1. These are the patron categories who have 'Overdue notice required' set to Yes in Administration > Patron categories.
4: Delay
  1. This is the number of days after items are due that each notice will be sent.
  2. The delay for each patron category can be different - for instance, note the different timing for the Child category above.
  3. Note that the system preference OverdueNoticeCalendar determines whether Koha counts all days or only open days toward the number set in Delay.
5: Letter
  1. Select the notice your library will send for each patron category.
  2. Libraries can use the same notice template for all categories or select a different letter for one or more patron categories as needed.
6: Restrict
  1. If Restrict is selected, patrons who receive that notice will have a restriction placed on their account when the notice is generated.
  2. The system preference AutoRemoveOverduesRestrictions determines whether restrictions placed by the overdues process are automatically removed when items are returned.
7: Delivery methods
  1. Notices can be sent by email, SMS, and/or print (plus phone if your library uses a third-party service). 
    1. Koha's built-in SMS method is being deprecated. We recommend sending via SMS only if your library will be using a third-party SMS service. Please see this article for more information.
  2. If print is selected, a file will be generated for your library with those notices. 
    1. Code can be added to your print overdue notices so that they only generate for patrons who don’t have an email address and/or SMS number in their accounts. If you would like this functionality, please speak with your Educator or submit a ticket. 
  3. If the system preference EmailOverduesNoEmail is set to 'Send', email overdue notices generated for patrons who don’t have an email address in their account will be sent to the email address set in AddressForFailedOverdueNotices
  4. A text file will be sent to the library containing SMS notices that generated for patrons who don’t have an SMS number in their account.
  5. For advanced delivery method options such as establishing delivery priority, please see this article. To set this up, please speak with your Educator or submit a ticket if you are not in implementation.

Notice content and editing

General information

Notices are edited in Tools > Notices and slips. All of the notices above (and more) have default language that your library will likely want to edit to reflect your specific policies. Use the codes above to search for those you wish to edit.  

Some notices use hungry alligators (<<items.barcode>>) to pull in specific details about the library, patron, checkout, item(s), and/or hold(s). Others, including 'Auto renewal' and 'Hold reminder', use Template Toolkit ([% items.barcode %]). 

Special syntax

<<items.content>>, <item></item>, and <<items.fine>>

<<items.content>> is required for the digest versions of some notices when using the hungry alligators syntax. When a notice contains <<items.content>>, that will display in the actual notice as an item's due date, author, title, and barcode. <<items.content>> will automatically repeat as needed to include all relevant items. 

Notices with item tag pairs (<item></item>) will expand details from the biblio, items, biblioitems, and issues tables. For instance:

<item> 
Title: <<biblio.title>> (<<items.barcode>>) 
Due: <<issues.date_due>> 
Fine: <<items.fine>>
</item> 

Any <item> tag pairs will repeat with relevant information for each item in overdue notices. 

Note that <<items.fine>> is a special tag that only works in <item></item>.

Overdue notices built with hungry alligators can use <item></item> or <<<items.content>>.

Dashes in 'Item check-in', 'Item checkout', and 'Item renewals' 

In 'Item check-in' (CHECKIN), 'Item checkout' (CHECKOUT), and 'Item renewals' (RENEWAL), dashes appear around item information, as in:

----
<<biblio.title>> from <<items.holdingbranch>> 
----

These are required for item details to display properly and for multiple items to be listed when applicable. Bib and item information between the dashes will repeat for each applicable item. If you edit these notices, take care to not erase these dashes. 

Naming multiple versions of overdue notices

If your library is creating multiple versions of overdue notices, we recommend differentiating them by code and name so that each version is easy to identify in Tools > Overdue notice/status triggers.

For instance, if you're creating notices for two branches in a four library system:
West Branch: ODUE_W ('Overdue Notice - West Branch') and ODUE2_W ('Overdue (2nd Notice) - West Branch')
North Branch: ODUE_N ('Overdue Notice - North Branch') and ODUE2_N ('Overdue (2nd Notice) - North Branch')
Default (preloaded; will be used by all other branches): ODUE ('Overdue notice') and ODUE2 ('Overdue (2nd Notice)')

Or if you're creating different notices depending on patron category: 
Faculty: ODUE_FAC ('Overdue Notice - Faculty') and ODUE_FAC2 ('Overdue Notice (2nd Notice) - Faculty')
Students: ODUE_STU ('Overdue Notice - Students') and ODUE_STU2 ('Overdue Notice (2nd Notice) - Students')

Additional resources

ByWater Solutions Help Center:
    • Related Articles

    • Notices in Koha

      Notices are a powerful way to communicate with patrons about their checked-out materials, holds, renewals, etc. Koha has many options for customizing the notices and customizing how they are delivered, both through settings configuration and through ...
    • Koha Marketing Resources

      Is your library getting ready to go live with Koha's OPAC? Here you will find templates and logos to get the process started. Logos Download Koha logos to customize your branding and messages for your community of library users! Koha Logo Files - ...
    • How Long Overdue (Lost) Works

      When an item becomes sufficiently overdue, Koha can automatically assign a lost status with the longoverdue.pl cron. This article discusses its setup and customization options, as well as how it interacts with overdue notices. Further details are ...
    • Patron Point and Koha - Library Setup

      How does it work? Patron Point can send email, SMS, and/or phone messages. Similar to SIP users, an API patron/user allows third party integrations such as Patron Point to connect to Koha. The API patron will have permissions that allow it to ...
    • Global and Local Settings in Koha

      This is a guide to Koha settings that apply to all libraries sharing one Koha instance and those settings that can be configured by library. This is not exhaustive. Instead, the focus is on those settings that are most relevant to consortia and large ...