...
All location-related domain objects in FOLIO form a hirarchical hierarchical tree-like structure with Institutions as roots and Locations as leaves:
...
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 two locations is determined by the number of edges (hops between layers) on the shortest path between locations them on the diagram.
Item picking algorithm
Drawio sketch | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
- Pickup service point location
- Items Location has available items
1) Available items in the same library
Drawio sketch | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- 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 Locations
- Library B (Location B) and Library C (Location F)
- Were multiple items found? - Yes, two items were found Randomly pick
- Pick one of the two items at random and link it to the request
2) Available items on the same campus
...
- 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 Locations 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 location DCampus A (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 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- 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? (A) - No, there are no available items on Campus A (Library B, Locations C and D)
- Is there an available item on any other campus in the same institution? (A) - Yes, there are available items on Campus B ( Library C, G or H, Location F and Library D, Location H)
- Were multiple items found? - Yes, two items in equidistant locations were found
- Pick one of the two items at random and link it to the request
4) Available items in a different institution
Drawio sketch | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- 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? (A) - No, there are no available items in Campus A (Library B, Locations C and D)
- Is there an available item on any other campus in the same institution? (A) - No, there are no other campuses
- Is there an available item in any other institution? (B) - Yes, there is an available item in Institution B (Campus B, Library C, Location F)
- Were multiple items found? - No, just one
- Link the item to the request