dodil/erp-method
modules/purchasing/signoff/purchasing/history/purchasing_purchase_agreement.v5.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_v8" name="Purchasing & suppliers processes" targetNamespace="https://git.dodil.io/dodil/erp-platform/processes" exporter="erp-platform erp-compose bpmn" exporterVersion="1">
<bpmn:collaboration id="Collaboration_purchasing_v8">
<bpmn:documentation>Purchasing & 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_v8" />
</bpmn:collaboration>
<bpmn:process id="Process_purchasing_purchase_agreement_v8" 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:<bp_id>:<kind>:<valid_from>:<supplier_ref>; 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_v8">
<bpmndi:BPMNPlane id="BPMNPlane_purchasing_v8" bpmnElement="Collaboration_purchasing_v8">
<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>