dodil/erp-method

modules/purchasing/signoff/purchasing/history/purchasing_purchase_agreement.v1.bpmn

<?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" xmlns:dodil="https://git.dodil.io/dodil/erp-platform/bpmn/1" id="Definitions_purchasing_v4" name="Purchasing &amp; suppliers processes" targetNamespace="https://git.dodil.io/dodil/erp-platform/processes" exporter="erp-platform erp-compose bpmn" exporterVersion="1">
 <bpmn:collaboration id="Collaboration_purchasing_v4">
  <bpmn:documentation>Purchasing &amp; suppliers: one pool per entity lifecycle, generated from module.yaml.</bpmn:documentation>
  <bpmn:participant id="Participant_purchasing_purchase_agreement" name="Purchase agreement" processRef="Process_purchasing_purchase_agreement_v4" />
 </bpmn:collaboration>
 <bpmn:process id="Process_purchasing_purchase_agreement_v4" name="Purchase agreement" isExecutable="false">
  <bpmn:documentation>Lifecycle of the purchase agreement, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: draft, to_approve, active, closed. Note: released, remaining and the call-offs are DERIVED from claims and releases, never counters</bpmn:documentation>
  <bpmn:laneSet id="LaneSet_purchase_agreement">
   <bpmn:lane id="Lane_purchase_agreement_buyer" name="whoever places orders">
    <bpmn:flowNodeRef>Start_purchase_agreement</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_draft_agreement</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_submit_agreement</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_release_against_agreement</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_maintain_schedule</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_send_schedule_release</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_revise_agreement</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_close_agreement</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_release_against_agreement__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_release_against_agreement__if_end</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_maintain_schedule__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_maintain_schedule__if_end</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_send_schedule_release__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_send_schedule_release__if_end</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_purchase_agreement_active__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>End_purchase_agreement_closed</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_purchase_agreement_spend_approver" name="budget holder">
    <bpmn:flowNodeRef>Task_approve_agreement</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_reject_agreement</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_purchase_agreement_to_approve__if</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_purchase_agreement_system" name="The system">
    <bpmn:flowNodeRef>Task_expire_agreement</bpmn:flowNodeRef>
   </bpmn:lane>
  </bpmn:laneSet>
  <bpmn:startEvent id="Start_purchase_agreement" name="Purchase agreement needed">
   <bpmn:outgoing>Flow_Start_purchase_agreement__Task_draft_agreement</bpmn:outgoing>
  </bpmn:startEvent>
  <bpmn:userTask id="Task_draft_agreement" name="Draft a contract or scheduling agreement" dodil:step="draft_agreement">
   <bpmn:documentation>By: whoever places orders. From none to draft. Effect: keyed ag:&lt;bp_id&gt;:&lt;kind&gt;:&lt;valid_from&gt;:&lt;supplier_ref&gt;; kind quantity_contract | value_contract | scheduling_agreement.</bpmn:documentation>
   <bpmn:incoming>Flow_Start_purchase_agreement__Task_draft_agreement</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_draft_agreement__Task_submit_agreement</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_submit_agreement" name="Send for approval" dodil:step="submit_agreement">
   <bpmn:documentation>By: whoever places orders. From draft to to_approve. When: lines with prices, a target (quantity or value), a validity starting today or later.</bpmn:documentation>
   <bpmn:incoming>Flow_Task_draft_agreement__Task_submit_agreement</bpmn:incoming>
   <bpmn:incoming>Flow_Task_reject_agreement__Task_submit_agreement</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_submit_agreement__Gateway_purchase_agreement_to_approve__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_approve_agreement" name="Approve the agreement" dodil:step="approve_agreement" dodil:approval="true">
   <bpmn:documentation>By: budget holder. From to_approve to active. When: the target value is within the approver's limit in force today and the release strategy's levels are met; the approver is not the buyer (email AND sub). Effect: agreement_no claimed; the spend approval for every release within its target and validity. An approval.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_purchase_agreement_to_approve__if__Task_approve_agreement</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_approve_agreement__Gateway_release_against_agreement__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_reject_agreement" name="Send back with a reason" dodil:step="reject_agreement">
   <bpmn:documentation>By: budget holder. From to_approve to draft. Requires: reason.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_purchase_agreement_to_approve__if__Task_reject_agreement</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_reject_agreement__Task_submit_agreement</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_release_against_agreement" name="Release against the contract" dodil:step="release_against_agreement">
   <bpmn:documentation>By: whoever places orders. From active to active. When: within validity and what is left (claims). Effect: a release order's lines claim the agreement lines (pur_agreement_claim) at confirm_purchase_order.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_release_against_agreement__if__Task_release_against_agreement</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_release_against_agreement__Gateway_release_against_agreement__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_maintain_schedule" name="Update the delivery schedule" dodil:step="maintain_schedule">
   <bpmn:documentation>By: whoever places orders. From active to active. When: a scheduling agreement; lines dated today or later; a line released JIT inside the firm zone changes only with the supplier's agreement (reason). Effect: a new schedule revision; the previous kept.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_maintain_schedule__if__Task_maintain_schedule</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_maintain_schedule__Gateway_maintain_schedule__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_send_schedule_release" name="Send a forecast or JIT release" dodil:step="send_schedule_release">
   <bpmn:documentation>By: whoever places orders. From active to active. When: a scheduling agreement with schedule lines. Effect: release_no claimed per agreement, the lines frozen in it; jit opens a call-off order (open_call_off); forecast commits nothing.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_send_schedule_release__if__Task_send_schedule_release</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_send_schedule_release__Gateway_send_schedule_release__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_revise_agreement" name="Revise the target or prices" dodil:step="revise_agreement">
   <bpmn:documentation>By: whoever places orders. From active to to_approve. When: the target or a price is raised. Effect: a new revision; releases continue under the approved one until the new one is approved.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_purchase_agreement_active__if__Task_revise_agreement</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_revise_agreement__Gateway_purchase_agreement_to_approve__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_close_agreement" name="Close the agreement" dodil:step="close_agreement">
   <bpmn:documentation>By: whoever places orders. From active to closed. Requires: reason.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_purchase_agreement_active__if__Task_close_agreement</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_close_agreement__End_purchase_agreement_closed</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:serviceTask id="Task_expire_agreement" name="The agreement ends" dodil:step="expire_agreement" implementation="##unspecified">
   <bpmn:documentation>By: The system. From active to closed. When: valid_to is before today (the business date).</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_purchase_agreement_active__if__Task_expire_agreement</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_expire_agreement__End_purchase_agreement_closed</bpmn:outgoing>
  </bpmn:serviceTask>
  <bpmn:exclusiveGateway id="Gateway_purchase_agreement_to_approve__if" name="Purchase agreement to approve: what next?">
   <bpmn:incoming>Flow_Task_submit_agreement__Gateway_purchase_agreement_to_approve__if</bpmn:incoming>
   <bpmn:incoming>Flow_Task_revise_agreement__Gateway_purchase_agreement_to_approve__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_purchase_agreement_to_approve__if__Task_approve_agreement</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_purchase_agreement_to_approve__if__Task_reject_agreement</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_release_against_agreement__if" name="within validity and what is left (claims)?">
   <bpmn:incoming>Flow_Task_approve_agreement__Gateway_release_against_agreement__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_release_against_agreement__if__Task_release_against_agreement</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_release_against_agreement__if__Gateway_release_against_agreement__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_release_against_agreement__if_end">
   <bpmn:incoming>Flow_Gateway_release_against_agreement__if__Gateway_release_against_agreement__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_release_against_agreement__Gateway_release_against_agreement__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_release_against_agreement__if_end__Gateway_maintain_schedule__if</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_maintain_schedule__if" name="a scheduling agreement; lines dated today or later; a line released JIT inside the firm zone changes only with the supplier's agreement (reason)?">
   <bpmn:incoming>Flow_Gateway_release_against_agreement__if_end__Gateway_maintain_schedule__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_maintain_schedule__if__Task_maintain_schedule</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_maintain_schedule__if__Gateway_maintain_schedule__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_maintain_schedule__if_end">
   <bpmn:incoming>Flow_Gateway_maintain_schedule__if__Gateway_maintain_schedule__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_maintain_schedule__Gateway_maintain_schedule__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_maintain_schedule__if_end__Gateway_send_schedule_release__if</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_send_schedule_release__if" name="a scheduling agreement with schedule lines?">
   <bpmn:incoming>Flow_Gateway_maintain_schedule__if_end__Gateway_send_schedule_release__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_send_schedule_release__if__Task_send_schedule_release</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_send_schedule_release__if__Gateway_send_schedule_release__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_send_schedule_release__if_end">
   <bpmn:incoming>Flow_Gateway_send_schedule_release__if__Gateway_send_schedule_release__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_send_schedule_release__Gateway_send_schedule_release__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_send_schedule_release__if_end__Gateway_purchase_agreement_active__if</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_purchase_agreement_active__if" name="Purchase agreement active: what next?">
   <bpmn:incoming>Flow_Gateway_send_schedule_release__if_end__Gateway_purchase_agreement_active__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_purchase_agreement_active__if__Task_revise_agreement</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_purchase_agreement_active__if__Task_close_agreement</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_purchase_agreement_active__if__Task_expire_agreement</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:endEvent id="End_purchase_agreement_closed" name="Purchase agreement closed">
   <bpmn:incoming>Flow_Task_close_agreement__End_purchase_agreement_closed</bpmn:incoming>
   <bpmn:incoming>Flow_Task_expire_agreement__End_purchase_agreement_closed</bpmn:incoming>
  </bpmn:endEvent>
  <bpmn:sequenceFlow id="Flow_Start_purchase_agreement__Task_draft_agreement" sourceRef="Start_purchase_agreement" targetRef="Task_draft_agreement" />
  <bpmn:sequenceFlow id="Flow_Task_draft_agreement__Task_submit_agreement" sourceRef="Task_draft_agreement" targetRef="Task_submit_agreement" />
  <bpmn:sequenceFlow id="Flow_Gateway_purchase_agreement_to_approve__if__Task_approve_agreement" sourceRef="Gateway_purchase_agreement_to_approve__if" targetRef="Task_approve_agreement" />
  <bpmn:sequenceFlow id="Flow_Gateway_purchase_agreement_to_approve__if__Task_reject_agreement" sourceRef="Gateway_purchase_agreement_to_approve__if" targetRef="Task_reject_agreement" />
  <bpmn:sequenceFlow id="Flow_Task_submit_agreement__Gateway_purchase_agreement_to_approve__if" sourceRef="Task_submit_agreement" targetRef="Gateway_purchase_agreement_to_approve__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_release_against_agreement__if__Task_release_against_agreement" name="within validity and what is left (claims)" sourceRef="Gateway_release_against_agreement__if" targetRef="Task_release_against_agreement" />
  <bpmn:sequenceFlow id="Flow_Gateway_release_against_agreement__if__Gateway_release_against_agreement__if_end" name="otherwise" sourceRef="Gateway_release_against_agreement__if" targetRef="Gateway_release_against_agreement__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_release_against_agreement__Gateway_release_against_agreement__if_end" sourceRef="Task_release_against_agreement" targetRef="Gateway_release_against_agreement__if_end" />
  <bpmn:sequenceFlow id="Flow_Gateway_maintain_schedule__if__Task_maintain_schedule" name="a scheduling agreement; lines dated today or later; a line released JIT inside the firm zone changes only with the supplier's agreement (reason)" sourceRef="Gateway_maintain_schedule__if" targetRef="Task_maintain_schedule" />
  <bpmn:sequenceFlow id="Flow_Gateway_maintain_schedule__if__Gateway_maintain_schedule__if_end" name="otherwise" sourceRef="Gateway_maintain_schedule__if" targetRef="Gateway_maintain_schedule__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_maintain_schedule__Gateway_maintain_schedule__if_end" sourceRef="Task_maintain_schedule" targetRef="Gateway_maintain_schedule__if_end" />
  <bpmn:sequenceFlow id="Flow_Gateway_send_schedule_release__if__Task_send_schedule_release" name="a scheduling agreement with schedule lines" sourceRef="Gateway_send_schedule_release__if" targetRef="Task_send_schedule_release" />
  <bpmn:sequenceFlow id="Flow_Gateway_send_schedule_release__if__Gateway_send_schedule_release__if_end" name="otherwise" sourceRef="Gateway_send_schedule_release__if" targetRef="Gateway_send_schedule_release__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_send_schedule_release__Gateway_send_schedule_release__if_end" sourceRef="Task_send_schedule_release" targetRef="Gateway_send_schedule_release__if_end" />
  <bpmn:sequenceFlow id="Flow_Gateway_release_against_agreement__if_end__Gateway_maintain_schedule__if" sourceRef="Gateway_release_against_agreement__if_end" targetRef="Gateway_maintain_schedule__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_maintain_schedule__if_end__Gateway_send_schedule_release__if" sourceRef="Gateway_maintain_schedule__if_end" targetRef="Gateway_send_schedule_release__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_purchase_agreement_active__if__Task_revise_agreement" sourceRef="Gateway_purchase_agreement_active__if" targetRef="Task_revise_agreement" />
  <bpmn:sequenceFlow id="Flow_Gateway_purchase_agreement_active__if__Task_close_agreement" sourceRef="Gateway_purchase_agreement_active__if" targetRef="Task_close_agreement" />
  <bpmn:sequenceFlow id="Flow_Gateway_purchase_agreement_active__if__Task_expire_agreement" sourceRef="Gateway_purchase_agreement_active__if" targetRef="Task_expire_agreement" />
  <bpmn:sequenceFlow id="Flow_Gateway_send_schedule_release__if_end__Gateway_purchase_agreement_active__if" sourceRef="Gateway_send_schedule_release__if_end" targetRef="Gateway_purchase_agreement_active__if" />
  <bpmn:sequenceFlow id="Flow_Task_approve_agreement__Gateway_release_against_agreement__if" sourceRef="Task_approve_agreement" targetRef="Gateway_release_against_agreement__if" />
  <bpmn:sequenceFlow id="Flow_Task_reject_agreement__Task_submit_agreement" sourceRef="Task_reject_agreement" targetRef="Task_submit_agreement" />
  <bpmn:sequenceFlow id="Flow_Task_revise_agreement__Gateway_purchase_agreement_to_approve__if" sourceRef="Task_revise_agreement" targetRef="Gateway_purchase_agreement_to_approve__if" />
  <bpmn:sequenceFlow id="Flow_Task_close_agreement__End_purchase_agreement_closed" sourceRef="Task_close_agreement" targetRef="End_purchase_agreement_closed" />
  <bpmn:sequenceFlow id="Flow_Task_expire_agreement__End_purchase_agreement_closed" sourceRef="Task_expire_agreement" targetRef="End_purchase_agreement_closed" />
 </bpmn:process>
 <bpmndi:BPMNDiagram id="BPMNDiagram_purchasing_v4">
  <bpmndi:BPMNPlane id="BPMNPlane_purchasing_v4" bpmnElement="Collaboration_purchasing_v4">
   <bpmndi:BPMNShape id="Participant_purchasing_purchase_agreement_di" bpmnElement="Participant_purchasing_purchase_agreement" isHorizontal="true">
    <dc:Bounds x="0" y="0" width="2490" height="660" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_purchase_agreement_buyer_di" bpmnElement="Lane_purchase_agreement_buyer" isHorizontal="true">
    <dc:Bounds x="30" y="0" width="2460" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_purchase_agreement_spend_approver_di" bpmnElement="Lane_purchase_agreement_spend_approver" isHorizontal="true">
    <dc:Bounds x="30" y="260" width="2460" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_purchase_agreement_system_di" bpmnElement="Lane_purchase_agreement_system" isHorizontal="true">
    <dc:Bounds x="30" y="520" width="2460" height="140" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Start_purchase_agreement_di" bpmnElement="Start_purchase_agreement">
    <dc:Bounds x="157" y="42" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_draft_agreement_di" bpmnElement="Task_draft_agreement">
    <dc:Bounds x="295" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_submit_agreement_di" bpmnElement="Task_submit_agreement">
    <dc:Bounds x="465" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_approve_agreement_di" bpmnElement="Task_approve_agreement">
    <dc:Bounds x="805" y="280" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_reject_agreement_di" bpmnElement="Task_reject_agreement">
    <dc:Bounds x="805" y="400" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_release_against_agreement_di" bpmnElement="Task_release_against_agreement">
    <dc:Bounds x="1145" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_maintain_schedule_di" bpmnElement="Task_maintain_schedule">
    <dc:Bounds x="1485" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_send_schedule_release_di" bpmnElement="Task_send_schedule_release">
    <dc:Bounds x="1825" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_revise_agreement_di" bpmnElement="Task_revise_agreement">
    <dc:Bounds x="2165" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_close_agreement_di" bpmnElement="Task_close_agreement">
    <dc:Bounds x="2165" y="140" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_expire_agreement_di" bpmnElement="Task_expire_agreement">
    <dc:Bounds x="2165" y="540" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_purchase_agreement_to_approve__if_di" bpmnElement="Gateway_purchase_agreement_to_approve__if">
    <dc:Bounds x="660" y="295" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_release_against_agreement__if_di" bpmnElement="Gateway_release_against_agreement__if">
    <dc:Bounds x="1000" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_release_against_agreement__if_end_di" bpmnElement="Gateway_release_against_agreement__if_end">
    <dc:Bounds x="1170" y="155" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_maintain_schedule__if_di" bpmnElement="Gateway_maintain_schedule__if">
    <dc:Bounds x="1340" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_maintain_schedule__if_end_di" bpmnElement="Gateway_maintain_schedule__if_end">
    <dc:Bounds x="1510" y="155" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_send_schedule_release__if_di" bpmnElement="Gateway_send_schedule_release__if">
    <dc:Bounds x="1680" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_send_schedule_release__if_end_di" bpmnElement="Gateway_send_schedule_release__if_end">
    <dc:Bounds x="1850" y="155" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_purchase_agreement_active__if_di" bpmnElement="Gateway_purchase_agreement_active__if">
    <dc:Bounds x="2020" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="End_purchase_agreement_closed_di" bpmnElement="End_purchase_agreement_closed">
    <dc:Bounds x="2367" y="42" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNEdge id="Flow_Start_purchase_agreement__Task_draft_agreement_di" bpmnElement="Flow_Start_purchase_agreement__Task_draft_agreement">
    <di:waypoint x="193" y="60" />
    <di:waypoint x="295" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_draft_agreement__Task_submit_agreement_di" bpmnElement="Flow_Task_draft_agreement__Task_submit_agreement">
    <di:waypoint x="395" y="60" />
    <di:waypoint x="465" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_purchase_agreement_to_approve__if__Task_approve_agreement_di" bpmnElement="Flow_Gateway_purchase_agreement_to_approve__if__Task_approve_agreement">
    <di:waypoint x="710" y="320" />
    <di:waypoint x="805" y="320" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_purchase_agreement_to_approve__if__Task_reject_agreement_di" bpmnElement="Flow_Gateway_purchase_agreement_to_approve__if__Task_reject_agreement">
    <di:waypoint x="710" y="320" />
    <di:waypoint x="780" y="320" />
    <di:waypoint x="780" y="440" />
    <di:waypoint x="805" y="440" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_submit_agreement__Gateway_purchase_agreement_to_approve__if_di" bpmnElement="Flow_Task_submit_agreement__Gateway_purchase_agreement_to_approve__if">
    <di:waypoint x="565" y="60" />
    <di:waypoint x="635" y="60" />
    <di:waypoint x="635" y="320" />
    <di:waypoint x="660" y="320" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_release_against_agreement__if__Task_release_against_agreement_di" bpmnElement="Flow_Gateway_release_against_agreement__if__Task_release_against_agreement">
    <di:waypoint x="1050" y="60" />
    <di:waypoint x="1145" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_release_against_agreement__if__Gateway_release_against_agreement__if_end_di" bpmnElement="Flow_Gateway_release_against_agreement__if__Gateway_release_against_agreement__if_end">
    <di:waypoint x="1050" y="60" />
    <di:waypoint x="1145" y="60" />
    <di:waypoint x="1145" y="180" />
    <di:waypoint x="1170" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_release_against_agreement__Gateway_release_against_agreement__if_end_di" bpmnElement="Flow_Task_release_against_agreement__Gateway_release_against_agreement__if_end">
    <di:waypoint x="1195" y="100" />
    <di:waypoint x="1195" y="220" />
    <di:waypoint x="1195" y="220" />
    <di:waypoint x="1195" y="205" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_maintain_schedule__if__Task_maintain_schedule_di" bpmnElement="Flow_Gateway_maintain_schedule__if__Task_maintain_schedule">
    <di:waypoint x="1390" y="60" />
    <di:waypoint x="1485" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_maintain_schedule__if__Gateway_maintain_schedule__if_end_di" bpmnElement="Flow_Gateway_maintain_schedule__if__Gateway_maintain_schedule__if_end">
    <di:waypoint x="1390" y="60" />
    <di:waypoint x="1485" y="60" />
    <di:waypoint x="1485" y="180" />
    <di:waypoint x="1510" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_maintain_schedule__Gateway_maintain_schedule__if_end_di" bpmnElement="Flow_Task_maintain_schedule__Gateway_maintain_schedule__if_end">
    <di:waypoint x="1535" y="100" />
    <di:waypoint x="1535" y="226" />
    <di:waypoint x="1535" y="226" />
    <di:waypoint x="1535" y="205" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_send_schedule_release__if__Task_send_schedule_release_di" bpmnElement="Flow_Gateway_send_schedule_release__if__Task_send_schedule_release">
    <di:waypoint x="1730" y="60" />
    <di:waypoint x="1825" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_send_schedule_release__if__Gateway_send_schedule_release__if_end_di" bpmnElement="Flow_Gateway_send_schedule_release__if__Gateway_send_schedule_release__if_end">
    <di:waypoint x="1730" y="60" />
    <di:waypoint x="1825" y="60" />
    <di:waypoint x="1825" y="180" />
    <di:waypoint x="1850" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_send_schedule_release__Gateway_send_schedule_release__if_end_di" bpmnElement="Flow_Task_send_schedule_release__Gateway_send_schedule_release__if_end">
    <di:waypoint x="1875" y="100" />
    <di:waypoint x="1875" y="232" />
    <di:waypoint x="1875" y="232" />
    <di:waypoint x="1875" y="205" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_release_against_agreement__if_end__Gateway_maintain_schedule__if_di" bpmnElement="Flow_Gateway_release_against_agreement__if_end__Gateway_maintain_schedule__if">
    <di:waypoint x="1220" y="180" />
    <di:waypoint x="1315" y="180" />
    <di:waypoint x="1315" y="60" />
    <di:waypoint x="1340" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_maintain_schedule__if_end__Gateway_send_schedule_release__if_di" bpmnElement="Flow_Gateway_maintain_schedule__if_end__Gateway_send_schedule_release__if">
    <di:waypoint x="1560" y="180" />
    <di:waypoint x="1655" y="180" />
    <di:waypoint x="1655" y="60" />
    <di:waypoint x="1680" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_purchase_agreement_active__if__Task_revise_agreement_di" bpmnElement="Flow_Gateway_purchase_agreement_active__if__Task_revise_agreement">
    <di:waypoint x="2070" y="60" />
    <di:waypoint x="2165" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_purchase_agreement_active__if__Task_close_agreement_di" bpmnElement="Flow_Gateway_purchase_agreement_active__if__Task_close_agreement">
    <di:waypoint x="2070" y="60" />
    <di:waypoint x="2140" y="60" />
    <di:waypoint x="2140" y="180" />
    <di:waypoint x="2165" y="180" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_purchase_agreement_active__if__Task_expire_agreement_di" bpmnElement="Flow_Gateway_purchase_agreement_active__if__Task_expire_agreement">
    <di:waypoint x="2070" y="60" />
    <di:waypoint x="2140" y="60" />
    <di:waypoint x="2140" y="580" />
    <di:waypoint x="2165" y="580" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_send_schedule_release__if_end__Gateway_purchase_agreement_active__if_di" bpmnElement="Flow_Gateway_send_schedule_release__if_end__Gateway_purchase_agreement_active__if">
    <di:waypoint x="1900" y="180" />
    <di:waypoint x="1995" y="180" />
    <di:waypoint x="1995" y="60" />
    <di:waypoint x="2020" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_approve_agreement__Gateway_release_against_agreement__if_di" bpmnElement="Flow_Task_approve_agreement__Gateway_release_against_agreement__if">
    <di:waypoint x="905" y="320" />
    <di:waypoint x="975" y="320" />
    <di:waypoint x="975" y="60" />
    <di:waypoint x="1000" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_reject_agreement__Task_submit_agreement_di" bpmnElement="Flow_Task_reject_agreement__Task_submit_agreement">
    <di:waypoint x="855" y="480" />
    <di:waypoint x="855" y="513" />
    <di:waypoint x="515" y="513" />
    <di:waypoint x="515" y="100" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_revise_agreement__Gateway_purchase_agreement_to_approve__if_di" bpmnElement="Flow_Task_revise_agreement__Gateway_purchase_agreement_to_approve__if">
    <di:waypoint x="2215" y="100" />
    <di:waypoint x="2215" y="360" />
    <di:waypoint x="685" y="360" />
    <di:waypoint x="685" y="345" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_close_agreement__End_purchase_agreement_closed_di" bpmnElement="Flow_Task_close_agreement__End_purchase_agreement_closed">
    <di:waypoint x="2265" y="180" />
    <di:waypoint x="2342" y="180" />
    <di:waypoint x="2342" y="60" />
    <di:waypoint x="2367" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_expire_agreement__End_purchase_agreement_closed_di" bpmnElement="Flow_Task_expire_agreement__End_purchase_agreement_closed">
    <di:waypoint x="2265" y="580" />
    <di:waypoint x="2342" y="580" />
    <di:waypoint x="2342" y="60" />
    <di:waypoint x="2367" y="60" />
   </bpmndi:BPMNEdge>
  </bpmndi:BPMNPlane>
 </bpmndi:BPMNDiagram>
</bpmn:definitions>