HoldRequestCreate
Start the local hold request process. This process is based on a “messaging” system and will allow a Polaris patron to place a local hold request. After calling the HoldRequestCreate method, one or more calls to the HoldRequestReply method may be required. The message exchange is complete when a StatusType of Error (1) or Answer (2) is returned or if an error is raised by a database exception.
Placing Hold Requests Against Serial Publications
Although a call to BibGet will return a format of Serial, Polaris logic that is not exposed in the API determines whether the record is actually a “serial bib.” However, if you default to “first available copy,” the library member can get a copy quicker. Here are the possibilities:
- Bib ID and item barcode - Item-specific request
- Bib ID, item barcode, and item’s volume number - First available copy of a specific volume or issue
- Bib ID and item’s designation - First available copy of a specific “serial bib”
- Bib ID and item’s volume number - First available copy of a specific multi-part set bib
| POST | /public/1/holdrequest |
Authorization required?
Yes
XML Body Elements
| Name |
Required |
Description/Notes |
|
PatronID |
Yes |
ID of Patron placing hold request |
|
BibID |
Yes |
ID of bibliographic record hold is being placed on |
|
ItemBarcode |
|
Barcode of item-specific hold request |
|
VolumeNumber |
|
Volume of hold request |
|
Designation |
|
Serial designation of hold request |
|
PickupOrgID |
Yes |
ID of branch where patron would like to pick up item 0 - Use the patron's registered library |
|
IsBorrowByMail |
|
If request is Borrow by Mail request. 0 - no; 1 - yes. |
|
PatronNotes |
|
Notes created by patron |
|
ActivationDate |
|
Date this hold request will become active |
|
WorkstationID |
Yes |
ID of workstation where this hold request was created |
|
UserID |
Yes |
ID of Polaris user that created this request |
|
RequestingOrgID |
Yes |
ID of branch where this hold request was created |
|
TargetGUID |
|
GUID of search target. ONLY USED IF NOT LOCAL. |
| HoldPickupAreaID | ID of area in the branch where patron would like to pick up item |
XML Elements Returned
|
Name |
Description/Notes |
| PAPIErrorCode |
PAPI Error code: Negative values represent errors and are defined elsewhere. Note: On successful completion, the PAPI error code is populated with a positive integer representing the number of rows returned. |
| ErrorMessage | Error or information message. |
|
RequestGUID |
Internal hold request GUID |
|
TxnGroupQualifer |
Txn group qualifier of this hold message |
|
TxnQualifier |
Txn qualifier of this hold message |
|
StatusType |
Status type 1 - Error |
|
StatusValue |
Status value 1 - Hold request placed |
|
Message |
Display text |
|
QueuePosition |
If successfully placed, position in hold queue |
|
QueueTotal |
If successfully placed, total holds in queue |
Sample Conditional Questions
|
Status Value |
ILL Only |
Question |
|
3 |
Yes |
Item is available locally. Would you like to place a local hold request? |
|
4 |
Yes |
Do you accept the ILL policy? [Defined in Polaris SA] |
|
5 |
|
There are [12] active requests for this title. Do you still want to place the request? |
|
6 |
|
No items are linked to this record. Your request may not be filled. Do you still want to place this request? |
|
7 |
|
The library charges for hold requests. Do you still want to place the request? |
Example
| http://localhost/PAPIService/REST/public/v1/1033/100/1/holdrequest |
Body
|
<HoldRequestCreateData> <PatronID>299377</PatronID> <BibID>15592</BibID> <ItemBarcode/> <VolumeNumber/> <Designation/> <PickupOrgID>74</PickupOrgID> <IsBorrowByMail>0</IsBorrowByMail> <PatronNotes/> <ActivationDate>2009-11-17T09:28:00.00</ActivationDate> <WorkstationID>1</WorkstationID> <UserID>1</UserID> <RequestingOrgID>74</RequestingOrgID> <TargetGUID></TargetGUID> <HoldPickupAreaID>0</HoldPickupAreaID> </HoldRequestCreateData> |
Return - Success
|
HTTP/1.1 200 OK <HoldRequestResult xmlns:i="http://www.w3.org/2001/XMLSchemainstance"> <PAPIErrorCode>0</PAPIErrorCode> <ErrorMessage/> <RequestGUID>7F279D6E-CFDE-4AE3-BE96-EE12305CDF11</RequestGUID> <TxnGroupQualifer>BQeK9WLrNew_0BRKISzr2G</TxnGroupQualifer> <TxnQualifier>496QYG6MMKss1C6nagTGkG</TxnQualifier> <StatusType>3</StatusType> <StatusValue>5</StatusValue> <Message>There are [1] active requests for this title. Do you still want to place the request?</Message> <QueuePosition>0</QueuePosition> <QueueTotal>0</QueueTotal> </HoldRequestResult> |
Return - Failed
|
HTTP/1.1 200 OK <HoldRequestResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <PAPIErrorCode>-4006</PAPIErrorCode> <ErrorMessage/> <RequestGUID/> <TxnGroupQualifer/> <TxnQualifier/> <StatusType>0</StatusType> <StatusValue>0</StatusValue> <Message/> <QueuePosition>0</QueuePosition> <QueueTotal>0</QueueTotal> </HoldRequestResult> |