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

Aged to lost: Automatically age overdue items to lost - SET COST

    XMLWordPrintable

    Details

    • Type: Umbrella
    • Status: Closed (View Workflow)
    • Priority: TBD
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
    • Template:
    • Development Team:
      Prokopovych

      Description

      Aged to Lost User Story Split

      On July 2, 2020 Holly split the CIRC-737 user story 'Aged to lost: Automatically age overdue items to lost' into 2 separate user stories:

      • CIRC-737 - 'Aged to lost: Automatically age overdue items to lost - SET COST'
      • CIRC-819 - 'Aged to lost: Automatically age overdue items to lost - ACTUAL COST'
        This has been done to mimic what was done with the Declared lost user stories. CIRC-751 (Aged to lost: Exclude claim returned items from aged to lost process) must be completed with CIRC-737.

      GENERAL INFORMATION

      • See attached flow chart Aged2Lost.jpg for overview
      • This is a batch process that will run daily at a time set by the institution
      • This process will create fee/fine records for Lost item processing fee and/or Lost item fee
      • Aged to Lost settings are located at Settings>Circulation>Lost item fee policies (see attached screen print Lost-Item-Policy.JPG)
        • Patron billed after aged to lost : Should the patron be billed now or just notified now? There will be an interval provided.
        • Charge lost item processing fee if item aged to lost by system : Should patron be charged the lost item processing fee?
        • Charge amount for item : Should actual cost be charged or is a default set cost provided?
      • Two new fields have been added to the Loan Record for the aged to lost process - created by user story CIRCSTORE-199
        • lostItemHasBeenBilled will be used to indicate if the aged to lost fee has been billed (for use where delayed billing is set up)
        • dateLostItemShouldBeBilled will be used to indicate when the aged to lost fee should be billed (for use where delayed billing is set up)

      IMPORTANT NOTE

      Fee/Fine Types "Lost item fee" and "Lost item processing fee" exist in the Manual Charges table (at Settings>Users>Fee/Fine: Manual Charges) with the new Manual/Automated Flag set to "automated." "Overdue fine" Fee/Fine Type was added first, under the direction of Vega team member Oleksandr Kurash, so please contact him for for more information.

      AGED TO LOST PROCESSING

      PART A: Determine if it is time to bill items already set to aged to lost, where institution is using delayed billing

      1. Scenario
        Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
        When Loan Record field dateLostItemShouldBeBilled > System Date
        Then:
        Do no further aged to lost processing for item
      2. Scenario
        Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
        When Loan Record field dateLostItemShouldBeBilled <= System Date and Lost item fee policy set to use Actual cost
        Then:
        Do no further aged to lost processing for item
        (Note: UIU-1500 will take care of changing the status of this item and closing the loan)
      3. Scenario
        Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
        When Loan Record field dateLostItemShouldBeBilled <= System Date, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = No
        Then:
        Set lostItemHasBeenBilled to "true"
        Set dateLostItemShouldBeBilled to blank
        Do no further aged to lost processing for item
      4. Scenario
        Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
        When Loan Record field dateLostItemShouldBeBilled <= System Date, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = Yes
        Then:
        Set lostItemHasBeenBilled to "true"
        Set dateLostItemShouldBeBilled to blank
        Create fee/fine record for Lost item processing fee
      5. Scenario
        Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
        When Loan Record field dateLostItemShouldBeBilled <= System Date, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = No
        Then:
        Set lostItemHasBeenBilled to "true"
        Set dateLostItemShouldBeBilled to blank
        Create fee/fine record for Lost item fee
      6. Scenario
        Given Item Status = 'Aged to lost' and Loan Record field lostItemHasBeenBilled = "false"
        When Loan Record field dateLostItemShouldBeBilled <= System Date, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = Yes
        Then:
        Set lostItemHasBeenBilled to "true"
        Set dateLostItemShouldBeBilled to blank
        Create fee/fine record for Lost item fee
        Create fee/fine record for Lost item processing fee

      PART B: Determine which loaned items should be marked as aged to lost now and when they should be billed

      1. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item claimed returned
        Then:
        Do no further aged to lost processing for item
      2. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned and Items aged to lost after overdue interval (see Lost Item Fee policy) = 0 or blank
        Then:
        Do no further aged to lost processing for item
      3. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, and System date is NOT Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date
        Then:
        Do no further aged to lost processing for item
      4. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date and Lost item fee policy set to use Actual cost
        Then:
        Do no further aged to lost processing for item
      5. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval = 0 or blank, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = No
        Then:
        Set Item status to 'Aged to lost'
        (Note: UIU-1500 will take care of changing the status of this item and closing the loan)
      6. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval = 0 or blank, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = Yes
        Then:
        Set Item status to 'Aged to lost'
        Create fee/fine record for Lost item processing fee
      7. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval = 0 or blank, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = No
        Then:
        Set Item status to 'Aged to lost'
        Create fee/fine record for Lost item fee
      8. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval = 0 or blank, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = Yes
        Then:
        Set Item status to 'Aged to lost'
        Create fee/fine record for Lost item fee
        Create fee/fine record for Lost item processing fee
      9. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval > 0, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = No
        Then:
        Set Item status to 'Aged to lost'
        Set flag lostItemHasBeenBilled = "false"
        Set dateLostItemShouldBeBilled = calculated date based on Patron billed after aged to lost interval
      10. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval > 0, Lost item fee policy Set cost = 0 or blank and Charge lost item processing fee if item aged to lost by system = Yes
        Then:
        Set Item status to 'Aged to lost'
        Set flag lostItemHasBeenBilled = "false"
        Set dateLostItemShouldBeBilled = calculated date based on Patron billed after aged to lost interval
      11. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval > 0, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = No
        Then:
        Set Item status to 'Aged to lost'
        Set flag lostItemHasBeenBilled = "false"
        Set dateLostItemShouldBeBilled = calculated date based on Patron billed after aged to lost interval
      12. Scenario
        Given Item Status NOT = 'Aged to lost'
        When item NOT claimed returned, Items aged to lost after overdue interval > 0, System date is Items aged to lost after overdue interval (see Lost Item Fee policy) from item due date, Patron billed after aged to lost interval > 0, Lost item fee policy Set cost > 0 and Charge lost item processing fee if item aged to lost by system = Yes
        Then:
        Set Item status to 'Aged to lost'
        Set flag lostItemHasBeenBilled = "false"
        Set dateLostItemShouldBeBilled = calculated date based on Patron billed after aged to lost interval

      Create fee/fine record for Lost item fee

      • Fee/fine type = "Lost item fee"
      • Fee/fine owner = Use Barcode to locate Item Record; Use Holdings Location: Permanent location from Item Record to find Primary service point within Settings>Tenant>Service Points; Use Service Point in Settings>Users>Fee/Fine: Owners to find associated Fee/fine owner
      • Billed date = System date and time
      • Billed amount = Charge amount for item
      • Remaining amount = Charge amount for item
      • Payment status = "Outstanding"
      • Loan details = link to loan record
      • Overdue policy = Overdue fine policy link from Loan record
      • Lost item policy = Lost item fee policy link from Loan record
      • Action date = System date and time
      • Action = "Lost item fee"
      • Amount = Charge amount for item
      • Balance = Charge amount for item
      • Transaction information = blank
      • Created at = "-"
      • Source should be "System"
      • Additional information = blank

      Create fee/fine record for Lost item processing fee

      • Fee/fine type = "Lost item processing fee"
      • Fee/fine owner = Use Barcode to locate Item Record; Use Holdings Location: Permanent location from Item Record to find Primary service point within Settings>Tenant>Service Points; Use Service Point in Settings>Users>Fee/Fine: Owners to find associated Fee/fine owner
      • Billed date = System date and time
      • Billed amount = Lost item processing fee
      • Remaining amount = Lost item processing fee
      • Payment status = "Outstanding"
      • Loan details = link to loan record
      • Overdue policy = Overdue fine policy link from Loan record
      • Lost item policy = Lost item fee policy link from Loan record
      • Action date = System date and time
      • Action = "Lost item processing fee"
      • Amount = Lost item processing fee
      • Balance = Lost item processing fee
      • Transaction information = blank
      • Created at = "-"
      • Source = "System"
      • Additional information = blank

      Open Issues:

      • What should happen if Fee/Fine Owner not found will be addressed by UXPROD-2278
      • Patron notices will be addressed by UXPROD-2165

        TestRail: Results

          Attachments

          1. Aged2Lost.jpg
            Aged2Lost.jpg
            119 kB
          2. Lost-Item-Policy.JPG
            Lost-Item-Policy.JPG
            53 kB
          3. screenshot-1.png
            screenshot-1.png
            126 kB
          4. screenshot-2.png
            screenshot-2.png
            78 kB

            Issue Links

              Activity

                People

                Assignee:
                Unassigned Unassigned
                Reporter:
                hollyolepm Holly Mistlebauer
                Tester Assignee:
                Holly Mistlebauer Holly Mistlebauer
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases