Shared Parts¶
It is also possible to share parts between resources, so resources use parts taken from a 'shared' or 'global' stock.
Global Part Stock¶
Global Part Stock is a central store of global parts that all resources have access to at any given point in the scheduling window. Unlike depots, there is no need for a resource to carry out a visit in order to collect parts from the global part stock. If an activity needs a global part then the part will be consumed or used straight from the global part stock. The global part stock is not linked to either a resource or a depot.
Note that global parts do not necessarily need to be physical parts, and can instead be used simply as a way of constraining how many activities requiring the part are carried out within a given period of time.
For example, this could be used when appointment booking to limit the number of 'non-premium' appointments that can be booked on a given day across the entire schedule. Each non-premium appointment would require a single global part, and the stock for the part would be reset overnight each night.
Alternatively, by making the part reusable as well this allows you to limit how many activities requiring that part can be scheduled at the same time.
For example, suppose a location has only 2 available parking spaces. A reusable part could be used to represent the available spaces, with a quantity of two, and each activity at the location would require one such part. This would ensure that only two activities could be scheduled at the same time. After the worker has completed their activity the reusable global part is returned to the global part stock, allowing another resource to attend the location.
To define a part that is global there is an 'is_global' attribute that has been added to the Part entity (see scheduling schema guide).
Shared Part Stock¶
Shared Part Stocks act similarly to global parts, but are only available to resources in a specific resource pool. This grants the same functional advantages as global parts, but scoped to a particular subset of resources, such as a specific fleet of vans within a larger organisation.
Note that shared parts do not necessarily need to be physical parts, and can instead be used simply as a way of constraining how many activities requiring the part are carried out within a given period of time.
To define a part as shared, the 'resource_pool_set_id' attribute should be added to the Part entity (see scheduling schema guide). Resource pools using the part in question should be added to the resource pool set, and the resource_pool_id attribute should be added to Part Stocks to specify which resource pool is able to access a given stock.