Standing Penalties

Evergreen includes twenty-one stock penalties, and adminstrators can create other penalty types if needed. Each penalty can be configured to block zero, one, or several circulation actions.

Penalties can be viewed and edited by navigating to *Administration → Local Administration → Standing Penalties.

Standing Penalty Types

The following standing penalties are available in Evergreen:

  • PATRON_EXCEEDS_FINES - Patron exceeds fine threshold

  • PATRON_EXCEEDS_OVERDUE_COUNT - Patron exceeds max overdue item threshold

  • PATRON_EXCEEDS_CHECKOUT_COUNT - Patron exceeds max checked out item threshold

  • PATRON_EXCEEDS_COLLECTIONS_WARNING - Patron exceeds pre-collections warning fine threshold

  • PATRON_EXCEEDS_LOST_COUNT - Patron exceeds max lost item threshold

  • ALERT_NOTE - Alerting note, no blocks

  • SILENT_NOTE - Note, no blocks

  • STAFF_C - Alerting block on Circ

  • STAFF_CH - Alerting block on Circ and Hold

  • STAFF_CR - Alerting block on Circ and Renew

  • STAFF_CHR - Alerting block on Circ, Hold and Renew

  • STAFF_HR - Alerting block on Hold and Renew

  • STAFF_H - Alerting block on Hold

  • STAFF_R - Alerting block on Renew

  • INVALID_PATRON_ADDRESS - Patron has an invalid address

  • PATRON_IN_COLLECTIONS - Patron has been referred to a collections agency

  • INVALID_PATRON_EMAIL_ADDRESS - Patron had an invalid email address

  • INVALID_PATRON_DAY_PHONE - Patron had an invalid daytime phone number

  • INVALID_PATRON_EVENING_PHONE - Patron had an invalid evening phone number

  • INVALID_PATRON_OTHER_PHONE - Patron had an invalid other phone number

  • PATRON_EXCEEDS_LONGOVERDUE_COUNT - Patron exceeds max long-overdue threshold

The following penalties are system applied:








All other penalties are manually applied by a staff member or via a specific staff action.

For any penalties that use threshold values, you can configure those threshold values in Administration → Local Administration→ Group Penalty Thresholds. Refer to documentation for Group Penalty Thresholds.

For information on how to manually apply penalties to a patron account, see the Alerts and Blocks documentation.

Blocked Actions

The following circulation actions can be blocked by penalties:

  • CIRC - Users cannot check out items, except items which may fill a hold. Items which can fill a hold are subjec to the FULFILL action, which is listed below and can be blocked separately.

  • HOLD - Users cannot place holds on items.

  • RENEW - Users cannot renew items.

  • CAPTURE - This penalty prevents a user’s holds from being captured. If the HOLD penalty has not been applied to a user’s account, then the patron can place a hold, but the targeted item will not appear on a pull list and will not be captured for a hold if it is checked in.

  • FULFILL - This penalty prevents a user from checking out an item that is on hold. If the HOLD and CAPTURE penalties have not been applied to a user’s account, then the user can place a hold on an item, and the item can be captured for a hold. However, when they try to check out the item, the circulator will see a pop up box with the name of the penalty type, FULFILL. The circulator must correct the problem with the account or must override the penalty to check out the item.

Standing Penalty Types Grid

The grid for Standing Penalty Types displays the following columns:

  • Penalty ID - the system assigned penalty ID number

  • Name - the name of the penalty. This cannot be edited for any of the stock penalties since they are referenced by name in legacy code. Do not use spaces in the penalty name.

  • Label - a brief description of the penalty

  • Block List - a list of the actions blocked by the penalty. These actions are listed in the Blocked Actions section above, and can be entered in any order using the pipe character as a delimiter.

  • Staff Alert - this indicates whether a staff member will be alerted about the penalty when viewing a patron’s account.

  • Org Depth - the scope of the penalty, in terms of where a block or restriction will apply relative to the organizational unit where the penalty is calculated (e.g., the circulation library).

    • If you are using Group Penalty Thresholds, Org Depth matters if the threshold is not at the top of the organization tree. If you want all penalty blocks to take effect everywhere, you will need to set the penalty Org Depth to 0, otherwise penalty blocks will only apply at the level they are mapped to a threshold.

    • Valid values for Org Depth include:

      • NULL / no value set

      • 0 - penalty applies to the Consortium

      • 1 - penalty applies to the System

      • 2 - penalty applies to the Branch

      • 3 - penalty applies to the Sub-library

  • Ignore Proximity - if a numeric value is set here, this instructs the system to ignore a penalty if the proximity between a patron’s home library and the item’s home (or circulating) library is greater than the Ignore Proximity value. Possible values include:

    • NULL / no value set - penalty is not ignored anywhere

    • 0 - penalty is ignored at the patron’s home branch

    • 2 - penalty is ignored at the patron’s home system

