Aged to lost: Check in (effect on fees/fines) - SET COST

Description

NOTE: SCENARIOS ARE THE SAME AS WITH DECLARED LOST, EXCEPT THAT THE FIRST ONE IS ONLY NEEDED FOR AGED TO LOST

Scenarios

DETERMINE IF LOST ITEM PROCESSING FEE AND/OR LOST ITEM FEE SHOULD BE CANCELLED AND/OR REFUNDED

  1. Scenario

    • Given an item with the status Aged to lost and Lost item fee(s) not billed yet (lostItemHasBilled on Loan Record = false)

    • When that item is checked in

    • Then:

      • Set lostItemHasBilled on Loan Record to blank

      • Set dateLostItemShouldBeBilled on Loan Record to blank

  2. Scenario

    • Given an item with the status Aged to lost, and a lost item fee policy for that item with "if lost item returned or renewed, remove lost item processing fee" set to Yes, and a lost item fee policy for that item with "No fees/fines shall be refunded if a lost item is returned more than X <intervals> late" with X > 0

    • When that item is checked in

    • Then:

      • Calculate number of intervals (e.g. 6 months) between when item was aged to lost and today's date

        • If calculated number of intervals > "No fees/fines shall be refunded if a lost item is returned more than X <intervals> late"

          • No fees/fines are removed or refunds processed

        • Else

          • Go to CANCEL/REFUND LOST ITEM PROCESSING FEE

          • Go to CANCEL/REFUND LOST ITEM FEE

  3. Scenario

    • Given an item with the status Aged to lost, and a lost item fee policy for that item with "if lost item returned or renewed, remove lost item processing fee" set to Yes, and a lost item fee policy for that item with "No fees/fines shall be refunded if a lost item is returned more than X <intervals> late" with X null

    • When that item is checked in

    • Then:

      • Go to CANCEL/REFUND LOST ITEM PROCESSING FEE

      • Go to CANCEL/REFUND LOST ITEM FEE

  4. Scenario

    • Given an item with the status Aged to lost, and a lost item fee policy for that item with "if lost item returned or renewed, remove lost item processing fee" set to No

    • When that item is checked in

    • Then:

      • Go to CANCEL/REFUND LOST ITEM FEE (lost item processing fee will not be cancelled/removed)

Now let's see if the patron should be charged an overdue fine (continue on to DETERMINE IF OVERDUE FINE SHOULD BE CHARGED)

DETERMINE IF OVERDUE FINE SHOULD BE CHARGED

  1. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with radio button set to "If lost item returned or renewed: Charge overdues based on returned date up to maximum (if applicable)" and a Lost Item Fee Policy for that item with "No fees/fines shall be refunded if a lost item is returned more than X <intervals> late" with X > 0

    • When that item is returned

    • Then:

      • Calculate number of intervals (e.g. 6 months) between when item was aged to lost and today's date

        • If calculated number of intervals > "No fees/fines shall be refunded if a lost item is returned more than X <intervals> late"

          • Do not charge overdue fine

        • Else

          • Charge overdue fee by calling module created by CIRC-524 (this module is also called by the check in process and regular renewals to calculate overdue fines)

  2. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with radio button set to "If lost item returned or renewed: Charge overdues based on returned date up to maximum (if applicable)" and a Lost Item Fee Policy for that item with "No fees/fines shall be refunded if a lost item is returned more than X <intervals> late" with X blank

    • When that item is returned

    • Then:

      • Charge overdue fee by calling module created by CIRC-524 (this module is also called by the check in process and regular renewals to calculate overdue fines)

  3. Scenario

    • Given an item with the status Aged to lost, and a Lost Item Fee Policy for that item with radio button set to "If lost item returned or renewed: Do not charge overdues"

    • When that item is returned

    • Then:

      • Do not charge overdue fine

