An Overview of Item Statuses
When training new Koha libraries, we often spend a lot of time talking about item statuses. As in many things, Koha allows a great deal of customization of item statuses and their associated behavior, but that customizability comes with its share of complexity. In the interest of demystifying thing, I bring you an overview of Koha's item statuses and the settings that define them. This may not be the simplest or most fun blog post you read this week, but it may be among the most informative!
We can't talk about statuses without first covering authorized values. Many of these statuses have their possible values defined through authorized values, allowing for local customization. Generally, Koha’s behavior is dependent solely on whether or not a given status is has some value other than zero. Any further variation may be meaningful to the library’s workflows and reporting, but does not impact Koha’s behavior. New values can be created as needed and existing values can be deleted or re-named.
Lost values present a good example of this. A standard Koha install prevents several values for lost: 1=Lost, 2=Long Overdue, 3=Lost and Paid For, 4=Missing. Setting an item to any of these values will produce the same effect in Koha; the system primarily registers that the item’s lost value has been set to something other than zero. However, the distinction may be meaningful to the library, which may have different practices around the different lost values.
One exception to this rule is not for loan, which behaves differently based on whether the value is zero, a positive number, or a negative number. I’ll describe that in greater detail below.
Naming can get confusing here, as most of these status categories have a value that shares the category name -- so an item can have a lost status of Lost or a lost status of Missing, which makes it hard to know exactly what is meant when one says a book is “lost.” I’ve tried to use a lowercase word when discussing the category (lost) and an uppercase word when discussing the specific value (Lost).
An item's withdrawn status is stored in the 952$0 and in items.withdrawn.
Withdrawn values are defined in the authorized value category WITHDRAWN.
Withdrawn is intended to note an item that is no longer being circulated, generally as a prelude to being actually deleted from the system. An item with any non-zero value for withdrawn cannot be checked out or have a hold placed on it. This behavior is not customizable. The system preference BlockReturnOfWithdrawnItems says whether or not withdrawn items can be checked in. By default, it is set to not allow check-in of withdrawn items. Marking an item as withdrawn does not automatically hide it from the OPAC.
An item's lost status is stored in the 952$1 and in items.itemlost.
Lost values are defined in the authorized value category LOST.
A lost value generally means that an item cannot be found, but can also be used to denote some other reason for which a patron is being charged the replacement cost of the item. This is broadly customizable, mostly through system preferences. Let me start by running through system preferences:
- WhenLostChargeReplacementFee determines whether or not you charge a patron the replacement cost of an item if it is marked to any non-zero lost value while checked out to that patron. This is a global behavior, across all patron types, item types, and lost values.
- useDefaultReplacementCost determines whether or not to use default replacement costs defined in the item type setup when an item marked as lost either doesn’t have a value in the 952$v (replacement cost) or has a 952$v of zero.
- WhenLostForgiveFine determines whether or not overdue fines are forgiven when an item is marked to any non-zero lost value while checked out to that patron. This is also a global behavior, across all patron types, item types, and lost values.
- If Koha is set to forgive overdue fines when an item is lost and is set to not mark lost items as returned (as described in the next bullet point), then the overdue fines will be re-charged to the patron if the item is found and checked in.
- MarkLostItemsAsReturned determines whether or not an item continues to show as checked out to a patron after it is marked as lost. The system preference allows you to vary this behavior based on how the item is marked as lost (by the longoverdue cron job, via edit items, etc).
- If an item is marked as returned, it no longer shows in the patron’s checkouts and is no longer considered overdue - the patron is only tied to the lost item by the replacement fee.
- If an item is not marked as returned, it will continue to be listed in the patron’s checkouts and considered overdue until either the item is returned or the replacement fee is resolved (either paid or written off).
- BlockReturnOfLostItems determines whether or not an item with a lost status is blocked from being checked in.
- hidelostitems determines whether or not an item with a lost status is shown in the OPAC.
Whether or not a processing fee is charged when an item is lost is determined in the item type set-up. If a processing fee is defined for an item type, patrons will be charged that fee when an item of that type is set to a non-zero lost value while checked out to them. The processing fee is in addition to and separate from the replacement cost. A processing fee is not refunded if a lost item is returned.
Whether or not the replacement cost for an item is refunded when a lost item is returned is determined in the Circ & Fine Rules. Under Standard Rules for All Libraries, you’ll find a section marked Default Lost Item Fee Refund On Return Policy. This can be set to Yes or No. In a multibranch system, each individual branch has their own Lost Item Fee Refund On Return Policy setting that can be set to Yes or No or to defer to the default for all libraries.
If this is set to Yes, patrons will get their replacement fee refunded, but the specifics of this differ slightly based on whether or not the fee is paid before the item is returned. If a patron loses an item and returns if before they pay off the fee, the remaining fee will be forgiven. If all or part of the fee has been paid, the paid portion will be added to the patron account as a credit.
Many libraries wish to forgive unpaid fees when a lost item is returned, but not generate credits for paid fees. Koha does not support this distinction, as the Lost Item Fee Refund On Return Policy does not distinguish between paid and unpaid fees. If this is your desired behavior, your best option is to make sure lost items that have been paid for cannot be checked in. To do so, you can delete the items or withdraw the items so they can be blocked with BlockReturnofWithdrawnItems.
An item's damaged status is stored in the 954$4 and in items.damaged.
Damaged statused are defined in the authorized value category DAMAGED.
A damaged status does not block circulation or hide an item from the OPAC. Marking an item as damaged when it is checked out does not charge the patron the replacement cost and/or processing fee and does not mark the item as returned. The system preference AllowHoldsOnDamagedItems determines whether or not patrons can place holds on damaged items.
An item's restricted status is stored in the 952$5 and in items.restricted.
Restricted statuses are defined in the authorized value category RESTRICTED.
Marking an item with any non-zero value for restricted blocks it from being checked out or put on hold. Unlike a not for loan status, a restriction cannot be overridden by staff. For this reason, it doesn’t see much use. Restricted books are not automatically hidden from the OPAC.
Not For Loan
An item's not for loan status is stored in the 952$7 and in items.notforloan.
Not for loan statuses are defined in the authorized value category NOT_LOAN.
Marking an item with any non-zero value for not for loan will block that item from being checked out. Staff are able to override this block if they have permission to do so. Items with a not for loan value are not automatically hidden from the OPAC. Not for loan behavior differs based on whether the not for loan value is a positive or negative number.
- Positive number: The item cannot be checked out and cannot have holds placed on it. When looking at the item in search results on the OPAC, its availability message will say “Available for Reference,” as Koha assumes an item with a positive not for loan value is meant for in-library use. When looking at the item details on the OPAC, the item will show the specific description for its not for loan value as defined in the authorized values.
- Negative number: The item cannot be checked out, but holds can be placed on it. However, Koha will not prompt staff to capture that hold until the item no longer has a not for loan value. When looking at the item in search results on the OPAC, its availability message will say “On Order.” When looking at the item details on the OPAC, the item will show the specific description for its not for loan value as defined in the authorized values.
There are two system preferences relevant to not for loan.
- UpdateNotForLoanStatusOnCheckin allows you to define pairs of not for loan values. When an item with the first not for loan value is checked in, it’s automatically set to the second value. The most common use of this is change On Order items (notforloan=-1) to Available (notforloan=0).
- AllowNotForLoanOverride determines whether or not individual staff members can be given the ability to override not for loan statuses.
Item Type Not For Loan
Items can also be blocked from checkout via the item type set up. In admin, a whole item type can be set to not for loan. However, this function does not impact the 952$7 values of the individual items and does not relate to the defined NOT_LOAN authorized values. If an item type is set to not for loan, all items within it will be blocked from checkout and blocked from holds. They will show “Available for Reference” in search results and “Not for Loan” in item details on the OPAC. Item types set to not for loan are not automatically hidden from the OPAC.
Hiding Items in the OPAC
Most of these statuses do not automatically hide items from the OPAC. However, any of them can be set to do so using the system preference OPACHiddenItems.
Note that item type setup in administration includes a checkbox for Hide in OPAC, but this checkbox only controls whether or not an item type is included in the list of item type filters for advanced searches in the OPAC. To actually hide all the items within an item type, you need to put that item type into OPACHiddenItems.
Read more by Andrew Fuerste-Henry