[OPEN-ILS-GENERAL] Holds targeting in Evergreen

Jason Etheridge jason at esilibrary.com
Mon Feb 22 02:32:56 EST 2010


> [Assuming a "regular" library system with 10 branches, and assuming a title
> hold, and assuming all the branches have at least one copy available, which
> one is selected first?  I understand  that the first branch selected to fill
> the hold is the pickup branch.  Questions: if the pickup branch can't find
> the available copy, what happens?

Hi Jess,

After a configurable amount of time (I think 24 hours by default), or
sooner if the library marks their copy as missing, etc. and manually
retargets the hold, then another copy from another library will be
targeted (for the purpose of the pull list).  You still have the
option for opportunistic hold capture where any eligible copy anywhere
could fulfill the hold (though there is a configurable "stall" period
where op-capture will only happen at the pickup lib).

> Which of the other 9 branches is selected in what order to fill the hold?

If all the branches are at the same org depth (which in your example
they are), then it's essentially random each time.

>)  What if the pickup branch has more than one copy available to fill the hold, can any of the copies fill the hold?

Yes, through the notion of opportunistic hold capture.  The exception
here (which I don't really like), is when op-capture "stalling" is
activated, then, if a copy at a non-pickup lib is targeted, then only
that specific copy (or any copy at the pickup lib) will work.  At
least until the stall period runs it course, then it's any copy
anywhere (barring specific configured rules saying otherwise--ie. no
transits of AV material, etc).

<snip>
> When an item on the pull list is found, the hold is captured and the item is
> sent to the pickup library. If the target library or libraries do not
> capture the hold within 24 open hours, then the hold goes to Opportunistic
> Holds Capture - that is, if a copy is checked in at any branch, that copy
> will be captured to fill the hold and the item sent to the pickup library.
>
> [does this mean that until this 24 hour wait period has expired then there
> are no "opportunistic holds captures?"]

This library must have a "stall" period configured for 24 hours.  I
believe the default is no stall.  During the stall period, op-capture
will _only_ happen at the pickup lib, though targeting may find an
item elsewhere.

<snip>
> As a hold is placed, a hold targeter will try to find an available item to
> list on a library's Pull List for Hold Requests. The first place it looks is
> at the hold's pickup location. If no eligible items are available at that
> location,
>
> [and all branches in that library?]

Let's say you have

System A
   Branch A1
   Branch A2
   Branch A3
System B
   Branch B1
     Sub-Branch B1a
   Branch B2
   Branch B3

If the pickup lib is A2, then it's going to look for eligible items in
A2 first, then A1 and A3 together (f both A1 and A3 have eligible
items, then it _should_ be random which one gets picked, though I
could be wrong), then B1, B2, and B3 together, and lastly, B1a.

If the pickup lib is B1, then B1 will be looked at first, then B1a
(which is _closer_ to B1 than B2 and B3), then B2 and B3 together,
then A1, A2, and A3 together.

> [more questions]
> If a branch should be targeted as a last resort for whatever reason (say
> it's a small branch, or it serves a special community) is there some way to
> specify this in Evergreen?  To be clear, the books in this "special" branch
> can be targeted, but they should be targeted last at that organizational
> level.]

I know eventually we want to be able to give certain "weights" to
certain paths along the org hierarchy, but other than just programming
the behavior, one trick/kludge that comes to mind would be to put this
special library at a depth removed from all the others.

So

SYSTEM 1
   Branch A1
   Branch A2
     Sub-Branch Special Library
   Branch A3

> [Is there a way to specify the order of targeting, so that branches that are
> geographically close lend items between themselves before calling on more
> remote branches to fill a hold?]

Right now you could put some geographical abstractions into your org hierarchy.

Consortium
  Northern Libraries
    System 1
    System 2
  Southern Libraries
    System 3
    System 4

etc.  Geo-spatial holds is something we want to do, though giving
specific routes weights (like with networking) would allow for the
most accuracy (for example, two places might be close geographically,
but still have long transit times between them compared to other
places, or even more fun, a good time in one direction, but a bad time
in the other).

> [what happens when a book with a title hold is checked in to a branch?  What
> is checked in what order by Evergreen?  This is the "golden opportunity"
> since a staff person actually has a copy in hand, and doesn't have to go
> looking for it on a shelf or book truck somewhere...]

I'll have to punt here; I'm sure to get the details wrong.

> [is it possible for a very popular book to be "caught or trapped" in a
> branch, skipping over patrons in the holds queue until all the holds with
> that pickup branch are handled.  Meaning that patrons who placed their holds
> quite early are skipped over for patrons who happen to have selected the
> pickup branch where the book just happens to be now.]

Yes, this is a current problem that some folks are investigating (for
example, some libs want strictly ordered hold queues, others want
local patrons to get dibs on items owned locally, no matter where they
are currently).  My personal notion is perhaps to put a configurable
limit on the number of times an item may bounce around before being
forced to come back home.

-- 
Jason Etheridge
 | VP, Tactical Development
 | Equinox Software, Inc. / The Evergreen Experts
 | phone:  1-877-OPEN-ILS (673-6457)
 | email:  jason at esilibrary.com
 | web:  http://www.esilibrary.com

Please join us for the Evergreen 2010 International Conference!
It is being held April 20 - 23, 2010 at the Amway Grand Hotel and
Convention Center, Grand Rapids, Michigan.
http://www.evergreen2010.org/


More information about the Open-ils-general mailing list