Delivery and patron information and services
Many discovery applications and tools external to the ILS need the ability to initiate, update or cancel loan requests. Likewise, services that retrieve information about a user are common-place outside of the ILS. The utilization of a standard method for interacting with the delivery and patron services of an ILS would allow for greater integration of services, facilitate the creation of adhoc interlibrary loan networks and encourage direct collaboration between organizations in regards to ILL.
Rationale, use cases, and general issues
Sample use cases
Some possible use cases include
- Hold the item
- Get the item from wherever it is (online, ILL, document delivery, storage, other patron)
- request might fail
- Find out what you're allowed to do / if you're allowed a given request
- renew loan?
- Given a citation (or a bib item or an article, etc.), find out if we have it and where we can get it (i.e. OpenURL resolver. What do they do to find volume info in ILS?)
- Putting loan/due date reminders in a portal
- RSS feed of loans, fines, etc.
- Asking for status of books I have or want (includes holds)
- Access borrower record information (name, address, blocks, messaging, etc)
- Find out if someone can access or can place or can cancel a request on a resource
Abstract Functions
Fortunately, a great deal of work has already been done in regards to patron and delivery functionality. At present, ILSes simply need to move to implement already highly regarded standards, like NCIP, to facilitate the borrowing and lending functionality recommended within this report. A number of functions, like:
- HoldTitle - chooses an available item of that title, and holds it. Takes a bibid.
- HoldVolume - holds a particular item (like HoldTitle, but where you need to specify at the sub-title level, e.g. serial volume) - can hold any item that's an instance of the volume. Takes either a volume ID (if available), or an item id that's an instance of that volume.
- HoldItem - Take an item id, and holds that.
- HoldCancel - cancel this hold request. (Would need some id for the hold, or enough arguments like person and item of bib id to figure out which hold to cancel)
o could take a list of items, not just one. Return values would be more complex.
- RecallTitle,
RecallVolume
RecallItem
RecallCancel - require a return of an item and get it to me
- OrderDeliveryTitle?
OrderDeliveryVolume?
OrderDeliveryItem
OrderDeliveryCancel - deliver a non-checked-out item to a particular location.
- RenewItem - I have an item, I want to renew it
- GetPatronRequests (take a patron identifier of some sort)
- GetPatronFines
- GetPatronMessages
- GetPatronInfo - name, address, email, etc.
- GetPatronStatus Looking over the NISO standard, it becomes apparent that NCIP would provide nearly all the functionality proposed in this list. As such, the overall recommendation would be to create a binding for delivery and patron information that fully implements the NCIP standard.