Overdue Claim Fees RFC

From Koha Wiki
Jump to navigation Jump to search

Overdue Claim Fees

Status: Development launched
Sponsored by: LMSCloud GmbH
Developed by: Developer of the LMSCloud GmbH
Expected for: 2017/05 release
Bug number: yet assigned Bug not yet assigned
Work in progress repository: No URL given.
Description: The Koha implementation of overdue fines enables a library to define intervals for charging overdue fines.

Intervals can be days, weeks or monthes. Some libraries define terms of use that do not match the interval based overdue fines since they use irregurlar intervals and/or charge patrons unequal with the claim level.

Instead of frequent periods, these libraries want to charge patrons based on the flexible delay configuration of overdue reminders.

Requirements are in detail:

  • charge patrons for overdue reminders depending on the library, patron type and item type item
  • charge overdue claim fees based on flexible delay periods of the overdue actions
  • charge patrons in combination with the overdue actions if the action implies to send a notification
  • enable up to five overdue actions per item
  • enable to setup a overdue claim fee per overdue action (level one to five)
  • enable a flexible rule definition of overdue claim fees similar to the circulation rules
  • don't break existing functionality
  • don't change the current overdue fines definition


Configuration

Implementing the feature requires a new configuration setup for overdue claim fees. The current circulation rule configuration is highly complicated. Adding additional 5 overdue claim fee parameters would make it more complicated.

Overdue action delays are currently defined with the "Defining default overdue actions". So, its's proposed here to configure overdue claiming fee parameters with that functiuon and also extending the overdue actions up to 5.

The following screenshot shows a configuration of the claiming fees.

Overdue claiming fees.png

The major changes are the extension of overdue actions to five levels and the new configuration of rules for claiming fees. As with the issuing rules, rules for claiming fees rules are applied from most specific to less specific, using the first found in this order:

  • same library, same patron type, same item type
  • same library, same patron type, all item types
  • same library, all patron types, same item type
  • same library, all patron types, all item types
  • default (all libraries), same patron type, same item type
  • default (all libraries), same patron type, all item types
  • default (all libraries), all patron types, same item type
  • default (all libraries), all patron types, all item types

Charging overdue claiming fees

Overdue claim fees will be charged with the notification that is send out to a patron. That way, the patron will be informed about the charge with the notice. Each time the cron job "overdue_notices.pl" runs, claim fees may be charged depending on the claim fee rules and the command line options of the cron job script. A library should run the "overdue_notices.pl" daily with the -t option in order to prevent that overdue claim fees at the same claim level are charged multiple times.

The processing of overdue actions will be extended by the following processing. For each overdue item that is reported on an overdue reminder the processing will:

  • check each overdue item whether the library, patron type and item type matches a defined claiming fee rule
  • if a claim fee rule matches, check whether the configured fee is > 0.00
    • if the fine is > 0.00 check whether the patron fines including the claim fee do not exceed the defined max fines
    • add the charge to the user account with the new account type CL1, CL2, CL3, CL4 or CL5 depending on the claim level

Fine description

In order to describe the fine in the user account, a localized string is required to provide all necessary information to the patron. As an optional feature, the library can define a letter template to format the fines description. If a letter with the code FINESMSG_ODUE_CLAIM and the module 'fines' is defined, the content will be used to format the description with the same parameters that are used for letters. A sample template could be like the following:

Overdue claim level <<claimlevel>> on <<today>> after <<overduedays>> days overdue for title: <<biblio.title>>, barcode: <<items.barcode>>

Libraries can adjust the description according to their needs. If no template s defined, a simple description containing title and date will be added as description with the charge.