Skip to content
BPMN 2.0 templates

Event booking with coordinated hold release

Place provisional venue and supplier holds, validate feasibility, and release every hold if an event cannot proceed under approved conditions. Editable collaboration with role lanes, decisions and explicit rollback activities. Illustrative policy and timing; adapt to local requirements.

Template previewBPMN 2.0
Rendering…

What this template contains

Source
71 lines

Make it your own.

<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="event_venue_booking_definitions" targetNamespace="urn:flowss:advanced">
  <bpmn:message id="event_venue_booking_message" name="Event approved in principle"/>
  
  <bpmn:process id="event_venue_booking_process" name="Event booking with coordinated hold release" isExecutable="false">
    <bpmn:documentation>Place provisional venue and supplier holds, validate feasibility, and release every hold if an event cannot proceed under approved conditions. Inputs: Event approved in principle. Rollback activities are explicit modelled tasks, not engine-level BPMN compensation handlers. All policy choices, durations and conditions are illustrative. Replace example rules with approved local policy; configure integrations and review before execution. This non-executable template does not assert legal compliance or a real completed case.</bpmn:documentation>
    <bpmn:laneSet id="event_venue_booking_lanes"><bpmn:lane id="event_venue_booking_lane_0" name="Event coordinator"><bpmn:flowNodeRef>event_venue_booking_start</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_intake_1</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_prepare_1</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_prepare_2</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_commit_1</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_commit_rest_1</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_commit_rest_2</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_complete</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="event_venue_booking_lane_1" name="Event reviewer"><bpmn:flowNodeRef>event_venue_booking_verification</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_decision</bpmn:flowNodeRef></bpmn:lane><bpmn:lane id="event_venue_booking_lane_2" name="Booking recovery"><bpmn:flowNodeRef>event_venue_booking_rollback_1</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_rollback_rest_1</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_rollback_rest_2</bpmn:flowNodeRef><bpmn:flowNodeRef>event_venue_booking_alternate</bpmn:flowNodeRef></bpmn:lane></bpmn:laneSet>
    <bpmn:startEvent id="event_venue_booking_start" name="Event approved in principle"><bpmn:messageEventDefinition id="event_venue_booking_start_def" messageRef="event_venue_booking_message"/></bpmn:startEvent>
    <bpmn:userTask id="event_venue_booking_intake_1" name="Record attendance and access needs"></bpmn:userTask>
    <bpmn:userTask id="event_venue_booking_prepare_1" name="Hold accessible venue"></bpmn:userTask>
    <bpmn:userTask id="event_venue_booking_prepare_2" name="Hold supplier capacity"></bpmn:userTask>
    <bpmn:userTask id="event_venue_booking_verification" name="Verify sponsor budget"></bpmn:userTask>
    <bpmn:exclusiveGateway id="event_venue_booking_decision" name="Booking feasible?" default="event_venue_booking_flow_7"></bpmn:exclusiveGateway>
    <bpmn:serviceTask id="event_venue_booking_commit_1" name="Confirm venue booking"></bpmn:serviceTask>
    <bpmn:serviceTask id="event_venue_booking_rollback_1" name="Release supplier holds"></bpmn:serviceTask>
    <bpmn:serviceTask id="event_venue_booking_commit_rest_1" name="Confirm supplier orders"></bpmn:serviceTask>
    <bpmn:serviceTask id="event_venue_booking_commit_rest_2" name="Issue participant information"></bpmn:serviceTask>
    <bpmn:serviceTask id="event_venue_booking_rollback_rest_1" name="Release venue hold"></bpmn:serviceTask>
    <bpmn:serviceTask id="event_venue_booking_rollback_rest_2" name="Record revised planning needs"></bpmn:serviceTask>
    <bpmn:endEvent id="event_venue_booking_complete" name="Event booked"></bpmn:endEvent>
    <bpmn:endEvent id="event_venue_booking_alternate" name="Holds released"></bpmn:endEvent>
    <bpmn:sequenceFlow id="event_venue_booking_flow_1" sourceRef="event_venue_booking_start" targetRef="event_venue_booking_intake_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_2" sourceRef="event_venue_booking_intake_1" targetRef="event_venue_booking_prepare_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_3" sourceRef="event_venue_booking_prepare_1" targetRef="event_venue_booking_prepare_2"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_4" sourceRef="event_venue_booking_prepare_2" targetRef="event_venue_booking_verification"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_5" sourceRef="event_venue_booking_verification" targetRef="event_venue_booking_decision"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_6" sourceRef="event_venue_booking_decision" targetRef="event_venue_booking_commit_1" name="Yes"><bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">=bookingFeasible = true</bpmn:conditionExpression></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_7" sourceRef="event_venue_booking_decision" targetRef="event_venue_booking_rollback_1" name="Otherwise"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_8" sourceRef="event_venue_booking_commit_1" targetRef="event_venue_booking_commit_rest_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_9" sourceRef="event_venue_booking_commit_rest_1" targetRef="event_venue_booking_commit_rest_2"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_10" sourceRef="event_venue_booking_rollback_1" targetRef="event_venue_booking_rollback_rest_1"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_11" sourceRef="event_venue_booking_rollback_rest_1" targetRef="event_venue_booking_rollback_rest_2"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_12" sourceRef="event_venue_booking_commit_rest_2" targetRef="event_venue_booking_complete"></bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="event_venue_booking_flow_13" sourceRef="event_venue_booking_rollback_rest_2" targetRef="event_venue_booking_alternate"></bpmn:sequenceFlow>
  </bpmn:process>
  <bpmn:collaboration id="event_venue_booking_collaboration"><bpmn:participant id="event_venue_booking_party" name="Event sponsor"/><bpmn:participant id="event_venue_booking_pool" name="Event booking with coordinated hold release" processRef="event_venue_booking_process"/><bpmn:messageFlow id="event_venue_booking_request" sourceRef="event_venue_booking_party" targetRef="event_venue_booking_start"/></bpmn:collaboration>
  <bpmndi:BPMNDiagram id="event_venue_booking_diagram"><bpmndi:BPMNPlane id="event_venue_booking_plane" bpmnElement="event_venue_booking_collaboration">
    <bpmndi:BPMNShape id="event_venue_booking_party_di" bpmnElement="event_venue_booking_party" isHorizontal="true"><dc:Bounds x="20" y="20" width="2210" height="70"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_pool_di" bpmnElement="event_venue_booking_pool" isHorizontal="true"><dc:Bounds x="20" y="180" width="2210" height="780"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_lane_0_di" bpmnElement="event_venue_booking_lane_0" isHorizontal="true"><dc:Bounds x="50" y="180" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_lane_1_di" bpmnElement="event_venue_booking_lane_1" isHorizontal="true"><dc:Bounds x="50" y="440" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_lane_2_di" bpmnElement="event_venue_booking_lane_2" isHorizontal="true"><dc:Bounds x="50" y="700" width="2180" height="260"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_start_di" bpmnElement="event_venue_booking_start"><dc:Bounds x="162" y="292" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="108" y="335" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_intake_1_di" bpmnElement="event_venue_booking_intake_1"><dc:Bounds x="325" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_prepare_1_di" bpmnElement="event_venue_booking_prepare_1"><dc:Bounds x="535" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_prepare_2_di" bpmnElement="event_venue_booking_prepare_2"><dc:Bounds x="745" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_verification_di" bpmnElement="event_venue_booking_verification"><dc:Bounds x="955" y="532" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_decision_di" bpmnElement="event_venue_booking_decision" isMarkerVisible="true"><dc:Bounds x="1206" y="546" width="48" height="48"/><bpmndi:BPMNLabel><dc:Bounds x="1158" y="496" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_commit_1_di" bpmnElement="event_venue_booking_commit_1"><dc:Bounds x="1375" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_rollback_1_di" bpmnElement="event_venue_booking_rollback_1"><dc:Bounds x="1375" y="792" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_commit_rest_1_di" bpmnElement="event_venue_booking_commit_rest_1"><dc:Bounds x="1585" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_commit_rest_2_di" bpmnElement="event_venue_booking_commit_rest_2"><dc:Bounds x="1795" y="272" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_rollback_rest_1_di" bpmnElement="event_venue_booking_rollback_rest_1"><dc:Bounds x="1585" y="792" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_rollback_rest_2_di" bpmnElement="event_venue_booking_rollback_rest_2"><dc:Bounds x="1795" y="792" width="130" height="76"/></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_complete_di" bpmnElement="event_venue_booking_complete"><dc:Bounds x="2052" y="292" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="1998" y="335" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNShape id="event_venue_booking_alternate_di" bpmnElement="event_venue_booking_alternate"><dc:Bounds x="2052" y="812" width="36" height="36"/><bpmndi:BPMNLabel><dc:Bounds x="1998" y="855" width="144" height="40"/></bpmndi:BPMNLabel></bpmndi:BPMNShape>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_1_di" bpmnElement="event_venue_booking_flow_1"><di:waypoint x="198" y="310"/><di:waypoint x="325" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_2_di" bpmnElement="event_venue_booking_flow_2"><di:waypoint x="455" y="310"/><di:waypoint x="535" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_3_di" bpmnElement="event_venue_booking_flow_3"><di:waypoint x="665" y="310"/><di:waypoint x="745" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_4_di" bpmnElement="event_venue_booking_flow_4"><di:waypoint x="875" y="310"/><di:waypoint x="915" y="310"/><di:waypoint x="915" y="570"/><di:waypoint x="955" y="570"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_5_di" bpmnElement="event_venue_booking_flow_5"><di:waypoint x="1085" y="570"/><di:waypoint x="1206" y="570"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_6_di" bpmnElement="event_venue_booking_flow_6"><di:waypoint x="1254" y="570"/><di:waypoint x="1315" y="570"/><di:waypoint x="1315" y="310"/><di:waypoint x="1375" y="310"/><bpmndi:BPMNLabel><dc:Bounds x="1262" y="543" width="100" height="22"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_7_di" bpmnElement="event_venue_booking_flow_7"><di:waypoint x="1254" y="570"/><di:waypoint x="1315" y="570"/><di:waypoint x="1315" y="830"/><di:waypoint x="1375" y="830"/><bpmndi:BPMNLabel><dc:Bounds x="1262" y="580" width="100" height="22"/></bpmndi:BPMNLabel></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_8_di" bpmnElement="event_venue_booking_flow_8"><di:waypoint x="1505" y="310"/><di:waypoint x="1585" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_9_di" bpmnElement="event_venue_booking_flow_9"><di:waypoint x="1715" y="310"/><di:waypoint x="1795" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_10_di" bpmnElement="event_venue_booking_flow_10"><di:waypoint x="1505" y="830"/><di:waypoint x="1585" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_11_di" bpmnElement="event_venue_booking_flow_11"><di:waypoint x="1715" y="830"/><di:waypoint x="1795" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_12_di" bpmnElement="event_venue_booking_flow_12"><di:waypoint x="1925" y="310"/><di:waypoint x="2052" y="310"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_flow_13_di" bpmnElement="event_venue_booking_flow_13"><di:waypoint x="1925" y="830"/><di:waypoint x="2052" y="830"/></bpmndi:BPMNEdge>
    <bpmndi:BPMNEdge id="event_venue_booking_request_di" bpmnElement="event_venue_booking_request"><di:waypoint x="180" y="90"/><di:waypoint x="180" y="292"/></bpmndi:BPMNEdge>
    
  </bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</bpmn:definitions>