Purchase Order Approval (BPMN)

Purchase Order Approval
<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:color="http://www.omg.org/spec/BPMN/non-normative/color/1.0" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:modeler="http://camunda.org/schema/modeler/1.0" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_purchase_order" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Web Modeler" exporterVersion="6bc3e34" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.4.0">
  <bpmn:process id="purchase_order_approval" name="Purchase Order Approval Process" isExecutable="true">
    <bpmn:startEvent id="PORequestSubmitted" name="PO Request Submitted">
      <bpmn:outgoing>Flow_1</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:exclusiveGateway id="BudgetCheck" name="Check Budget">
      <bpmn:incoming>Flow_1</bpmn:incoming>
      <bpmn:outgoing>Flow_2</bpmn:outgoing>
      <bpmn:outgoing>Flow_3</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:userTask id="ManagerReview" name="Manager Review">
      <bpmn:incoming>Flow_2</bpmn:incoming>
      <bpmn:outgoing>Flow_4</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:userTask id="FinanceApproval" name="Finance Approval">
      <bpmn:incoming>Flow_4</bpmn:incoming>
      <bpmn:outgoing>Flow_5</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:userTask id="VendorNotification" name="Vendor Notification">
      <bpmn:incoming>Flow_5</bpmn:incoming>
      <bpmn:outgoing>Flow_6</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:intermediateCatchEvent id="PaymentProcessingDelay" name="Payment Processing">
      <bpmn:incoming>Flow_6</bpmn:incoming>
      <bpmn:outgoing>Flow_7</bpmn:outgoing>
      <bpmn:timerEventDefinition id="TimerEventDefinition_1">
        <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">P3D</bpmn:timeDuration>
      </bpmn:timerEventDefinition>
    </bpmn:intermediateCatchEvent>
    <bpmn:endEvent id="OrderFulfilled" name="Order Fulfilled">
      <bpmn:incoming>Flow_7</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:endEvent id="RequestRejected" name="Request Rejected">
      <bpmn:incoming>Flow_3</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_1" sourceRef="PORequestSubmitted" targetRef="BudgetCheck" />
    <bpmn:sequenceFlow id="Flow_2" name="Within Budget" sourceRef="BudgetCheck" targetRef="ManagerReview" />
    <bpmn:sequenceFlow id="Flow_3" name="Over Budget" sourceRef="BudgetCheck" targetRef="RequestRejected" />
    <bpmn:sequenceFlow id="Flow_4" sourceRef="ManagerReview" targetRef="FinanceApproval" />
    <bpmn:sequenceFlow id="Flow_5" sourceRef="FinanceApproval" targetRef="VendorNotification" />
    <bpmn:sequenceFlow id="Flow_6" sourceRef="VendorNotification" targetRef="PaymentProcessingDelay" />
    <bpmn:sequenceFlow id="Flow_7" sourceRef="PaymentProcessingDelay" targetRef="OrderFulfilled" />
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="purchase_order_approval">
      <bpmndi:BPMNShape id="Activity_1_di" bpmnElement="ManagerReview" bioc:stroke="#000000" bioc:fill="#ffffff" color:background-color="#ffffff" color:border-color="#000000">
        <dc:Bounds x="380" y="59" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_2_di" bpmnElement="FinanceApproval" bioc:stroke="#000000" bioc:fill="#ffffff" color:background-color="#ffffff" color:border-color="#000000">
        <dc:Bounds x="540" y="59" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_3_di" bpmnElement="VendorNotification" bioc:stroke="#000000" bioc:fill="#ffffff" color:background-color="#ffffff" color:border-color="#000000">
        <dc:Bounds x="700" y="59" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1_di" bpmnElement="PaymentProcessingDelay" bioc:stroke="#000000" bioc:fill="#ffffff" color:background-color="#ffffff" color:border-color="#000000">
        <dc:Bounds x="860" y="81" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="836" y="124" width="84" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="OrderFulfilled" bioc:stroke="#000000" bioc:fill="#ffffff" color:background-color="#ffffff" color:border-color="#000000">
        <dc:Bounds x="972" y="81" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="955" y="124" width="70" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_2_di" bpmnElement="RequestRejected" bioc:stroke="#000000" bioc:fill="#ffffff" color:background-color="#ffffff" color:border-color="#000000">
        <dc:Bounds x="412" y="200" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="386" y="243" width="88" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="PORequestSubmitted" bioc:stroke="#000000" bioc:fill="#ffffff" color:background-color="#ffffff" color:border-color="#000000">
        <dc:Bounds x="122" y="81" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="110" y="124" width="60" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_1_di" bpmnElement="BudgetCheck" isMarkerVisible="true" bioc:stroke="#000000" bioc:fill="#ffffff" color:background-color="#ffffff" color:border-color="#000000">
        <dc:Bounds x="205" y="74" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="195" y="53" width="70" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1" bioc:stroke="#000000" color:border-color="#000000">
        <di:waypoint x="158" y="99" />
        <di:waypoint x="205" y="99" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2" bioc:stroke="#000000" color:border-color="#000000">
        <di:waypoint x="255" y="99" />
        <di:waypoint x="380" y="99" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="285" y="83" width="69" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_3_di" bpmnElement="Flow_3" bioc:stroke="#000000" color:border-color="#000000">
        <di:waypoint x="230" y="124" />
        <di:waypoint x="230" y="218" />
        <di:waypoint x="412" y="218" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="289" y="203" width="62" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_4_di" bpmnElement="Flow_4" bioc:stroke="#000000" color:border-color="#000000">
        <di:waypoint x="480" y="99" />
        <di:waypoint x="540" y="99" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_5_di" bpmnElement="Flow_5" bioc:stroke="#000000" color:border-color="#000000">
        <di:waypoint x="640" y="99" />
        <di:waypoint x="700" y="99" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_6_di" bpmnElement="Flow_6" bioc:stroke="#000000" color:border-color="#000000">
        <di:waypoint x="800" y="99" />
        <di:waypoint x="860" y="99" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_7_di" bpmnElement="Flow_7" bioc:stroke="#000000" color:border-color="#000000">
        <di:waypoint x="896" y="99" />
        <di:waypoint x="972" y="99" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>