Proposal: SIP2 Extension Proxy for

Introduction

This Feature allows a patron to do an action for another patron.

To do this, the patron must select for whom he would like to make the checkout or renewal or something else. 

Patron information Response will provide the selectable patron identifiers.

Two patron identifiers must be provided with each qualified request.

To do this, the request is expanded to include the identifier of the patron who can borrow, or renew, or another action for the other person.

Use field identifier PB for "proxy" patrons as additional patron identifier in requests and get one or more fields in Patron Information Response a patron is proxy for(PA).

PA is a new introduced field. It contains the patron identifier a patron is proxy for. It is used in Patron Information Response.

Requests use the new field PB which contains the proxy patron identifier. The associated password field is the existing field AD. The action belongs to patron in AA.

The user to use for the request remains in AA, only the authorization changes if the PB field is present.

 

Sollten alle sinnvollen Funktionen (Kontoanzeige, Verlängern,...) ermöglicht werden oder lediglich die Ausleihe?

  • Patron Information Request (wird immer benötigt für die Liste der Nutzernummern und in weiteren Abfragen für die Namen der Nutzer)

  • checkout (im FOLIO-API-Request check-out-by-barcode kann man den Parameter proxyUserBarcode angeben

 

Get Proxy-For Patrons with Patron Information Request

Every patron information response includes the patron numbers for whom it is to send further requests.

This should be fine, because: "Fields with unrecognized field identifiers should be ignored. This allows new fields to be added to the protocol in the future, without adversely affecting software written for earlier versions of the protocol."

No additional requests are needed. PA is only present, if there are patrons a patron is proxy for. And summary field is not used for other purposes than items.

Patron Information Request

This message is a superset of the Patron Status Request message. It should be used to request patron information. The ACS should respond with the Patron Information Response message.

63<language><transaction date><summary><institution id><patron identifier><terminal password><patron password><start item><end item>

 

Version

Field

ID

Length

Type

Format / Description

Version

Field

ID

Length

Type

Format / Description

 

language

 

3-char

required

Unknown (default) 000
English 001
French 002
German 003
Italian 004
Dutch 005
Swedish 006
Finnish 007
Spanish 008
Danish 009
Portuguese 010
Canadian-French 011
Norwegian 012
Hebrew 013
Japanese 014
Russian 015
Arabic 016
Polish 017
Greek 018
Chinese 019
Korean 020
North American Spanish 021
Tamil 022
Malay 023
United Kingdom 024
Icelandic 025
Belgian 026
Taiwanese 027

 

transaction date

 

18-char

required

YYYYMMDDZZZZHHMMSS

2.00

summary

 

10-char

required

This allows the SC to request partial information only. This field usage is similar to the NISO defined PATRON STATUS field. A Y in any position indicates that
detailed as well as summary information about the corresponding category of items can be sent in the response. A blank (code $20) in this position means that only summary information should
be sent about the corresponding category of items. Only one category of items should be requested at a time, i.e. it would take 6 of these messages, each with a different position set to Y,
to get all the detailed information about a patron’s items. All of the 6 responses, however, would contain the summary information. See Patron Information Response.

VersionPositionDefinitionfields in response (64)
2.000hold itemsAS
2.001overdue itemsAT
2.002charged itemsAU
2.003fine itemsAV
2.004recall itemsBU
2.005unavailable holdsCD
fee6fee items

CG fee item identifier (required)
FA fee amount (required)
FB item identifier that belongs to fee item (or empty)
FC creation date of fee item (gossip: always “dd.MM.yyyy”) (or empty)
FD description/titel of fee item (or empty)
FE cost type of fee item (or empty)
FF description of cost type of fee item (or empty)

unused fields remain empty

 

institution id

AO

variable

required

 

 

patron identifier

AA

variable

required

 

 

terminal password

AC

variable

optional

 

 

patron password

AD

variable

optional

 

2.00

start item

BP

variable

optional

 

2.00

end item

BQ

variable

optional

 

Proxy

proxy patron

PB

variable 

optional

a patron who is proxy for patron in field AA (used for additional information of patron the proxy patron is proxy for: Name, hold items, charged items,...). This field is not used for initial request to get patrons the user is proxy for.

 

Patron Information Response

The ACS must send this message in response to the Patron Information message.

64<patron status><language><transaction date><hold items count><overdue items count><charged items count><fine items count><recall items count><unavailable holds count><institution id><patron identifier><personal name><hold items limit><overdue items limit><charged items limit><valid patron><valid patron password><currency type><fee amount><fee limit><items><home address><e-mail address><home phone number><screen message><print line><proxyfor patron>

Version

Field

ID

Length

Type

Format / Description

Version

Field

ID

Length

Type

Format / Description

 

patron status

 

14-char

required

 

 

language

 

3-char

required

 

 

transaction date

 

18-char

required

YYYYMMDDZZZZHHMMSS

2.00

hold items count

 

4-char

required

 

2.00

overdue items count

 

4-char

required

 

2.00

charged items count

 

4-char

required

 

2.00

fine items count

 

4-char

required

 

2.00

recall items count

 

4-char

required

 

2.00

unavailable holds count

 

4-char

required

 

 

institution id

AO

variable

required

 

 

patron identifier

AA

variable

required

 

 

personal name

AE

variable

required

 

2.00

hold items limit

BZ

4-char

optional

 

2.00

overdue items limit

CA

4-char

optional

 

2.00

charged items limit

CB

4-char

optional

 

2.00

valid patron

BL

1-char

optional

Y or N

2.00

valid patron password

CQ

1-char

optional

Y or N

2.00

currency type

BH

3-char

optional

 

2.00

fee amount

BV

variable

optional

The amount of fees owed by this patron

2.00

fee limit

CC

variable

optional

The fee limit amount

 

item: zero or more instances of one of the following (lines of item types), based on “summary” field of the Patron Information message request

2.00

hold items

AS

variable

 

this field should be sent for each hold item (see summary field in 63)

2.00

overdue items

AT

variable

 

this field should be sent for each overdue item  (see summary field in 63)

2.00

charged items

AU

variable

 

this field should be sent for each charged item  (see summary field in 63)

2.00

fine items

AV

variable

 

this field should be sent for each fine item  (see summary field in 63)

2.00

recall items

BU

variable

 

this field should be sent for each recall item  (see summary field in 63)

2.00

unavailable hold

CD

variable

 

this field should be sent for each unavailable hold item  (see summary field in 63)

fee

fee items

unused fields remain empty

 

 

 

 

(see summary field in 63)

CG

variable

required

fee item identifier 

FA

variable

required

fee amount

FB

variable

optional/empty

item identifier which belogs to fee item

FC

variable

optional/empty

creation date of fee item (gossip: always “dd.MM.yyyy”) (optional/empty)

FD

variable

optional/empty

description/titel of fee item

FE

variable

optional/empty

cost type of fee item

FF

variable

optional/empty

description of cost type of fee item

Proxy

proxyfor patron

PA

variable-length

optional

one field for each patron this user is proxy for

 

 

 

 

 

 

2.00

home address

BD

variable

optional

 

2.00

e-mail address

BE

variable

optional

 

2.00

home phone number

BF

variable

optional

 

 

screen message

AF

variable

optional

 

 

print line

AG

variable

optional

 

 

Request on behalf

Checkout (11)

Checkout request

Checkout works as usual, it just adds a patron number in a new field. The patron password belongs to this new number.

This message is used by the SC to request to check out an item, and also to cancel a Checkin request that did not successfully complete. The ACS must respond to this command with a Checkout Response message.

11<SC renewal policy><no block><transaction date><nb due date><institution id><patron identifier><item identifier><terminal password><patron password><item properties><fee acknowledged><cancel><proxy patron>

Version

Field

ID

Format

Version

Field

ID

Format

 

SC renewal policy

 

1-char, fixed-length required field: Y or N.

 

no block

 

1-char, fixed-length required field: Y or N.

 

 

 

18-char, fixed-length required field: YYYYMMDDZZZZHHMMSS. The date and time that the patron checked out the item at the SC unit.

 

nb due date

 

18-char, fixed-length required field: YYYYMMDDZZZZHHMMSS

 

institution id

AO

variable-length required field

 

patron identifier

AA

variable-length required field

 

item identifier

AB

variable-length required field

 

terminal password

AC

variable-length required field

2.00

item properties

CH

variable-length required field

2.00

patron password

AD

variable-length required field

2.00

fee acknowledged

BO

1-char, optional field: Y or N

2.00

cancel

BI

1-char, optional field: Y or N

Proxy

proxy patron

PB

variable-length optional field, a patron who is proxy for patron in field AA

Checkout response 

Response needs only an additional error message if given authorized patron (PB) with patron password AD is not authorized to perform a checkout for the patron identifier AA.

"Not allowed to perform a checkout other patron"

Renew (29)

Renewal works as usual, it just adds a patron number in new field PB. The patron password belongs to proxy patron in PB.

Patron Information (63)

Patron Information works as usual, it just adds a patron number in new field PB. The patron password belongs to proxy patron in PB.

Patron Status Request (23)

Patron Status works as usual, it just adds a patron number in new field PB. The patron password belongs to proxy patron in PB.

Fee Paid (37)

Fee Paid works as usual, it just adds a patron number in new field PB. The patron password belongs to proxy patron in PB.

Other Requests

  • Hold (15)

  • Renew All (65)

SIP2-Server

Only a few changes are necessary to implement the protocol additions.

  • The Patron Information Response contains the patrons for whom actions may be taken. An additional API call is required for this. This should be able to be switched on in the configuration.

  • Many requests (63,11,29,23,37,15,65) can now contain the optional PB field. If this is the case, the password check is carried out for this user. Otherwise, the actions will be carried out as before for the patron AA

FOLIO-API-Requests

circulation/check-out-by-barcode

https://s3.amazonaws.com/foliodocs/api/mod-circulation/p/circulation.html#circulation_check_out_by_barcode_post

Hier kann der Parameter proxyUserBarcode angegeben werden. 

Für die SIP2-Anfragen ist dieser Parameter nicht nötig. Für Arbeiten an der Theke wahrscheinlich auch nicht. Wofür gibt es diesen Parameter und hat er noch weiterreichende Auswirkungen? Kann man sehen, welcher Bevollmächtigte dieses Buch entliehen hat?

circulation/renew-by-barcode

https://s3.amazonaws.com/foliodocs/api/mod-circulation/p/circulation.html#circulation_renew_by_barcode_post

Hier gibt es keinen Parameter proxyUserBarcode.

Für die SIP2-Anfragen ist dieser Parameter auch nicht nötig.

users/proxyfor

https://s3.amazonaws.com/foliodocs/api/mod-users/p/proxiesFor.html#proxiesfor_get

Hier kann mittels CQL-Abfrage die Liste der Nutzernummern geholt werden, die berechtigt sind, für einen Nutzer Medien zu entleihen (verlängern,...). 

Fragen 

Welche APIs für die anderen Requests?

SIP2-Client

  1. the patron authenticates himself

    • The Patron Information Response returns a list of patron ID numbers for which he is authorized to borrow media, if such a list exists.

  2. The patron is shown the list of people and of course himself and can choose for whom he would like to carry out an action

    • If a patron has not received authorization from other people, then this dialog may not appear. The behavior would then be the same as before.

    • The list contains the name and perhaps also the ID number of the people (configurable?) who have authorized it. This requires additional patron information requests or patron status requests.

  3. The patron carries out all further requests on behalf of the other patrons.