Modelling the Real World

PyInv models the items that it tracks as a hierarchical tree of Asset objects.

Almost every Asset is contained within another Asset, which is marked as its location.

Every Asset has a location, asset code and model. Asset Models are grouped by Manufacturer.

digraph foo {
   "World" -> "London";
   "London" -> "Elizabeth Tower";
   "Elizabeth Tower" -> "Big Ben";
   "London" -> "Tower of London";
   "Tower of London" -> "Crown Jewels";
   "Tower of London" -> "Beefeater";
   "Tower of London" -> "Raven";
}

Special Locations

PyInv will generate some Assets for you when it is first initialised:

The World Asset

The root asset at the top of the tree is called the World Asset and everything is contained within it.

Notably, the World Asset is the only Asset with it’s location set to null.

digraph foo {
   "World" -> "London";
   "London" -> "Elizabeth Tower";
   "Elizabeth Tower" -> "Big Ben";
   "London" -> "Tower of London";
   "Tower of London" -> "Crown Jewels";
   "Tower of London" -> "Beefeater";
   "Tower of London" -> "Raven";
}

Unknown Location

The Unknown Location is a special location that all lost Assets are sent to.

When a lost Asset is found, it is moved to the location that it has been found in.

People

When items are in the possession of an individual, it is not always practical to track exactly where the asset is. It is usually enough to know that it is under the care of the person.

By default, PyInv will create a People container for you to group all people that have looked after or are currently looking after assets.

Note

It is not required to use the People container, so feel free to delete it if you model things differently.

Disposed Location

When an Asset is disposed or destroyed, it will be moved to the Disposed Asset.

Assets should never be deleted from the system to preserve history. Disposed Assets will disappear from search.

Note

This is fundamentally different to Unknown Location as we are certain that an Asset no longer exists if it is disposed.