Proposal: SIP2 Extension Proxy for
- 1 Introduction
- 2 Get Proxy-For Patrons with Patron Information Request
- 3 Request on behalf
- 3.1 Checkout (11)
- 3.1.1 Checkout request
- 3.1.2 Checkout response
- 3.2 Renew (29)
- 3.3 Patron Information (63)
- 3.4 Patron Status Request (23)
- 3.5 Fee Paid (37)
- 3.6 Other Requests
- 3.1 Checkout (11)
- 4 SIP2-Server
- 4.1 FOLIO-API-Requests
- 4.1.1 circulation/check-out-by-barcode
- 4.1.2 circulation/renew-by-barcode
- 4.1.3 users/proxyfor
- 4.1.4 Fragen
- 4.1 FOLIO-API-Requests
- 5 SIP2-Client
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?
|
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 |
---|---|---|---|---|---|
| language |
| 3-char | required | Unknown (default) 000 |
| 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 VersionPositionDefinitionfields in response (64) CG fee item identifier (required) 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 |
---|---|---|---|---|---|
| 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.
|
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
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
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
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.
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.
The patron carries out all further requests on behalf of the other patrons.