Uploaded image for project: 'mod-orders'
  1. mod-orders
  2. MODORDERS-164

Implement receiving flow for Other



    • ACQ Sprint 61
    • 1
    • EBSCO - FSE


      Purpose: Implement endpoint that provides capability of receiving items

      High-Level Requirements:

      • Implement POST /orders/receive endpoint that provides functionality for receiving items spanning one or more po_lines in the order according to the attached document. The request body: receivingCollection.json
      • For each received piece:
        • Update the item record... if applicable (status, location, barcode)
          • poLine.physical.createInventory should dictate the level of interaction with inventory. See MODORDERS-178
          • The receivingCollection.json schema needs to be updated to include desired item's status
        • Update the piece record (status, received_date, etc) -- overlaps with check-in --
        • Update the POL record (receipt_status) -- overlaps with check-in --
          • If all pieces of this order line have been received, the receipt status should be "Fully Received". If more than one, but less than the total number of pieces have been received, it should be "Partially Received".


      • the document is pretty high-level so further thinking on how to handle various exceptional/edge cases is required
      • there is a piece of logic related to updating piece record upon receiving that might be reused for check-in flow as well
      • Inventory Beta - Metadata Elements - reference document for Inventory fields

      Open questions:

      • According to UIREC-2 user will specify barcode (optional), location (required) and status (required). Taking into account item.json schema from mod-inventory-storage there are some unclear moments:
        • Location: schema has permanentLocationId. Should the logic update this one or work with holding (search for existing or create new one and update holdingsRecordId)?
          • CAM for now just deal with holding's perm. location. There's no need to specify holding's temporary location or override the holdings perm location in the item record
        • Status: status property does not have fixed enumeration. There are some defined in Inventory Beta - Metadata Elements. What statuses are expected to be processed?
          • CAM default to "In process" if not specified

      Acceptance Criteria:

      • receiving flow is implemented
      • unit tests are updated
      • api tests are updated

      See https://docs.google.com/spreadsheets/d/1se-a2owRfHLG5eaAZglx4vLvRClCKGp2wZCfD39ZJRY/view#gid=894044560 for complete API listing

      TestRail: Results


          Issue Links



                dennisbridges Dennis Bridges
                pavelk-epam Pavel Korolenok
                Dennis Bridges Dennis Bridges
                0 Vote for this issue
                5 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases