Distribute waive

Waive patron fines evenly

PUT /api/.../patrons/{id}/accounttransactions/finesfees?reload={true}&action=distributewaive&overpayment=false

This method allows the caller to waive the same amount for all specified patron fines.

Request Information

Parameters
Name Type Required Description
fineData DtoFineData Yes Define this parameter in the request body.
id Integer Yes The unique id assigned to the patron.
action String Yes Define this parameter in the request query string. Possible value is 'distributewaive'
reload Bool Yes Define this parameter in the request query string. If the value is 'true', updated fines and fees list is returned
overpayment Bool Yes Define this parameter in the request query string. Possible value: false
circ Bool Yes Define this parameter in the request query string. Set this value to 'true' if fine is waived during check-in or check-out.
DtoFineData
Property Type Nullable Description
TxnAmount Decimal No Required. Amount to distribute of this transaction. Amount should be equal or less than the minimum fine amount.
MainTxnIDs Int No Required. List of transaction IDs. Unique identifier for each transaction
FreeTextNote String Yes Notes
Request body
Example
application/json, text/json
{ 
    TxnAmount : 2.55, 
    FreeTextNote : "distribute waive from leap",
    MainTxnIDs:[3670065,3670063]
}
      

Response Information

Returns Txn Ids. If reload is set to true, fines fees are also returned
Example
application/json, text/json
{
    "TxnIds": [
        3673646,
        3673647
    ],    
    "FinesAndFees":
        [
        {
            "ItemRecordID": 0,
            "TxnID": 3673614,
            "TxnCodeID": 1,
            "CallNumber": null,
            "MaterialType": null,
            "TxnDate": "2014-01-06T22:02:47.39",
            "Type": "Charge",
            "FeeDescription": "Patron Registration Fee",
            "BrowseTitle": "",
            "Barcode": null,
            "TxnAmount": 45,
            "OutstandingAmount": 45,
            "Organization": "Saratoga Springs Public Library",
            "TxnOrgID": null,
            "FreeTextNote": "added from leap",
            "WaiverRequestID": null,
            "HasPendingWaiverRequest": false
        },
        {
            "ItemRecordID": 2655,
            "TxnID": 3670066,
            "TxnCodeID": 1,
            "CallNumber": "J Fict",
            "MaterialType": "Book",
            "TxnDate": "2013-11-05T13:51:01",
            "Type": "Charge",
            "FeeDescription": "Overdue Item",
            "BrowseTitle": "Pharmacotherapy [electronic resource] : a pathophysiologic approach",
            "Barcode": "0000100211580",
            "TxnAmount": 2,
            "OutstandingAmount": 2,
            "Organization": "Schoharie Free Library",
            "TxnOrgID": null,
            "FreeTextNote": null,
            "WaiverRequestID": null,
            "HasPendingWaiverRequest": false
        },
        {
            "ItemRecordID": 2648,
            "TxnID": 3670065,
            "TxnCodeID": 1,
            "CallNumber": "J Fict",
            "MaterialType": "Book",
            "TxnDate": "2013-11-05T13:50:21",
            "Type": "Charge",
            "FeeDescription": "Overdue Item",
            "BrowseTitle": "Pharmacotherapy [electronic resource] : a pathophysiologic approach",
            "Barcode": "0000100210947",
            "TxnAmount": 2,
            "OutstandingAmount": 1,
            "Organization": "Schoharie Free Library",
            "TxnOrgID": null,
            "FreeTextNote": null,
            "WaiverRequestID": null,
            "HasPendingWaiverRequest": false
        }
    ]
 }

Permissions needed to perform this action when 'circ' is set to 'true':

FinesWaiveFinesAtCirc_Allow
            

Permissions needed to perform this action when 'circ' is set to 'false':

AccessPatronServices_Allow
PatronStatus_Access
PatronStatus_ModifyPatronAccount
FinesWaiveFinesAtCirc_Allow
            

Reference for Polaris enum values:

enum PatronAccountTxnCode
{	
    Charge = 1,
    Payment = 2,
    Return = 3,
    Deposit = 4,
    Waive = 5,
    WaiveExistingCharge = 6,
    Forfeit = 7,
    Credit = 8,
    PayRefund = 9,
    AutoWaive = 10
}
enum PatronPaymentMethod
{
    PayFrmCredit = 1,
    PayFrmDeposit = 2,
    DepositFrmCredit = 3,
    CreditFrmDeposit = 4,
    CreditFrmPAY = 5,
    StoredValue = 6,
    Cash = 11,
    CreditCard = 12,
    DebitCard = 13,
    Check = 14,
    Voucher = 15,
    CollectionAgency = 16,
    SmartCard = 17
}
            

HTTP Response Codes

Code Description
200 OK. Success
400 Bad request. Null object, SA denies, or distributed amount is larger than minimum fine amount
404 Bad request. PatronID, WorkstationID or OrganizationID is invalid
403 Permission is denied.
409 CONFLICT. Patron record is secured.