I would assume some form of
IfcResource subclass? Through elimination, spare parts may belong to different types of resources, such as IfcConstructionMaterialResource or IfcConstructionProductResource. However, there is no clear attribute which helps distinguish this as being a spare part instead of a resource that is not a spare part.
Perhaps it may be assumed through the absence of a
Usage attribute (i.e. set to NULL), but it would be better for something explicit.
Another potential solution is to include all spare parts into its own IfcInventory, but it lacks a dedicated PredefinedType for it.