POST /api/.../workflow
Create a local hold request for a patron at either the bibliographic or item level. For detailed workflow process information, see Overview.
A typical hold request is "locked". The means that all that needs to be provided in this API call are the fields marked as required below. Any additional bibliographic or item data that needs to be included will be pulled from the bibliographic and/or item records inside the API call.
For "unlocked" hold requests (signify by setting the 'UnlockedRequest' attribute to 'true'), the caller must provide at least the 'Title' attribute plus any additional fields listed below the 'UnlockedRequest' attribute in the table below.
This call requires the HoldRequests_Create (ID: 89) permission to create the request and the OverrideRequestBlocks_Allow (ID: 132) permission to override hold request blocks.
For title is not holdable step, the following are reasons a hold request is blocked and can NOT be bypassed:
For title is not holdable step, the following are reasons a hold request is blocked and CAN be bypassed:
Name | Type | Required | Description |
---|---|---|---|
WorkflowRequest | DtoWorkflowRequest | Yes | Define this parameter in the request body. |
Property | Type | Nullable | Description |
---|---|---|---|
WorkflowRequestType | Int | No | Required. For placing a hold request, this must be set to 5. |
TxnBranchID | Int | No | Transacting branch ID. This should represent where the request originated from. Typically the same as the logged on branch, but in the case of offline processing it would be the branch that was logged into during offline processing. |
TxnUserID | Int | No | Transacting Polaris user ID. This should represent who originally created this request. Typically the same as the logged on user, but in the case of offline processing it would be the user that was logged on during offline processing. |
TxnWorkstationID | Int | No | Transacting workstation ID. This should represent where the request originated from. Typically the same as the logged on workstation, but in the case of offline processing it would be the workstation that was logged into during offline processing. |
RequestExtension | DtoWorkflowRequestExtension | No | To update hold request requires a HoldRequestExtensionData object. |
WorkflowReplies | List of DtoWorkflowReply | Yes | It is possible to pass in a list of replies for automated processing. |
Property | Type | Nullable | Description |
---|---|---|---|
WorkflowRequestExtensionType | Int | No | For an update hold request, the extension type must be a 9 (HoldRequestData). |
Data | Object | No | This must be an extension data object of type DtoHoldRequestExtensionData |
Property | Type | Nullable | Description |
---|---|---|---|
PatronID | Int | No | No |
PickupBranchID | Int | No | No |
Origin | String | No | 1 = PAC, 2 = Staff Client, 3 - NCIPILL |
ActivationDate | DateTime | No | Date cannot be in the past |
ExpirationDate | DateTime | No | Must be greater than ActivationDate |
BibliographicRecordID | Int | Yes | Field is ignored if UnlockedRequest is set to 'true'. |
ItemRecordID | Int | Yes |
Only required if it is an item-level request. Field is ignored if UnlockedRequest is set to 'true'. |
StaffDisplayNotes | String | Yes | |
NonPublicNotes | String | Yes | |
PACDisplayNotes | String | Yes | |
BorrowByMail | Boolean | Yes | |
TrackingNumber | String | Yes | |
IgnorePatronBlocksPrompt | Boolean | Yes | Set to true if the caller has already checked patron blocks. |
PatronBlocksOnlyPrompt | Boolean | Yes | Set to true to get patron blocks only. |
IsORSStaffNoteManuallySupplied | Boolean | Yes | Default is false. When set to true, the service will not add the system supplied staff note for an ORS patron. This should be set to true when the UI is handling the 'Outreach Services Patron' staff note. |
BulkMode | Boolean | No | When set to true, checking serial multipart steps are skipped. |
IgnorePromptForMaterialTypeIDs | List of Integers | No | Used only if 'BulkMode' is set true. The caller may choose to provide a list of material type IDs that may be ignored on future placing hold request (within this patron's holds session). This basically allows them to only display the material exceeded prompt a single time for each material type that is exceeded. The bib record primary MARCTOM ID is returned in the prompt message's extension data. WorkflowPromptID 100. The caller should store the ID for use in this list. |
IgnorePromptForMinimumAges | List of Integers | No | The caller may choose to provide a list of minimum ages that may be ignored on future placing hold request (within this patron's holds session). This basically allows them to only display the minimum age prompt a single time for each age for material type that is exceeded. The minimum age is returned in the prompt message's extension data. WorkflowPromptID is 151. The caller should store the ID for use in this list. |
UnlockedRequest | Boolean | Yes | If set to 'true', any of the bibliographic and item fields listed below will be used instead of the data from the associated bibliographic or Item record. If not specified or set to 'false', all of the fields below will be ignored. |
Title | String | No (when UnlockedRequest is true) | Max length: 255 |
Author | String | Yes | Max length: 255 |
Series | String | Yes | Max length: 255 |
Publisher | String | Yes | Max length: 50 |
PublicationYear | Int | Yes | 4 digit string |
ISBN | String | Yes | Max length: 50 |
ISSN | String | Yes | Max length: 50 |
Edition | String | Yes | Max length: 10 |
LCCN | String | Yes | Max length: 40 |
MARCTOMID | Int | Yes | For a list of valid IDs, see Bibliographic Types of Material |
Pages | String | Yes | Max length: 255 |
Designation | String | Yes | Used for "issue" data. Max length: 780 |
VolumeNumber | String | Yes | Max length: 60 |
{
"WorkflowRequestType":5,
"TxnBranchID":"3",
"TxnUserID":"1",
"TxnWorkstationID":"1233",
"RequestExtension":
{
"WorkflowRequestExtensionType":9,
"Data":
{
"ActivationDate":"6/6/2018",
"ExpirationDate":"8/1/2018",
"PickupBranchID":"3",
"PatronID":358255,
"BibliographicRecordID":283211,
"Origin": "1",
"PACDisplayNotes":"PAC Display Notes",
"StaffDisplayNotes":"Staff Display Notes",
"NonPublicNotes":"Non Public Notes",
"BorrowByMail":false,
"RemoveBlock":true,
"IgnorePatronBlocksPrompt":false,
"IgnorePromptForMinimumAges":[]
}
},
"WorkflowReplies":null
}
Summary data for the list of patron blocks will be returned in the PatronBlocks and LinkedPatronBlocks properties. They can be displayed to the user for acknowlegment or bypass.
{
"WorkflowRequestGuid": "2c2b1416-ac94-4b31-8bcc-7e5f2a11c0e9",
"WorkflowRequestType": 5,
"WorkflowStatus": -3,
"Prompt": {
"WorkflowPromptID": 96,
"Name": null,
"Description": null,
"WorkflowPromptType": 3,
"WorkflowPromptOptions": 6,
"DefaultPromptOption": 4,
"Title": "Patron is blocked",
"Message": "Do you want to continue with this operation?",
"AlternateMessage": "",
"AlternateYesText": "",
"AlternateNoText": "",
"AlternateCancelText": "",
"AlternateContinueText": "",
"PromptExtension": {
"WorkflowPromptExtensionType": 8,
"Data": {
"HeldItemBlock": true,
"FirstLevelFineBlock": true,
"UnreadMessageBlock": false,
"SecondLevelFineBlock": false,
"OverdueItemBlock": true,
"ClaimLimitBlock": false,
"BlockingNoteBlock": false,
"CollectionAgencyBlock": false,
"PatronSystemBlock": false,
"LibraryAssignedBlock": false,
"FreeTextBlock": false,
"AssociatedPatronBlock": false,
"PatronBlocks": [
{
"PatronID": 358255,
"PatronFullName": "Jetson, Astro",
"BlockType": 3,
"BlockID": 103,
"BlockDescription": "Long overdue: 1 of 2",
"PatronBranchID": 3,
"CreationDate": null
},
{
"PatronID": 358255,
"PatronFullName": "Jetson, Astro",
"BlockType": 3,
"BlockID": 104,
"BlockDescription": "Patron owes money. Amount due: $9.23",
"PatronBranchID": 3,
"CreationDate": null
},
{
"PatronID": 358255,
"PatronFullName": "Jetson, Astro",
"BlockType": 3,
"BlockID": 106,
"BlockDescription": "Patron has 1 held items at registered branch of Amsterdam Free Library",
"PatronBranchID": 3,
"CreationDate": null
},
{
"PatronID": 358255,
"PatronFullName": "Jetson, Astro",
"BlockType": 3,
"BlockID": 106,
"BlockDescription": "Patron has 1 held items at branches other than registered branch of Amsterdam Free Library",
"PatronBranchID": 3,
"CreationDate": null
}
],
"LinkedPatronBlocks": []
}
}
},
"InformationMessages": [],
"AnswerExtension": null,
"CircTranType": 0,
"ReceiptType": 0,
"ReceiptUrl": "",
"FineEReceiptSent": false
}
{
"WorkflowRequestGuid":"cdb2461d-d9d9-43f3-bada-36fa1c269f23",
"WorkflowRequestType":5,
"WorkflowStatus":-3,
"Prompt":
{
"WorkflowPromptID":68,"Name":null,
"Description":null,"WorkflowPromptType":1,
"WorkflowPromptOptions":6,
"DefaultPromptOption":4,
"Title":"Exceeded total request limit",
"Message":"Patron (వనజ Ramaraos) has exceeded the maximum number of requests permitted.
Title: Eileen [electronic resource] : A Novel
Do you want to place this request?",
"AlternateYesText":"",
"AlternateNoText":"",
"AlternateCancelText":"",
"AlternateContinueText":"",
"PromptExtension":null
},
"InformationMessages":[],
"AnswerExtension":null,
"CircTranType":0,
"ReceiptType":0,
"ReceiptUrl":"",
"FineEReceiptSent":false
}
{
"WorkflowRequestGuid":"4b31805a-06d9-430a-95ce-404ebfbeddb1",
"WorkflowRequestType":5,
"WorkflowStatus":-3,
"Prompt":
{
"WorkflowPromptID":21,
"Name":null,
"Description":null,
"WorkflowPromptType":1,"WorkflowPromptOptions":6,
"DefaultPromptOption":0,
"Title":"Exceeded material type request limit","Message":"Patron (వనజ Ramaraos) has exceeded request limit for the title.
Title: Harry Potter and the sorcerer's stone
Patron has made 20 of 5 requests permitted for material type Book.
Do you want to place this request?",
"AlternateMessage":"",
"AlternateYesText":"",
"AlternateNoText":"",
"AlternateCancelText":"",
"AlternateContinueText":"",
"PromptExtension":
{
"WorkflowPromptExtensionType":34,
"Data":
{
MaxHoldMaterialTypes:[1]
}
}
},
"InformationMessages":[],
"AnswerExtension":null,
"CircTranType":0,
"ReceiptType":0,
"ReceiptUrl":"",
"FineEReceiptSent":false
}
{
"WorkflowRequestGuid":"cdb2461d-d9d9-43f3-bada-36fa1c269f23",
"WorkflowRequestType":5,
"WorkflowStatus":-3,
"Prompt":
{
"WorkflowPromptID":89,
"Name":null,
"Description":null,
"WorkflowPromptType":1,
"WorkflowPromptOptions":6,
"DefaultPromptOption":5,
"Title":"Title is blocked",
"Message":"Title: Eileen [electronic resource] : A Novel
All items are restricted from filling this request.
Do you want to place this request?",
"AlternateYesText":"",
"AlternateNoText":"",
"AlternateCancelText":"",
"AlternateContinueText":"",
"PromptExtension":null
},
"InformationMessages":[],
"AnswerExtension":null,
"CircTranType":0,
"ReceiptType":0,
"ReceiptUrl":"",
"FineEReceiptSent":false
}
A list of unique designation strings will be returned in the DesignationsOrVolumes attribute. They can be displayed to the user for selection or bypass. SA "Manage Item Requests" option (REQPARM_ITEM_REQUESTS_FROM_PAC) is set to 2 (Limit item requests to first available copy). SA "Limit item requests to first available copy" option (REQPARM_SERIAL_MULTIPART_REQ) set to 0 (Allow requests on serials in PAC and Staff Client) or 2 (Both).
{
"WorkflowRequestGuid":"c4571e09-274b-4d91-8caf-14ccd6929c03",
"WorkflowRequestType":5,
"WorkflowStatus":-3,
"Prompt":
{
"WorkflowPromptID":93,
"Name":null,
"Description":null,
"WorkflowPromptType":32,
"WorkflowPromptOptions":6,
"DefaultPromptOption":4,
"Title":"Serial/Multi Volume Holds",
"Message":"You have selected a serial or multi-part title. A request placed on the title will trap any available item.\nWould you like to:",
"AlternateMessage":"",
"AlternateYesText":"",
"AlternateNoText":"",
"AlternateCancelText":"",
"AlternateContinueText":"",
"PromptExtension":
{
"WorkflowPromptExtensionType":33,
"Data":
{
"ItemRecordCount":0,
"DesignationsOrVolumes":
[
"Vol. 18 (Dec. 2009)",
"Vol. 15 (Sep. 2009)",
"Vol. 12 (June 2009)",
"Vol. 11 (May 2009)",
"Vol. 10 (Apr. 2009)",
"Vol. 9 (Mar. 2009)",
"Vol. 8 (Feb. 2009)","Vol. 7 (Jan. 2009)",
"Vol. 6 (Dec. 2008)","Vol. 5 (Nov. 2008)",
"Vol. 4 (Oct. 2008)","Vol. 3 (Sep. 2008)",
"Vol. 2 (Aug. 2008)","Vol. 1 (July 2008)"
],
"IsDesignation":true
}
}
},
"InformationMessages":[],
"AnswerExtension":null,
"CircTranType":0,
"ReceiptType":0,
"ReceiptUrl":"",
"FineEReceiptSent":false
}
}
{
"WorkflowPromptID": 93,
"WorkflowPromptResult": 5,
"ReplyValue": null,
"ReplyExtension": {
"WorkflowReplyExtensionType": 9,
"Data": {
"BibLevelOption": 1,
"IsDesignation": false
}
}
}
{
"WorkflowPromptID": 93,
"WorkflowPromptResult": 5,
"ReplyValue": null,
"ReplyExtension": {
"WorkflowReplyExtensionType": 9,
"Data": {
"FirstAvailableOption": 1,
"DesignationOrVolume": "JV",
"IsDesignation": true
}
}
}
This bibliographic record is a serial and the SA "Manage Item Requests" option (REQPARM_ITEM_REQUESTS_FROM_PAC) is set to 1 (Allow item requests from PAC).
{
"WorkflowRequestGuid": "c07ba982-b123-48df-99fb-e9b03cd82dab",
"WorkflowRequestType": 5,
"WorkflowStatus": -3,
"Prompt": {
"WorkflowPromptID": 94,
"Name": null,
"Description": null,
"WorkflowPromptType": 33,
"WorkflowPromptOptions": 6,
"DefaultPromptOption": 4,
"Title": "Serial Holds",
"Message": "You have selected a serial title. A request placed on the title will trap any available item.\nSelect one of the following:",
"AlternateMessage": "",
"AlternateYesText": "",
"AlternateNoText": "",
"AlternateCancelText": "",
"AlternateContinueText": "",
"PromptExtension": {
"WorkflowPromptExtensionType": 33,
"Data": {
"ItemRecordCount": 0,
"DesignationsOrVolumes": [
"Vol. 18 (Dec. 2009)",
"Vol. 15 (Sep. 2009)",
"Vol. 12 (June 2009)",
"Vol. 11 (May 2009)",
"Vol. 10 (Apr. 2009)",
"Vol. 9 (Mar. 2009)",
"Vol. 8 (Feb. 2009)",
"Vol. 7 (Jan. 2009)",
"Vol. 6 (Dec. 2008)",
"Vol. 5 (Nov. 2008)",
"Vol. 4 (Oct. 2008)",
"Vol. 3 (Sep. 2008)",
"Vol. 2 (Aug. 2008)",
"Vol. 1 (July 2008)"
],
"IsDesignation": true
}
}
},
"InformationMessages": [],
"AnswerExtension": null,
"CircTranType": 0,
"ReceiptType": 0,
"ReceiptUrl": "",
"FineEReceiptSent": false
}
{
"WorkflowPromptID": 94,
"WorkflowPromptResult": 5,
"ReplyValue": null,
"ReplyExtension": {
"WorkflowReplyExtensionType": 9,
"Data": {
"BibLevelOption": 1,
"IsDesignation": false
}
}
}
This item level request is for a serial. Provide the caller with the option to promote this request to a bib-level request.
{
"WorkflowRequestGuid": "c07ba982-b123-48df-99fb-e9b03cd82dab",
"WorkflowRequestType": 5,
"WorkflowStatus": -3,
"Prompt": {
"WorkflowPromptID": 88,
"Name": null,
"Description": null,
"WorkflowPromptType": 27,
"WorkflowPromptOptions": 6,
"DefaultPromptOption": 4,
"Title": "Serial Holds",
"Message": "You have selected a serial title. A request placed on the title will trap any available item.\nSelect one of the following:",
"AlternateMessage": "",
"AlternateYesText": "",
"AlternateNoText": "",
"AlternateCancelText": "",
"AlternateContinueText": "",
"PromptExtension": {
"WorkflowPromptExtensionType": 33,
"Data": {
"ItemRecordCount": 0,
"DesignationsOrVolumes": [
"Vol. 18 (Dec. 2009)",
"Vol. 15 (Sep. 2009)",
"Vol. 12 (June 2009)",
"Vol. 11 (May 2009)",
"Vol. 10 (Apr. 2009)",
"Vol. 9 (Mar. 2009)",
"Vol. 8 (Feb. 2009)",
"Vol. 7 (Jan. 2009)",
"Vol. 6 (Dec. 2008)",
"Vol. 5 (Nov. 2008)",
"Vol. 4 (Oct. 2008)",
"Vol. 3 (Sep. 2008)",
"Vol. 2 (Aug. 2008)",
"Vol. 1 (July 2008)"
],
"IsDesignation": true
}
}
},
"InformationMessages": [],
"AnswerExtension": null,
"CircTranType": 0,
"ReceiptType": 0,
"ReceiptUrl": "",
"FineEReceiptSent": false
}
{
"WorkflowPromptID": 88,
"WorkflowPromptResult": 5,
"ReplyValue": null,
"ReplyExtension": {
"WorkflowReplyExtensionType": 9,
"Data": {
"BibLevelOption": 0
}
}
}
{
"WorkflowPromptID": 88,
"WorkflowPromptResult": 5,
"ReplyValue": null,
"ReplyExtension": {
"WorkflowReplyExtensionType": 9,
"Data": {
"BibLevelOption": 1
}
}
}
{
"WorkflowRequestGuid": "4e3e56ec-0bb8-4848-ab7c-56fc6f48794c",
"WorkflowRequestType": 5,
"WorkflowStatus": -3,
"Prompt": {
"WorkflowPromptID": 150,
"Name": null,
"Description": null,
"WorkflowPromptType": 1,
"WorkflowPromptOptions": 6,
"DefaultPromptOption": 5,
"Title": "Minimum age alert",
"Message": "Patron (Chris Young) does not meet the minimum age requirements for this material type. Do you want to continue?",
"PromptExtension": null
},
"AnswerExtension": null,
"CircTranType": 0,
"ReceiptType": 0,
"ReceiptUrl": "",
"FineEReceiptSent": false
}
Summary data for the list of duplicate hold requests will be returned in the DuplicateHolds attribute. They can be displayed to the user for acknowlegment or bypass.
{
"WorkflowRequestGuid":"cdb2461d-d9d9-43f3-bada-36fa1c269f23",
"WorkflowRequestType":5,
"WorkflowStatus":-3,
"Prompt":
{
"WorkflowPromptID":77,
"Name":null,
"Description":null,
"WorkflowPromptType":19,
"WorkflowPromptOptions":6,
"DefaultPromptOption":4,
"Title":"Duplicate Hold requests exist",
"Message":null,
"AlternateYesText":"",
"AlternateNoText":"",
"AlternateCancelText":"",
"AlternateContinueText":"",
"PromptExtension":
{
"WorkflowPromptExtensionType":31,
"Data":
{
"DuplicateHolds":
[
{
"SysHoldRequestID":0,
"BrowseAuthor":"Moshfegh, Ottessa.",
"BrowseTitle":"Eileen [electronic resource] : A Novel",
"FormatDescription":"Ebook",
"CreationDate":"2018-04-30T12:01:06.173-04:00",
"PickupBranch":"Amsterdam Free Library",
"PickupBranchID":3
},
{
"SysHoldRequestID":0,
"BrowseAuthor":"Moshfegh, Ottessa.",
"BrowseTitle":"Eileen [electronic resource] : A Novel",
"FormatDescription":"Ebook",
"CreationDate":"2018-04-30T14:24:42.527-04:00",
"PickupBranch":"Amsterdam Free Library",
"PickupBranchID":3
}
]
}
}
},
"InformationMessages":[],
"AnswerExtension":null,
"CircTranType":0,
"ReceiptType":0,
"ReceiptUrl":"",
"FineEReceiptSent":false
}
{
"WorkflowRequestGuid":"811a22e5-9eb1-4239-bb96-58e6ff12a32f",
"WorkflowRequestType":21,
"WorkflowStatus":1,
"Prompt":null,
"InformationMessages":
[
{
"Type":1,
"Title":"",
"Message":"The hold request has been created."
}
],
"AnswerExtension":null,
"CircTranType":0,
"ReceiptType":0,
"ReceiptUrl":"",
"FineEReceiptSent":false
}
Code | Description |
---|---|
200 | OK. Check for WorkflowStatus, continue until process is complete. |
400 |
FAILURE due to invalid input or data validation. |
409 | CONFLICT. Patron record is secured. |
Permission IDs found here.
CR_HoldRequests_Create