Sometimes, processes don’t unfold according to expectations. That’s where escalation and error events are useful.
Consider the case of a journey by train. The journey can proceed in one of three ways:
- The journey can be completed on schedule (the happy path).
- The journey can be completed after a delay.
- The journey can be canceled.
The Happy Path
Here’s how the happy path (highlighted in green) might be modeled.
![](https://ermy855s4xt.exactdn.com/wp-content/uploads/2024/03/train_journey_happy_path_static-1024x419.jpg?strip=all&lossy=1&ssl=1)
The “happy path” of a train journey
Train Delayed
If there is a delay,
- A throwing escalation intermediate event triggers the Inform customer task.
- The journey is completed after the delay.
The yellow highlights indicate the process flow in this case:
![](https://ermy855s4xt.exactdn.com/wp-content/uploads/2024/03/train_journey_delayed_static-1024x406.jpg?strip=all&lossy=1&ssl=1)
Delayed train journey
Train Canceled
On the other hand, if the train is canceled,
- The travel by train sub-process is interrupted.
- The passenger goes home.
- The journey is aborted.
The process flow in for this scenario is highlighted in red:
![](https://ermy855s4xt.exactdn.com/wp-content/uploads/2024/03/train_journey_canceled_static-1024x406.jpg?strip=all&lossy=1&ssl=1)
Canceled train journey