Ignore Proximity will honor proximity adjustments. See the documentation on Org Unit Proximity Adjustments for more information about proximity adjustments. Consult your Evergreen administrator if you are not sure whether or not your Evergreen installation uses proximity adjustments.

Actions on the grid include Delete Selected and Edit Selected, as well as a separate button for New Standing Penalty Type. You can also edit a penalty type by double clicking on its grid row.

Editing a Standing Penalty Type

To edit a standing penalty, either select the row and then navigate to Edit Selected in the Actions Menu on the upper right of the grid, right click on the row and choose Edit Selected, or double click on the grid row you wish to edit.

This will open the edit modal:

Standing Penalty Edit Modal

Make your desired changes, and select Save to save your changes, or Cancel to exit the modal without saving.

The Name field cannot be edited for any of the stock penalties since they are referenced by name in legacy code.
Do not use spaces in the penalty name.

Creating a Standing Penalty Type

To create a new standing penalty type, select the New Standing Penalty Type button in the upper-left of the grid. This will open the create modal.

Enter your penalty values in the appropriat fields, documented above under Standing Penalty Types Grid. The only field that is required is Name. Do not use spaces in the penalty name. All other fields are optional.

Select Save to save your changes, or Cancel to exit the modal without saving.

Standing penalties can be shared and used by the full Evergreen consortium.

If you add a penalty, a stock Evergreen system cannot automatically apply the new penalty unless it is mapped as a custom penalty (see below). Any other added penalties need to be manually applied by a staff member to a patron account, or custom code needs to be written to automatically apply the new penalty. See the documentation about circulation blocks for more information about manually applying a penalty.

Deleting a Standing Penalty Type

To delete a standing penalty type, either select the row and then navigate to Delete Selected in the Actions Menu on the upper right of the grid or right click on the row and choose Delete Selected.

The interface does not warn you before deleting a standing penalty type, and deleting stock standing penalty types may cause unintended negative consequences in your Evergreen system. Proceed with extreme caution.

Custom Penalties

As of Evergreen 3.11, administrators may customize system-applied penalties by using the following library settings to establish a mapping between a system-applied penalty and a new standing penalty that you create:

  • Custom PATRON_EXCEEDS_FINES penalty





  • Custom PATRON_IN_COLLECTIONS penalty


The library setting instructs Evergreen to use the custom standing penalty in place of the system standing penalty, and will automatically apply the custom penalty in the same manner as its mapped standing penalty.

The library setting uses the circulation library as the context organizational unit. Per standard library setting rules, the "closest" setting to the circulation will be applied.

For example, if a Branch has a custom penalty set this will be applied to circulations at that Branch regardless of custom penalties set at the System or Consortium level. If the Branch has no value set for the custom penalty, it will inherit a value set at the System level.

Custom penalties can be given thresholds in Administration → Local Administration → Group Penalty Thresholds as normal.

To set up a custom penalty, take the following steps:

  1. Create a new Standing Penalty Type as instructed above.

  2. Navigate to Administration → Local Administration → Group Penalty Thresholds and establish a threshold, organizational unit, and group for your penalty.

    1. See the documentation on Group Penalty Thresholds for more information.

  3. Navigate to *Administration → Local Administration → Library Settings, and location the Library Setting for the sytem penalty you want to replace with your custom penalty.

  4. Select the name of your custom penalty from the dropdown, and select the organizational unit to which the custom penalty should apply.