Order of Processing
As an entity moves through the model, ProcessModel handles each step in a set order. Knowing the order helps when you write action logic or read a trace.
At an activity
Section titled “At an activity”- Batch, if the activity groups entities together.
- Get the connected resources it needs.
- Attach any child entities.
- Run the activity’s action logic.
- Spend the processing time.
- Add the activity’s cost.
- Detach child entities.
- Free the resources, unless they are held for a later step.
- Batch or unbatch, if that is set to happen after the activity.
On a route
Section titled “On a route”- Get the connected resources.
- Run the route’s action logic.
- Spend the move time.
- Free the resources.
- Add the route’s cost.
LegacyHow this worked in the previous version
The sequence of processing events as entities arrive at and leave activities, and route between activities is as following.
At an Activity
Section titled “At an Activity”- Any batching function before an activity
- Get connected resources (Get or Get & Free)
- Attach child entities
- Perform action logic in the Action tab
- Perform processing time in the General tab
- Perform activity cost calculations
- Detach child entities
- Free connected resources (Free or Get & Free)
- Any batching function after an activity
At a Routing
Section titled “At a Routing”- Get connected resources (Get or Get & Free)
- Perform action logic in the Action tab
- Perform routing move time in the General tab
- Free connected resources (Free or Get & Free)
- Perform routing cost calculations

