Nesting is a term related to the placement of “things inside of other things”. Three types of elements are involved:
- Locations, which are fixed and do not change on a daily basis.
- Transport units, which can be moved and are always placed either at a location or in another transport unit.
- Items, which can be moved and are always placed either at a location or in a transport unit (when they are not on loan).
Since items can be placed in transport units and those units can be put within other transport units, some very complex combinations can result (items placed in transport units, which have been put inside of other transport units, etc...). In principle, there is no limit to the number of layers included in this nesting. There is a set of rules associated with the placement of items whenever nesting is involved:
- An item or a transport unit is always placed unambiguously at a location, directly or indirectly.
- When an item has been placed in a transport unit, the item inherits the transport unit’s placement and status.
- When a transport unit, T1, is placed in another transport unit, T2, T1 inherits T2’s placement and status.
- If a transport unit is moved, all of its contents are also implicitly moved along with it. In this way, an arbitrarily large amount of items and transport units can be moved simply by moving the “outermost” transport unit in which they are placed.
- An item or transport unit may only be moved from a transport unit or location by entering a new placement in the system.
- Loops must not occur, in which a transport unit (indirectly) has been placed inside of itself.
The figure below attempts to illustrate the principle of nesting.