Fill Hold Request

Start Fill Hold Request Process

POST /api/.../workflow

This method allows the caller to fill a local hold request for a patron with a specific item barcode.

Permissions

This call requires the HoldRequests_Modify (ID: 90) permission based on the pick up branch.

Workflow Steps

  • Validate item
  • Item needs to be transfered (can be bypassed)

The following error messages may be returned (they cannot be bypassed):

  • Quick-circ item cannot fill hold requests
  • No matching item record was found. Check the item barcode
  • The record status of this item is Provisional. Action cannot be taken on a Provisional item
  • The record status of this item is deleted. Action cannot be taken on a Deleted Item
  • The item has an invalid record status. Action cannot be taken on this item
  • The item cannot fill the hold request because the item's status is not In
  • The item is not holdable
  • This item is marked 'Do not mail to patron'. To fill this request, uncheck this option on one or more items or uncheck the Borrow by mail option for this request.

Request Information

Parameters
Name Type Required Description
WorkflowRequest DtoWorkflowRequest Yes Define this parameter in the request body.
DtoWorkflowRequest
Property Type Nullable Description
WorkflowRequestType Int No Required. For filling a hold request, this must be set to 22.
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 fill a hold request requires a FillRequestExtensionData object.
WorkflowReplies List of DtoWorkflowReply Yes It is possible to pass in a list of replies for automated processing.
FillRequestExtensionData
Property Type Nullable Description
WorkflowRequestExtensionType Int No To fill hold request, the extension type must be a 18 (FillRequestExtensionData).
Data Object No This must be an extension data object of type DtoFillRequestExtensionData
DtoFillRequestExtensionData
Property Type Nullable Description
SysHoldRequestID Integer No Primary key. Used to update hold request.
ItemBarcode String Yes No

Fill hold Request body

application/json, text/json
{
    "WorkflowRequestType":22,
    "TxnBranchID":"3",
    "TxnUserID":"1",
    "TxnWorkstationID":"1237",
    "RequestExtension":
    {
        "WorkflowRequestExtensionType":18,
        "Data":{
            "SysHoldRequestID":820765,
            "ItemBarcode":"0002500125097"
        }
    },
    "WorkflowReplies":null
}

Response Information

Example - Invalid item barcode response
application/json, text/json
{
    "WorkflowRequestGuid":"721488e7-d46b-4786-a7d1-71679a5e3366",
    "WorkflowRequestType":22,
    "WorkflowStatus":-3,
    "Prompt":{
        "WorkflowPromptID":48,
        "Name":null,
        "Description":null,
        "WorkflowPromptType":1,
        "WorkflowPromptOptions":8,
        "DefaultPromptOption":1,
        "Title":"Request cannot be filled",
        "Message":"No matching item record was found.",
        "AlternateYesText":"",
        "AlternateNoText":"",
        "AlternateCancelText":"",
        "AlternateContinueText":"",
        "PromptExtension":null
    },
    "InformationMessages":[],
    "AnswerExtension":null,
    "CircTranType":0,
    "ReceiptType":0,
    "ReceiptUrl":"",
    "FineEReceiptSent":false
}
Example - Invalid item status response
application/json, text/json
{
    "WorkflowRequestGuid":"93065f99-7edf-4f26-a9c4-4f9da5d33a39",
    "WorkflowRequestType":22,
    "WorkflowStatus":-3,
    "Prompt":{
        "WorkflowPromptID":48,
        "Name":null,
        "Description":null,
        "WorkflowPromptType":1,
        "WorkflowPromptOptions":8,
        "DefaultPromptOption":1,
        "Title":"Request cannot be filled",
        "Message":"The item circulation status is Held. The item must be In to fill a request.",
        "AlternateYesText":"",
        "AlternateNoText":"",
        "AlternateCancelText":"",
        "AlternateContinueText":"",
        "PromptExtension":null
    },
    "InformationMessages":[],
    "AnswerExtension":null,
    "CircTranType":0,
    "ReceiptType":0,
    "ReceiptUrl":"",
    "FineEReceiptSent":false
}
Example - Item is blocked and not holdable
application/json, text/json
{
    "WorkflowRequestGuid":"0f440a80-1df3-4d05-99fd-fc2f8e980924",
    "WorkflowRequestType":22,
    "WorkflowStatus":-3,
    "Prompt":
    {
        "WorkflowPromptID":89,
        "Name":null,
        "Description":null,
        "WorkflowPromptType":1,
        "WorkflowPromptOptions":6,
        "DefaultPromptOption":5,
        "Title":"Item is blocked",
        "Message":"Title: Second foundation.
This item is not holdable.
Do you want to fill the request with this item?", "AlternateYesText":"","AlternateNoText":"", "AlternateCancelText":"", "AlternateContinueText":"", "PromptExtension":null }, "InformationMessages":[], "AnswerExtension":null, "CircTranType":0, "ReceiptType":0, "ReceiptUrl":"", "FineEReceiptSent":false }
Example - Transfer to another branch response
application/json, text/json
{
    "WorkflowRequestGuid":"2b187c2b-11c6-4c01-8a04-4831e5dbbc13",
    "WorkflowRequestType":22,
    "WorkflowStatus":-3,
    "Prompt":{
        "WorkflowPromptID":65,
        "Name":null,"Description":null,
        "WorkflowPromptType":1,
        "WorkflowPromptOptions":6,
        "DefaultPromptOption":4,
        "Title":"Transfer item",
        "Message":"Transfer this item to Argyle for hold?",
        "AlternateYesText":"",
        "AlternateNoText":"",
        "AlternateCancelText":"",
        "AlternateContinueText":"",
        "PromptExtension":null
    },
    "InformationMessages":[],
    "AnswerExtension":null,
    "CircTranType":0,"ReceiptType":0,
    "ReceiptUrl":"",
    "FineEReceiptSent":false
}

Fill Hold request Response Information

Example: DtoWorkflowAnswer - Fill hold request successful
application/json, text/json
{
    "WorkflowRequestGuid":"9d937e79-ca6d-4083-bd35-4118325dc9d4",
    "WorkflowRequestType":22,
    "WorkflowStatus":1,
    "Prompt":null,
    "InformationMessages":
        [{
        "Type":1,
        "Title":"",
        "Message":"The hold request has been filled."
        }],
    "AnswerExtension":null,
    "CircTranType":0,
    "ReceiptType":3,
    "ReceiptUrl":"slips/print_holdslip?branchid=3&requestid=820759&illrequest=false&printerid=0&epsonils=false&loginbranchid=3&languageid=1033",
    "FineEReceiptSent":false
}

HTTP Response Codes

Code Description
200 OK. Success

Required Permissions

Permission IDs found here.

    CR_HoldRequests_Modify (based on the pickup branch ID)