Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Title-level page requests are linked to a specific item immediately upon creation. If only one item of the requested instance is available, it is selected to fulfill the request. If multiple items are available, things get a bit more compicated:

  • if request fulfillment preference is "Delivery", a random available item is selected
  • if fulfillment preference is "Hold Shelf", an item closest to the requested pickup service point is selected

This document aims to explain what "item closest to the pickup service point" means and how such an item is found.

Location tree

All location-related domain objects in FOLIO form a hirarchical tree-like structure with Institutions as roots and Locations as leaves:

Drawio sketch
bordertrue
diagramNameLocatio tree
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth781
revision1

Every request with fulfillment preference "Hold Shelf" will have a pickup service point with  one or more locations assigned to it. Available items of the requested instance are also located in specific locations. So the task of finding an item closest to the pickup service point boils down to finding an item whose location is closest to one of the pickup service point's locations. The distance between locations is determined by the number of edges (hops between layers) on the shortest path between locations on the diagram.

Item picking algorithm

Drawio sketch
bordertrue
diagramNameAlgorithm
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth921
revision7

Examples

- Pickup service point location

- Items available


1) Available items in the same library

Drawio sketch
bordertrue
diagramNameAvailable items in the same library
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth781
revision3

    • Is there an available item in one of the pickup service point's locations? (A, E) - No
    • Is there an available item in any other location in the same library? (A, C) - Yes, there are available items in Library B (Location B) or Library C (Location F)

    • Were multiple items found? - Yes, two items were found
    • Randomly pick one of the two items and link it to the request


2) Available items on the same campus

Drawio sketch
bordertrue
diagramNameCopy of Available items in the same library
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth781
revision3

  • Is there an available item in one of the pickup service point's locations? (A, E) - No
  • Is there an available item in any other location in the same library? (A, C) - No, there are no available items in Library A (Location B) or Library C (Location F)

  • Is there an available item in any other library on the same campus? (A, B) - Yes, there is an available item in Library B (Location D). No items were found in Location C or Campus B (Libraries C and D, Locations E-H)

  • Were multiple items found? - No, just one
  • Link the item to the request


3) Available items in the same institution

Drawio sketch
bordertrue
diagramNameCopy of Copy of Available items in the same library
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth781
revision2

  • Is there an available item in one of the pickup service point's locations? (A) - No
  • Is there an available item in any other location in the same library? (A) - No, there are no available items in Library A (Location B)

  • Is there an available item in any other library on the same campus? (B) - No, there are no available items in Library B (Locations C or D)

  • Is there an available item in any other campus in the same institution? (A) - Yes, there are available items in Locations F (Campus B, Library C) and H (Campus B, Library D)
  • Were multiple items found? - Yes, two items in equidistant locations were found
  • Randomly pick one of the two items and link it to the request