Plan

A plan represents the tasks to be completed to reach the fulfillment goal. An order only ever has one plan associated with it, and one plan is only ever associated with a single order.

To fulfill an order, a series of tasks must be executed in a defined sequence and to a defined schedule. Sequencing and scheduling is modelled by dependencies between tasks. Once all dependencies for a task have been satisfied, then that task may be executed, with the net result being the order is fulfilled by following the required steps in the correct order.

Within this software, the series of tasks is represented by a plan object. The plan defines how to fulfill an order as a series of tasks, or plan items. Plan items are the smallest units of work recognized within this software; however, they may be composed of a series of sub-tasks that actually implement the work required. This can take the form of automated back-end system invocations, manual tasks, or any other unit of work that may be required.