Uploaded image for project: 'mod-circulation'
  1. mod-circulation
  2. CIRC-730

BACKEND - Declared lost/aged to lost item: check in (effect on fines/fees) - ACTUAL COST

    XMLWordPrintable

Details

    • EPAM-Veg Sprint 141, EPAM-Veg Sprint 142, EPAM-Veg Sprint 143
    • 5
    • Vega
    • Nolana (R3 2022)

    Description

      Important Note
      This is a clone of Declared Lost SET COST story CIRC-717, with only one change. In section CANCEL/REFUND LOST ITEM FEE, the first check listed (it is in light blue text) is checking for the existence of Fee/fine type (aka 'action') Lost item fee (actual cost) instead of Lost item fee (which is only used for SET COST). The processing of a ACTUAL COST return should be the same as SET COST, except for the different Fee/fine type.

      Scenarios
      DETERMINE IF LOST ITEM PROCESSING FEE AND/OR LOST ITEM FEE SHOULD BE CANCELLED AND/OR REFUNDED <===This code already exists for SET COST and will now be shared with ACTUAL COST!

      1. Scenario
        • Given an item with the status Declared 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 declared 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
      2. Scenario
        • Given an item with the status Declared 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
      3. Scenario
        • Given an item with the status Declared 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 <===This code already exists for SET COST and will now be shared with ACTUAL COST!

      1. Scenario
        • Given an item with the status Declared 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 declared 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 fine using the same criteria as with SET COST
      2. Scenario
        • Given an item with the status Declared 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 fine using the same criteria as with SET COST
      3. Scenario
        • Given an item with the status Declared 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 <===This code already exists for SET COST and will now be shared with ACTUAL COST!
      (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)
      • 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)

      CANCEL/REFUND LOST ITEM FEE <===Change for ACTUAL COST to use different Fee/fine type, but rest of code same as SET COST!

      1. Scenario
        (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 (actual cost).
      • 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)
      • 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)
      • 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)

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                roman-barannyk Roman Barannyk
                hollyolepm Holly Mistlebauer
                Holly Mistlebauer Holly Mistlebauer
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases