Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inter-Library Loans (ILLs) #243

Open
dthomas-bic opened this issue Nov 6, 2019 · 4 comments
Open

Inter-Library Loans (ILLs) #243

dthomas-bic opened this issue Nov 6, 2019 · 4 comments
Assignees
Projects
Milestone

Comments

@dthomas-bic
Copy link

This is a placeholder for using LCF as the basis for inter-library loan request/responses.
At the BIC LCF Review Group Meeting on 18 April 2019 it was agreed that the necessary communications required to automate inter-library loan services between LMS/ILS systems would best be provided with LCF rather than BIC Realtime for Libraries (library webservices).
Such functionality might include, but not be limited to, searching for items and identifying available copies, placing ILL requests from a borrowing library and handling responses and item circulation from supplying libraries. cf. NCIP (not widely adopted in UK).

@franciscave franciscave added this to Triage in LCF via automation May 21, 2020
@franciscave franciscave moved this from Triage to Awaiting More Information in LCF May 21, 2020
@franciscave
Copy link
Collaborator

I'm aware that ISO 10161 and ISO 18626 are existing standards for ILL. Do we need to take these into account in determining how to implement ILL in LCF? In other words, how important is it to ensure interoperability between an LCF-based ILL solution and one using the existing standards?

@dthomas-bic
Copy link
Author

dthomas-bic commented Jun 3, 2020 via email

@franciscave
Copy link
Collaborator

David, thank you very much. I find this background information really helpful. From what you've said I would suspect that, while web services based upon LCF could potentially be used in either a peer-to-peer architecture or with intermediary brokers, the former is more likely to gain traction in the marketplace (in the UK at least), given that brokers have already invested a lot in implementing LCF-proprietary web services.

@mdovey
Copy link
Collaborator

mdovey commented Dec 6, 2022

LCF ILL Proposal

Scenario

Library Manager System (LMS) running a LCF (ILL Profile) on https://lms.server/lcf/1.0
Interlibrary Loan System (ILL) (either ILL library or ILL broker) running LCF (ILL Profile) on https://ill.server/lcf/1.0
LMS identified by ILL using URL https://ill.server/lcf/1.0/patrons/lms-server-id
Item to be requested using ULL identified using URL https://ill.server/lcf/1.0/items/item-id

ILL Request

POST to https://ill.server/lcf/1.0/loans

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loan xmlns=http://ns.bic.org.uk/lcf/1.0>
  <patron-ref>https://ill.server/lcf/1.0/patrons/lms-id</patron-ref>
  <item-ref>https://ill.server/lcf/1.0/items/item-server-id<item-ref>
  <start-date>checkout-date</start-date>
  <loan-status>01</loan-status>
</loan>

Response: https://ill.server/lcf/1.0/loans/loan-id
(for tracking)
(for digital might include Digital-item-access-link: https://werwejkhkavh)

ILL Return

PUT to https://ill.server/lcf/1.0/loans/loan-id

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loan xmlns=http://ns.bic.org.uk/lcf/1.0
        xmlns:ns2="http://a9.com/-/spec/opensearch/1.1/">
  <identifier>https://ill.server/lcf/1.0/loans/loan-id</identifier>
  <patron-ref>https://lms.server/lcf/1.0/patrons/lms-server-id</patron-ref>
  <loan-status>08</loan-status><!-- checked in -->
</loan>

ILL Reservation/Hold

POST to https://ill.server/lcf/1.0/reservations

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reservation xmlns="http://ns.bic.org.uk/lcf/1.0">
  <reservation-type>02</reservation-type> <!-- any copy -->
  <patron-ref>https://lms.server/lcf/1.0/patrons/lms-server-id</patron-ref>
  <item-ref>https://ill.server/lcf/1.0/items/item-id<item-ref>
</reservation>

Response: https://ill.server/lcf/1.0/reservations/reservation-id
(for tracking)

Notify LMS of loan changes

POST to https://lms.server/lcf/1.0/loans

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<loan xmlns="http://ns.bic.org.uk/lcf/1.0>
  <loan-ref>https://ill.server/lcf/1.0/loan/loan-id</loan-ref>
  <patron-ref>https://lms.server/lcf/1.0/patrons/lms-server-id</patron-ref>
  <item-ref>https://ill.server/lcf/1.0/items/item-id<item-ref> 
  <start-date>checkout-date</start-date>
  <end-due-date>due-date</end-due-date>
  <loan-status>01</loan-status><!—checked-out but could use other codes, for failure etc.-->
</loan>

Notify LMS of Reservation changes

POST to https://lms.server/lcf/1.0/reservations

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reservation xmlns="http://ns.bic.org.uk/lcf/1.0" 
      xmlns:ns2="http://a9.com/-/spec/opensearch/1.1/">
  <identifier> https://ill.server/lcf/1.0/reservations/reservation-id</identifier>
  <reservation-type>02</reservation-type> <!-- any copy -->
  <patron-ref>https://lms.server/lcf/1.0/patrons/lms-server-id</patron-ref>
  <item-ref>https://ill.server/lcf/1.0/items/item-id<item-ref>
  <reservation-status>01</reservation-status> <!-- item available - in hold queue -->
</reservation>

Request LMS to alert patrons of ILL item

POST to https://lms.server/lcf/1.0/message-alerts

<message-alert xmlns="http://ns.bic.org/lcf/1.0">
<!-- optional fields: priority display-type display-constraint start-date end-date -->
  <message-type>01</message-type> <!-- Action required -->
  <message-text>
	<message-format>03</message-format> <!-- Unicode -->
	<text>Message text…</text>
  </message-text>
  <audience>03</audience>  
     <!-- Patrons related to specified loans 
         (or 04 for reservations -->  
  <loan-ref>https://ill.server/lcf/1.0/loans/loan1-id</loan-ref>
  <loan-ref>https://ill.server/lcf/1.0/loans/loan2-id</loan-ref>
  <loan-ref>https://ill.server/lcf/1.0/loans/loan3-id</loan-ref>
</message-alert>

Get ILL-Loan costs, ill loan period etc.

POST to https://ill.server/lcf/1.0/loans?quotation=y

LMS Updates ILL

https://ill.server/ill/lcf/1.0/loans/-loan-id

ILL Updates LMS

PATCH to https://lms.server/ill/lcf/1.0/loans/ with
<loan-identifier>https://ill.server/ill/lcf/1.0/loans/loan-id</loan-indentifier>

@mdovey mdovey self-assigned this Feb 22, 2023
@mdovey mdovey added this to the Someday.Major milestone Nov 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
LCF
  
Awaiting More Information
Status: No status
Development

No branches or pull requests

3 participants