Workflow

Example: Check Out an item that is lost and/or billed with checkout charges enabled

The example shows the communication flow between caller and server for a patron checking out an item that was declared lost. The caller will be prompted to resolve the lost/billed item before continuing with the checkout process. Charge for checkout has also been enabled.

Both payments are paid via integrated credit card processing.


Workflow Communication

==> Caller sends the initial check out request
POST /api/.../workflow
{
   "WorkflowRequestType":2,
   "TxnBranchID":"3",
   "TxnUserID":"1",
   "TxnWorkstationID":"1233",
   "RequestExtension":{
      "WorkflowRequestExtensionType":1,
      "Data":{
         "CheckoutTypeID":6,
         "PatronBarcode":"21756003332060",
         "ItemBarcode":"123456",
         "OfflineCheckoutDate":null,
         "IsSpecialLoan":false,
         "SpecialLoanUnits":0,
         "SpecialLoanUnitsNum":0,
         "IsOvernightPermitted":false,
         "IsBBMBulkCheckout":false,
         "IgnorePatronBlocksCheck":false,
         "IgnoreItemsOutLimitPrompt":false,
         "IgnoreLoanLimitPromptForMaterialTypeIDs":null
      }
   },
   "WorkflowReplies":null
}
<== Answer from server - Resolve lost billed item
Server would like caller to prompt for more input. Display information is provided.
{
   "WorkflowRequestGuid":"936f4da8-ae76-4dc2-8015-d740ce59cd85",
   "WorkflowRequestType":2,
   "WorkflowStatus":-3,
   "Prompt":{
      "WorkflowPromptID":11,
      "Name":null,
      "Description":null,
      "WorkflowPromptType":5,
      "WorkflowPromptOptions":6,
      "DefaultPromptOption":0,
      "Title":"Resolve lost item",
      "Message":"",
      "AlternateYesText":"",
      "AlternateNoText":"",
      "AlternateCancelText":"",
      "AlternateContinueText":"",
      "PromptExtension":{
         "WorkflowPromptExtensionType":13,
         "Data":{
            "DisplayData":{
               "PatronID":0,
               "ItemRecordID":0,
               "ItemBarcode":"123456",
               "AssignedBranchID":0,
               "AssociatedBibRecordID":null,
               "ReplacementAmount":25.0000,
               "ReplacementOutstanding":25.0000,
               "ReplacementPaid":0.0,
               "ReplacementWaived":0.0,
               "ProcessingAmount":0.0,
               "ProcessingOutstanding":0.0,
               "ProcessingPaid":0.0,
               "ProcessingWaived":0.0,
               "OverdueAmount":1.2500,
               "OverdueOutstanding":1.2500,
               "OverduePaid":0.0,
               "OverdueWaived":0.0,
               "TotalFine":26.2500,
               "ReplacementActions":[
                  6,
                  -2
               ],
               "ProcessingActions":[
                  -2
               ],
               "OverdueActions":[
                  2,
                  6,
                  -2
               ],
               "ModifyAmountPermitted":false,
               "ItemTitle":"Harry Potter and the goblet of fire",
               "PatronBarcode":"21756003332060",
               "PatronName":"Mr. Astro Jetson",
               "Billed":false,
               "LostOrDueDate":"2018-02-07T09:12:06.047-05:00",
               "BilledDate":null,
               "Caption":"Resolve lost item",
               "LostItem":true,
               "OutItem":false,
               "DeclareLost":false,
               "CircResolveBilledItem":false,
               "CircResolveLostItem":true,
               "ModifyOverdueNotAllowed":false,
               "ModifyProcessingNotAllowed":true,
               "ModifyReplacementNotAllowed":false,
               "CheckoutBriefInfo":null
            },
            "ReplTransAmount":25.0000,
            "ProcTransAmount":0.0,
            "OvdTransAmount":1.2500,
            "ReplCostTxnID":3706139,
            "ProcChargeTxnID":0,
            "OVDChargeTxnID":3706140,
            "HeldItemBlock":false,
            "ChargeOverdue":false,
            "Billed":false,
            "LostItem":false,
            "OutItem":false,
            "CircResolveBilledItem":false,
            "CircResolveLostItem":false,
            "ReplAttachedToCCOrder":false,
            "ProcAttachedToCCOrder":false,
            "OVDAttachedToCCOrder":false,
            "PaymentGateway":0
         }
      }
   },
   "InformationMessages":[

   ],
   "AnswerExtension":null,
   "CircTranType":6,
   "ReceiptType":0,
   "ReceiptUrl":"",
   "FineEReceiptSent":false
}
==> Caller sets options to pay charges via credit card and sends a reply to the server indicating they want to continue (PromptResult=5).
PUT /api/.../workflow/936f4da8-ae76-4dc2-8015-d740ce59cd85
{
   "WorkflowPromptID":11,
   "WorkflowPromptResult":5,
   "ReplyValue":null,
   "ReplyExtension":{
      "WorkflowReplyExtensionType":3,
      "Data":{
         "ReplCostTxnCodeID":6,
         "ReplTransAmount":25,
         "ProcChargeTxnCodeID":-2,
         "ProcTransAmount":0,
         "OVDChargeTxnCodeID":2,
         "OVDTransAmount":1.25,
         "PayMethod":12,
         "CreditCardPaymentData":{
            "TrackId":4012,
            "Guid":"2ae14563-6857-4a57-892b-21c1ee40",
            "VendorId":0,
            "BaseAddress":null,
            "CustomerID":null,
            "TerminalID":null,
            "UserName":null,
            "Password":null,
            "Amount":1.35,
            "PatronID":null,
            "Language":null,
            "Result":0,
            "TrackNumber":null,
            "Error":"OK",
            "TxnStatus":"Finished",
            "TroutId":"TROUTD",
            "CCDigits":"XXXX",
            "CCType":"????",
            "AuthCode":null,
            "Request":"",
            "Response":"\r\nSuccessTROUTDOKXXXX????\r\n",
            "ILSStoreTransactionId":4396,
            "ProcessingFee":0.1
         }
      }
   }
}
<== Answer from server - Check out charge
Display information is provided for the checked out item.
{
   "WorkflowRequestGuid":"936f4da8-ae76-4dc2-8015-d740ce59cd85",
   "WorkflowRequestType":2,
   "WorkflowStatus":-3,
   "Prompt":{
      "WorkflowPromptID":14,
      "Name":null,
      "Description":null,
      "WorkflowPromptType":8,
      "WorkflowPromptOptions":5,
      "DefaultPromptOption":8,
      "Title":"Patron Check-out Charge",
      "Message":"There is a charge to check out this item.",
      "AlternateYesText":"",
      "AlternateNoText":"",
      "AlternateCancelText":"",
      "AlternateContinueText":"",
      "PromptExtension":{
         "WorkflowPromptExtensionType":9,
         "Data":{
            "FineAmount":0.5000,
            "IsCheckingOutToDifferentPatron":false,
            "ModifyFineAllowed":true,
            "ItemBarcode":"123456",
            "ItemDueDate":"0001-01-01T00:00:00-05:00",
            "ItemRecordID":2230107,
            "ItemTitle":"Harry Potter and the goblet of fire",
            "PatronBarcode":"21756003332060",
            "PatronBranchID":3,
            "PatronID":358255,
            "PatronName":"Mr. Astro Jetson",
            "CheckoutCharge":0.0,
            "CheckoutChargeActions":[

            ]
         }
      }
   },
   "InformationMessages":[

   ],
   "AnswerExtension":null,
   "CircTranType":6,
   "ReceiptType":0,
   "ReceiptUrl":"",
   "FineEReceiptSent":false
}
==> Caller pays charges via credit card and sends a reply to the server indicating they want to continue (PromptResult=5).
PUT /api/.../workflow/936f4da8-ae76-4dc2-8015-d740ce59cd85
{
   "WorkflowPromptID":14,
   "WorkflowPromptResult":6,
   "ReplyValue":"0.50",
   "ReplyExtension":{
      "WorkflowReplyExtensionType":2,
      "Data":{
         "PaymentMethod":12,
         "Note":"",
         "PaidAmount":0.5,
         "ProcessedCreditCard":true,
         "CreditDuePatron":0,
         "ReturnReceiptUrl":true,
         "CreditCardPaymentData":{
            "TrackId":4013,
            "Guid":"bb95b5ba-7aef-412d-b7bf-4957bd61",
            "VendorId":0,
            "BaseAddress":null,
            "CustomerID":null,
            "TerminalID":null,
            "UserName":null,
            "Password":null,
            "Amount":0.6,
            "PatronID":null,
            "Language":null,
            "Result":0,
            "TrackNumber":null,
            "Error":"OK",
            "TxnStatus":"Finished",
            "TroutId":"TROUTD",
            "CCDigits":"XXXX",
            "CCType":"????",
            "AuthCode":null,
            "Request":"",
            "Response":"\r\nSuccessTROUTDOKXXXX????\r\n",
            "ILSStoreTransactionId":4397,
            "ProcessingFee":0.1
         }
      }
   }
}
<== Answer from server - Check out (of lost item) placed successfully
Display information is provided for the checked out item.
{
   "WorkflowRequestGuid":"936f4da8-ae76-4dc2-8015-d740ce59cd85",
   "WorkflowRequestType":2,
   "WorkflowStatus":1,
   "Prompt":null,
   "InformationMessages":[
      {
         "Type":1,
         "Title":"",
         "Message":"Check-out successful"
      }
   ],
   "AnswerExtension":{
      "WorkflowAnswerExtensionType":1,
      "Data":{
         "IsEphemeralItem":false,
         "EphemeralItemCount":0,
         "ItemRecordID":2230107,
         "ItemBarcode":"123456",
         "ItemTitle":"Harry Potter and the goblet of fire",
         "AssignedBranchID":3,
         "AssignedBranchName":"Amsterdam Free Library",
         "MaterialTypeID":12,
         "MaterialTypeDescription":"Equipment",
         "DueDate":"2018-03-07T23:59:59-05:00",
         "ShelfLocationID":62,
         "ShelfLocation":"Storage",
         "Action":"Item was Lost",
         "CallNumber":"j Fict j Fict Row",
         "LoanUnitsType":1,
         "ItemsOutCount":6,
         "OverdueItemsCount":1,
         "LongOverdueItemsCount":1,
         "CurrentClaimCount":1,
         "CurrentLostCount":0,
         "PatronName":"Mr. Astro Jetson",
         "LocalHeldCount":1,
         "HoldRequestsILLHeldCount":0,
         "HoldRequestsLocalTotalCount":1,
         "HoldRequestsILLTotalCount":2,
         "OutstandingFines":0.7900,
         "CreditBalance":0.1000,
         "MediaDispenserServiceUrl":"",
         "MediaLocations":[

         ]
      }
   },
   "CircTranType":6,
   "ReceiptType":2,
   "ReceiptUrl":"receipts/print_payment_receipt?paypatronid=358255&paybranchid=3&payuserid=1&ccpayment=true&ccType=&ccAmount=0.6&ccAuthNo=&ccTxnID=4397&ccProcFee=0.1&ccNumber=XXXXXXXXXXXXXXXX&loginbranchid=3&languageid=1033&billedlost=false&waiveonly=false&coCharge=false&txnid=3706146,",
   "FineEReceiptSent":true
}