CANCEL/REFUND LOST ITEM PROCESSING FEE
(Note: This processing is the same as CIRC-716, the user story is just written a bit differently).

  • Find existing fee/fine record for item with Fee/Fine Type = "Lost item processing fee", remember there can be multiple fee/fine records for one item (find fee/fine record via the loan record if loan record still exists; if not, use item barcode to find the fee/fine record)

  • If fee/fine record for Fee/fine type is not found

    • Do nothing further with the lost item processing fee

  • Else

    • Continue on

  • If the fee wasn't totally waived, paid, transferred and/or cancelled already (i.e. there is a Remaining amount), you must cancel what is left by creating a fee/fine "action" record for the lost item processing fee that is a CANCELLATION of the remaining lost item processing fee (see attachment FF-Details-Cancellation.jpg)

    • Action in fee/fine detail record will be "Cancelled item returned"

    • Amount in fee/fine detail record will be billed amount minus any waived, paid, transferred and/or cancelled amounts (look for action records with Action starting with "Waive", "Paid", "Transferred" and "Cancel") and subtract that amount from billed amount (see attachment Waive-and-Paid-Example.JPG))

    • Create at in fee/fine detail record will be service point where item was returned

    • Source in fee/fine detail record will be name of staff member logged in

    • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create patron notice for the cancellation, if one is set up

  • If patron has paid part or all of the lost item processing fee, and has not already been given a refund, a partial/full refund must be initiated. The refund to the patron would include the sum of all Amounts for "Paid" Actions (see attachment FF-Details-Refund.jpg).

    • Create a fee/fine Action record for this lost item processing fee that is a CREDIT of the amount the patron has paid on the lost item processing fee

      • Action in fee/fine detail record will be "Credited fully"

      • Amount in fee/fine detail record will be "Paid" Action amounts (could be 0 to many) added up (if there are 0, the Action record should NOT be created)

      • Create at in fee/fine detail record will be service point where item was returned

      • Source in fee/fine detail record will be name of staff member logged in

      • Refund reason in fee/fine detail record will be "Lost item found" (Refund reason appears in "Action" column as "Credited fully-Lost item found")

      • Transaction information in fee/fine detail record will be "Refund to patron"

      • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create a fee/fine Action record for this lost item processing fee that is a REFUND of the amount the patron has paid on the lost item processing fee

      • Action in fee/fine detail record will be "Refunded fully"

      • Amount in fee/fine detail record will be "Paid" Action amounts (could be 0 to many) added up (if there are 0, the Action record should NOT be created)

      • Create at in fee/fine detail record will be service point where item was returned

      • Source in fee/fine detail record will be name of staff member logged in

      • Refund reason in fee/fine detail record will be "Lost item found" (Refund reason appears in "Action" column as "Refunded fully-Lost item found")

      • Transaction information in fee/fine detail record will be "Refunded to patron"

      • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create patron notice for the refund to patron, if one is set up

  • If patron has had part or all of the lost item processing fee transferred by the library, and not already had a refund issued for the transfer, a partial/full refund must be initiated. The refund to the patron would include the sum of all Amounts for "Transfer" Actions (see attachment FF-Details-Refund).

    • Create a fee/fine Action record for this lost item processing fee that is a CREDIT of the amount the patron has transferred on the lost item processing fee

      • Action in fee/fine detail record will be "Credited fully"

      • Amount in fee/fine detail record will be "Transfer" Action amounts (could be 0 to many) added up (if there are 0, the Action record should NOT be created)

      • Create at in fee/fine detail record will be service point where item was returned

      • Source in fee/fine detail record will be name of staff member logged in

      • Refund reason in fee/fine detail record will be "Lost item found" (Refund reason appears in "Action" column as "Credited fully-Lost item found")

      • Transaction information in fee/fine detail record will be "Refund to <Transfer account>"

      • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create a fee/fine Action record for this lost item processing fee that is a REFUND of the amount the library has transferred on the lost item processing fee

      • Action in fee/fine detail record will be "Refunded fully"

      • Amount in fee/fine detail record will be "Transfer" Action amounts (could be 0 to many) added up (if there are 0, the Action record should NOT be created)

      • Create at in fee/fine detail record will be service point where item was returned

      • Source in fee/fine detail record will be name of staff member logged in

      • Refund reason in fee/fine detail record will be "Lost item found" (Refund reason appears in "Action" column as "Refunded fully-Lost item found")

      • Transaction information in fee/fine detail record will be "Refund to patron" when Action record is for paid amounts and "Refund to <Transfer account>" when Action record is for transfer amounts

      • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create patron notice for the refund to transfer account, if one is set up

