# BPMN events

Events can occur with different continuations, at different locations and with different types.

## Table of contents

* [1.0 - Event continuations](#event-continuations)
* [2.0 - Event locations](#event-locations)
* [3.0 - Event types](#event-types)
* [4.0 - All available combinations of event continuations, locations and types](#event-combinations)


## 1.0 Event continuations, that are defined by BPMN are:

- interrupting
- non-interrupting


Any event continuation can be combined with any event location, except non-interrupting and end.

## 2.0 Event locations, that are defined by BPMN are:

- start
- intermediate
- end


| No. | JSON request / definition | JSON request / shape | Graphic display | BPMN definition | BPMN display |
|  --- | --- | --- | --- | --- | --- |
| 1 | *interrupting:*"properties": {  "type": "evStart",  "kind": "OBJ"}*non-interrupting:*"properties": {  "type": "evStartNonInterrupting",  "kind": "OBJ"}  | *interrupting:*"properties": {  "type": "evStart"}*non-interrupting:*"properties": {  "type": "evStartNonInterrupting"} | *interrupting:*![GRAPHIC-eventStart](/assets/graphic-eventstart.7698df9c762efcacec9c552ad6a87325485fb07f74212b11f566a56393579491.05e3abfb.png)*non-interrupting:*![GRAPHIC-eventStartNonInterrupting](/assets/graphic-eventstartnoninterrupting.d678ead745b85bd7afd061abe5603c4be7d27f6a475168984791d6a5b5676db6.05e3abfb.png) | *interrupting:*<startEvent> ... </startEvent>*non-interrupting:*<startEvent isInterrupting="false"> ... </startEvent> | *interrupting:*![GRAPHIC-eventStart](/assets/bpmn-eventstart.6ad8fd64c52b9003b7ce83b728ec5a3ea2e0998fa048f94ee8a48897e95d5bd5.05e3abfb.png)*non-interrupting:*![BPMN-eventStartNonInterrupting](/assets/bpmn-eventstartnoninterrupting.60b3c222f381ebd4619b3106ba6b839c1c39ae5defe0d44d6e71a0e088e13591.05e3abfb.png) |
| 2 | *interrupting:*"properties": {  "type": "evIntermediate",  "kind": "OBJ"}*non-interrupting:*"properties": {  "type": "evIntermediate-NonInterrupting",  "kind": "OBJ"} | *interrupting:*"properties": {  "type": "evIntermediate"}*non-interrupting:*"properties": {  "type": "evIntermediate-NonInterrupting"} | *interrupting:*![GRAPHIC-eventIntermediate](/assets/graphic-eventintermediate.f29c5830d6c4894809af642cf9fc2f55dca932e6798a2140b9e1e47e6d00237c.05e3abfb.png)*non-interrupting:*![GRAPHIC-eventIntermediateNonInterrupting](/assets/graphic-eventintermediatenoninterrupting.d42d327e33dcdb2eaa4fb49dda50ccd95913b3c4c7c92c7da9dc4659b68d2848.05e3abfb.png) | *interrupting:*<intermediate-ThrowEvent> ... </intermediate-ThrowEvent>*non-interrupting:*<intermediate-ThrowEvent isInterrupting="false"> ... </intermediate-ThrowEvent> | *interrupting:*![BPMN-eventIntermediate](/assets/bpmn-eventintermediate.86207e265cdc4b231927c268213e6fff0d193088a193d1c7af645bd8b208c8f8.05e3abfb.png)*non-interrupting:*![BPMN-eventIntermediateNonInterrupting](/assets/bpmn-eventintermediatenoninterrupting.c6295474d0ce8db0cd2fdb9102d69d24fca458cae48afe5cbfcd211a3cb23880.05e3abfb.png) |
| 3 | *interrupting:*"properties": {  "type": "evEnd",  "kind": "OBJ"} | *interrupting:*"properties": {  "type": "evEnd",} | *interrupting:*![GRAPHIC-eventEnd](/assets/graphic-eventend.7fd390500c288d6504d6c8a2ed8318964df69023b61ba9746aed3506e44d6428.05e3abfb.png) | *interrupting:*<endEvent> ... </endEvent> | *interrupting:*![BPMN-eventEnd](/assets/bpmn-eventend.5f048fbb5a4fb7cf859c981a09af319453bcb9f8ea6c757b3a7db820fd3d3930.05e3abfb.png) |


## 3.0 Event types, that are defined by BPMN are:

- ![GRAPHIC-event_none](/assets/graphic-event_none.0f1a14675cf46cf60e89b6776ba9bbe52c04be8bdf3c77a085e0855fdf33fe1d.05e3abfb.png) noneThis event does not have a defined *trigger*.
- ![GRAPHIC-event_throwMessage](/assets/graphic-event_throwmessage.7a5173e108546d48501652d64c610ed55098253c4e3420efea2e4c63f0af8818.05e3abfb.png) throw message;         add "evType": "throwMessage" to "properties" within the Request JSONA *message* is sent to a *participant* when the event has been triggered.
- ![GRAPHIC-event_catchMessage](/assets/graphic-event_catchmessage.0f9e06d949d4507fbfaf4558704d2f47193c7d19abdfacca3e3f5fc6cb7d8bfa.05e3abfb.png) catch message;         add "evType": "message" (for start events) or "evType": "catchMessage" (for intermediate events) to "properties" within the Request JSONA *message* arrives from a *participant* and triggers the event.
- ![GRAPHIC-event_timer](/assets/graphic-event_timer.effba04cfa6b869467e3310c8ebc4a8758517262e8ac9809c3bc914f0a2c9bb5.05e3abfb.png) timer;                 add "evType": "timer" (for start events) or "evType": "catchTimer" (for intermediate events) to "properties" within the Request JSONA specific *date-time* or a specific *cycle count* triggers the event.
- ![GRAPHIC-event_throwError](/assets/graphic-event_throwerror.e01965704031d04f0bbfa5c3ffc0db2617541fca99d5c8740fc9450b50a7d31a.05e3abfb.png) throw error;           add "evType": "throwError" to "properties" within the Request JSONAn *error* is generatedand when the event has been triggered.
- ![GRAPHIC-event_catchError](/assets/graphic-event_catcherror.d5ad5213521386114f01670c6a5d351d133c6088ffc3116475e9fcf1ad9e374c.05e3abfb.png) catch error;           add "evType": "catchError" to "properties" within the Request JSONThe *execution of a business activity creates an error* and triggers the event.
- ![GRAPHIC-event_throwEscalation](/assets/graphic-event_throwescalation.0dafa4fc079f56a564505bb594e479ab3d8e1428bd1c2aeb995ed1d883de87be.05e3abfb.png) throw escalation;      add "evType": "escalation" (for end events) or "evType": "throwEscalation" (for intermediate events) to "properties" within the Request JSONAn *escalation* is generatedand when the event has been triggered.
- ![GRAPHIC-event_catchEscalation](/assets/graphic-event_catchescalation.5cc919ad55fc69dc6d59a441912101171477956b5290fe9c79e863fbb871aa0d.05e3abfb.png) catch escalation;      add "evType": "escalation" (for start events) or "evType": "catchEscalation" (for intermediate events) to "properties" within the Request JSONA specified *restriction on the execution of a business activity* cannot be complied with and triggers the event.
- ![GRAPHIC-event_throwCancel](/assets/graphic-event_throwcancel.7b81f92462d9e7806fec7e941b972f8f6f3015f057fbc5693a393957a4baddba.05e3abfb.png) throw cancel;          add "evType": "throwCancel" to "properties" within the Request JSONAn *transaction* has to be canceled when the event has been triggered.
- ![GRAPHIC-event_catchCancel](/assets/graphic-event_catchcancel.b62ef8a18d4b98f1d2bd7379315449298f1b013e8e865a72f7be2da1f689c37c.05e3abfb.png) catch cancel;          add "evType": "catchCancel" to "properties" within the Request JSONA *transaction* cannot be completed and triggers the event.
- ![GRAPHIC-event_throwCompensation](/assets/graphic-event_throwcompensation.3a9eb227775828908d5886c4b6ce62d408d36a476be82563ca025e3e6693a14a.05e3abfb.png) throw compensation;    add "evType": "throwCompensation" to "properties" within the Request JSONA *compensation* is necessary when the event has been triggered.
- ![GRAPHIC-event_catchCompensation](/assets/graphic-event_catchcompensation.b9536cc8f68e188187298a38fcf4d048d9496a8abb5d1683ffe85cedbb3c2668.05e3abfb.png) catch compensation;    add "evType": "catchCompensation" to "properties" within the Request JSONA *compensation* occurs and triggers the event.
- ![GRAPHIC-event_conditional](/assets/graphic-event_conditional.ac7fc9f2b3ebb403a2eb69010cad263972b6a25a0cec88db19d29f77d9fd78df.05e3abfb.png) conditional;           add "evType": "conditional" to "properties" within the Request JSONA *condition* becomes *true* and triggers the event.
- ![GRAPHIC-event_throwLink](/assets/graphic-event_throwlink.25b7df3906b817a2a73452a39068b48f6bd0dde5fb964be216619f10b620e17a.05e3abfb.png) throw link;            add "evType": "throwLink" to "properties" owithin the Request JSONThe *connection* to another section of the same *business process* (e.g. loop start or sequence shortcut start) needs to be initiated when the event has been triggered.
- ![GRAPHIC-event_catchLink](/assets/graphic-event_catchlink.f2eae33c5dc24562ebbc046af3e2cd9e06db03025cb3974d140854de1974f2e4.05e3abfb.png) catch link;            add "evType": "catchLink" to "properties" within the Request JSONA *connection* to another section of the same *business process* is to be closed (e.g. loop end or sequence shortcut end) and triggers the event.
- ![GRAPHIC-event_throwSignal](/assets/graphic-event_throwsignal.ebb7fccd1e264411ececd51ebe29fdf8afc0f6a49942b75cfdb5d0821784378e.05e3abfb.png) throw signal;          add "evType": "signal" (for end events) or "evType": "throwSignal" (for intermediate events)  to "properties" within the Request JSONA *signal* to another *business process* needs to be broadcast when the event has been triggered.
- ![GRAPHIC-event_catchSignal](/assets/graphic-event_catchsignal.0d9292db0d93a2d15f7f63ca47d022c092e506b85bd3b94369e643ccf21804c9.05e3abfb.png) catch signal;          add "evType": "signal" (for start events) or "evType": "catchSignal" (for intermediate events) to "properties" within the Request JSONA *signal* arrives that has been broadcast from another *business process* and triggers the event.
- ![GRAPHIC-event_terminate](/assets/graphic-event_terminate.9297095dcdcc6b8ac7061ad6cd1de2d3c3e1103e55e0dfab4e9212d8cc8eccc4.05e3abfb.png) terminate;             add "evType": "terminate" to "properties" within the Request JSONAll activities in the *business process* should be ended immediately when the event has been triggered.
- ![GRAPHIC-event_throwMultiple](/assets/graphic-event_throwmultiple.b699f1ae37ea5e68697b02c37580c33f701b799b2a749c2a84ae17b67e507610.05e3abfb.png) throw multiple;        add "evType": "multiple" (for end events) or "evType": "throwMultiple" (for intermediate events) to "properties" within the Request JSON*All of multiple* consequences (trigers) occure when the event has been triggered.
- ![GRAPHIC-event_catchMultiple](/assets/graphic-event_catchmultiple.bb7c3470baa07ee3a277876f00c99fcc25594fd6526d38e42041b65ac1881a0b.05e3abfb.png) catch multiple;        add "evType": "multiple" (for start events) or "evType": "catchMultiple" (for intermediate events) to "properties" within the Request JSONAt least *one of several* consequences (trigers) has been encountered and triggers the event.
- ![GRAPHIC-event_parallelMultiple](/assets/graphic-event_parallelmultiple.69ee276feee909885e2cbdf4f9d1dab1bc9c2e7dd48603479ab164cfb539c6b8.05e3abfb.png) parallel multiple;     add "evType": "parMultiple" (for start and end events) to "properties" within the Request JSON*All of several* triggers have been encountered and trigger the event.


## 4.0 All available combinations of event continuations, locations and types:

![BPMN-eventCombinations](/assets/bpmn-eventcombinations.0790d3b4519659eb4409634bf4a74143f085ceb538fca4edd585bd0f5aec5a16.05e3abfb.png)