Skip to content

Policy resolution

This is the page for “this patron can’t check this out” when the block message doesn’t make immediate sense. For the conceptual model, see Policies.

The expanded version of the diagnostic flow on If something goes wrong.

When Lyra blocks a checkout, it tells you why. The block message names the rule. Most blocks are obvious from the message alone:

  • message: Patron loan limit reached. They have N active loans; the cap is N. Either return one, raise the limit, or override (if you have library-manager authority).
  • message: Patron has overdue items. They have at least one overdue loan and setting: Deny loans to patrons with overdue items is on at the library. Return the overdue item, or turn the setting off, or override.
  • message: Patron's grade is outside this item's allowed range. The item has a min or max grade; the patron is outside it. Override at the desk (library manager only) or pick a different copy.
  • message: Patron renewal limit reached. or message: Item renewal limit reached. The patron’s or the item policy’s renewal cap is hit. Return and re-check, or override.
  • message: This copy is reference only. The copy is marked setting: Reference only (reference, equipment, in-room-only material). Override at the desk if appropriate, or turn setting: Reference only off on the copy.

If the message is clear, fix the cause (or override) and move on. The rest of this page is for the cases where the message is technically accurate but the cause isn’t obvious.

When the block message says “patron at limit” but the patron looks fine

Section titled “When the block message says “patron at limit” but the patron looks fine”

The patron has fewer loans than you expect, but Lyra still says they’re at the limit. Three possible causes:

  • The grade-level override sets the limit to 0. A grade-level override with field: Loan limit customized to 0 means “this grade cannot check anything out,” not “no limit.” The form flags the field as customized. The fix is to edit the override and either reset the field to use the library default or set a positive number.
  • The faculty override sets the limit to 0. For faculty patrons the faculty override (not a grade-level override) is the patron layer. A faculty override with field: Loan limit set to 0 blocks every faculty checkout. Open the card: Faculty Overrides card of Library level navigation path: Configure then Policies and reset the field or set a positive number.
  • setting: Deny loans to patrons with overdue items is on, and the patron is delinquent. Both conditions must be true to trigger the block. Return the overdue item, turn the setting off, or override.
  • The copy is reference only. A reference-only copy can’t be checked out regardless of any patron policy; the block reads message: This copy is reference only.
  • The patron has loans in another library in the school. Each library has its own loan limit, and a patron who borrows from several libraries counts against each one. The patron page is scoped to the library you’re in, so its tab: Loans tab shows only that library’s loans — switch to the other library to see the rest.
  • The “limit” you’re seeing isn’t the one you think. Either the library default or a faculty or grade-level override could be the active value. (An item policy can’t set a loan limit — it only caps loan period, pickup window, and renewals, or exempts an item from the patron’s loan limit.) The item’s card: Circulation Policy card won’t settle it: it combines the library default with the item’s policy, marks each value the item policy sets, and leaves patron overrides out. Compare the library default against the patron’s override instead.

When a grade-level override doesn’t apply to a patron you expected

Section titled “When a grade-level override doesn’t apply to a patron you expected”

Grade-level overrides apply only to student patrons. Faculty patrons use the faculty override instead (see below), never a grade-level override.

  • A student’s grade is blank. A student without a field: Grade has no computed grade, and Lyra falls back to the library default. If they’re getting library-default rules instead of grade-level-override rules, the cause is usually a blank field: Grade.
  • The grade-level override’s grade band doesn’t cover the patron’s grade. An override that covers K-5 doesn’t apply to a 6th grader. Open the card: Grade-Level Overrides card of Library level navigation path: Configure then Policies and confirm which bands you’ve defined.

When a faculty patron’s limits look wrong

Section titled “When a faculty patron’s limits look wrong”

Faculty patrons resolve against the single faculty override, not the library default directly and not any grade-level override.

  • A faculty override field is customized. Each customized field replaces the library default for every faculty patron. If faculty are getting an unexpected loan period or limit, open the card: Faculty Overrides card of Library level navigation path: Configure then Policies and check which of the five fields are flagged status: customized. To fall back to the library default, select button: Edit, select that field’s value in the dialog: Edit Faculty Overrides dialog, then button: Reset.
  • The patron isn’t actually faculty. Faculty resolution only applies to patrons with the Faculty type. A patron you think of as faculty but who is filed as a student (or vice versa) resolves against the wrong layer. Open the patron and confirm the type.

When an item policy doesn’t apply to an item

Section titled “When an item policy doesn’t apply to an item”

An item should be using the Reference policy (cap loan to 1 day), but it’s checking out for 14 days like everything else.

  • No policy is assigned. Open the item; the chip on its card: Circulation Policy card reads status: Library defaults instead of a policy name. Select button: Change on the card and set field: Item policy to the Reference policy.
  • Wrong policy is assigned. Open the item; the chip names a policy, but not the one you expect. Change it the same way.
  • The policy was edited, but the change isn’t taking effect. Policy resolution is live, not cached. If a change doesn’t take effect, sign out and back in; if it persists, contact support.

When the library default looks right, but a patron is blocked anyway

Section titled “When the library default looks right, but a patron is blocked anyway”

If the library default says 14-day loan and 5 concurrent loans but a patron still can’t check out anything, the library default isn’t the active value. Work the three causes under patron at limit but looks fine above: a grade-level override setting the loan limit to 0, setting: Deny loans to patrons with overdue items, or a non-circulating copy.

The full resolution model is on Policies. The model is three layers (library default; a patron override, faculty or grade-level; then the item policy) plus two orthogonal toggles (setting: Deny loans to patrons with overdue items and the per-item grade restriction).

If you’re stuck, walk this sequence:

  1. Open the patron. Confirm patron type (Student or Faculty), grade, current loan count, delinquency status.
  2. Open the item. Confirm assigned item policy, grade restriction, copy status.
  3. Open the library defaults and the matching override. Confirm the relevant default holds the value you expect (for example, the renewal limit isn’t 0 if you mean to allow renewals), then check the patron’s override layer: the faculty override for faculty, or the patron’s grade-level override for students.
  4. Read the resolved values. The item’s card: Circulation Policy card shows what the library default and the item’s policy resolve to, and the card: Why This Date? panel, opened from a due date in a checkout session, shows which layer moved that one date, patron override included. Compare against what you expected.
  5. If still stuck, contact support. A screenshot of the patron, the item, and its card: Circulation Policy card gives us enough to diagnose without a round-trip.