CANCEL/REFUND LOST ITEM FEE
(Note: This processing is the same as CIRC-716, the user story is just written a bit differently).

  • Verify that the patron was actually charged a Lost item fee for this item. (If not, there is no need to continue.) For the loaned item, check for an associated fee/fine record with Fee/fine type of = Lost item fee.

  • If fee/fine record for Fee/fine type is not found

    • Do nothing further with the lost item fee

  • Else

    • Continue on

  • If the fee wasn't totally waived, paid, transferred and/or cancelled already (i.e. there is a Remaining amount), you must cancel what is left by creating a fee/fine "action" record for the lost item fee that is a CANCELLATION of the remaining lost item fee (see attachment FF-Details-Cancellation.jpg)

    • Action in fee/fine detail record will be "Cancelled item returned"

    • Amount in fee/fine detail record will be billed amount minus any waived, paid, transferred and/or cancelled amounts (look for action records with Action starting with "Waive", "Paid", "Transferred" and "Cancel") and subtract that amount from billed amount (see attachment Waive-and-Paid-Example.JPG))

    • Create at in fee/fine detail record will be service point where item was returned

    • Source in fee/fine detail record will be name of staff member logged in

    • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create patron notice for the cancellation, if one is set up

  • If patron has paid part or all of the lost item fee, and has not already been given a refund, a partial/full refund must be initiated. The refund to the patron would include the sum of all Amounts for "Paid" Actions (see attachment FF-Details-Refund.jpg).

    • Create a fee/fine Action record for this lost item fee that is a CREDIT of the amount the patron has paid on the lost item fee

      • Action in fee/fine detail record will be "Credited fully"

      • Amount in fee/fine detail record will be "Paid" Action amounts (could be 0 to many) added up (if there are 0, the Action record should NOT be created)

      • Create at in fee/fine detail record will be service point where item was returned

      • Source in fee/fine detail record will be name of staff member logged in

      • Refund reason in fee/fine detail record will be "Lost item found" (Refund reason appears in "Action" column as "Credited fully-Lost item found")

      • Transaction information in fee/fine detail record will be "Refund to patron"

      • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create a fee/fine Action record for this lost item fee that is a REFUND of the amount the patron has paid on the lost item fee

      • Action in fee/fine detail record will be "Refunded fully"

      • Amount in fee/fine detail record will be "Paid" Action amounts (could be 0 to many) added up (if there are 0, the Action record should NOT be created)

      • Create at in fee/fine detail record will be service point where item was returned

      • Source in fee/fine detail record will be name of staff member logged in

      • Refund reason in fee/fine detail record will be "Lost item found" (Refund reason appears in "Action" column as "Refunded fully-Lost item found")

      • Transaction information in fee/fine detail record will be "Refunded to patron"

      • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create patron notice for the refund to patron, if one is set up

  • If patron has had part or all of the lost item fee transferred by the library, and not already had a refund issued for the transfer, a partial/full refund must be initiated. The refund to the patron would include the sum of all Amounts for "Transfer" Actions (see attachment FF-Details-Refund).

    • Create a fee/fine Action record for this lost item fee that is a CREDIT of the amount the patron has transferred on the lost item fee

      • Action in fee/fine detail record will be "Credited fully"

      • Amount in fee/fine detail record will be "Transfer" Action amounts (could be 0 to many) added up (if there are 0, the Action record should NOT be created)

      • Create at in fee/fine detail record will be service point where item was returned

      • Source in fee/fine detail record will be name of staff member logged in

      • Refund reason in fee/fine detail record will be "Lost item found" (Refund reason appears in "Action" column as "Credited fully-Lost item found")

      • Transaction information in fee/fine detail record will be "Refund to <Transfer account>"

      • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create a fee/fine Action record for this lost item fee that is a REFUND of the amount the library has transferred on the lost item fee

      • Action in fee/fine detail record will be "Refunded fully"

      • Amount in fee/fine detail record will be "Transfer" Action amounts (could be 0 to many) added up (if there are 0, the Action record should NOT be created)

      • Create at in fee/fine detail record will be service point where item was returned

      • Source in fee/fine detail record will be name of staff member logged in

      • Refund reason in fee/fine detail record will be "Lost item found" (Refund reason appears in "Action" column as "Refunded fully-Lost item found")

      • Transaction information in fee/fine detail record will be "Refund to patron" when Action record is for paid amounts and "Refund to <Transfer account>" when Action record is for transfer amounts

      • PO doesn't want to give details for building the fee/fine "action" record here, in case they conflict with what is actually being done (there are many examples in FOLIO for building the "action" record)

    • Create patron notice for the refund to transfer account, if one is set up

Environment

None

Potential Workaround

None

Attachments

7

Checklist

hide

TestRail: Results

Activity

Show:

Holly Mistlebauer October 6, 2020 at 3:33 PM

I did my final testing at https://core-functional.ci.folio.org/. I tested the final issue with overdue fines not being charged if an aged to lost item has not yet been billed as aged to lost. This test passed. Thanks!

Holly Mistlebauer October 6, 2020 at 3:33 PM

Holly has attached her re-test test plan...

Bohdan Suprun October 6, 2020 at 12:50 PM

Hi , I've finished fix for the purple cases. Moving the story to in review, since other issues go as separate tickets.

Holly Mistlebauer September 28, 2020 at 5:06 PM

: Thanks for the update...

Bohdan Suprun September 28, 2020 at 2:45 PM

Hi ,

Thanks for clarifying thinks.

'Lost and paid' refunds are being handled for Declared lost items, but not Aged to lost items

'Lost and paid' overdue fines are not being handled for Declared lost or Aged to lost items

Yes, correct.

In purple text: Test cases 3 & 4, which were not charged an over due fine even though the patron hadn't been billed yet for Aged to lost.

A fix for these issues is in code review.

In blue text: Many text cases, which failed the first time I attempted to check them in. May not be related to this issue. I don't know.

Some of the cases, I think, might be related to the 'Lost and paid' status is used. Rest of the cases - I'll have to reproduce.

Done

Details

Assignee

Reporter

Tester Assignee

Priority

Story Points

Sprint

Development Team

Prokopovych

Fix versions

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created February 27, 2020 at 2:43 PM
Updated October 16, 2020 at 10:53 AM
Resolved October 6, 2020 at 3:33 PM
TestRail: Cases
TestRail: Runs