dodil/erp-method

modules/purchasing/signoff/purchasing/history/purchasing_request.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_request" name="Request" processRef="Process_purchasing_request_v4" />
 </bpmn:collaboration>
 <bpmn:process id="Process_purchasing_request_v4" name="Request" isExecutable="false">
  <bpmn:documentation>Lifecycle of the request, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: draft, awaiting_approval, approved, refused, ordered, closed.</bpmn:documentation>
  <bpmn:laneSet id="LaneSet_request">
   <bpmn:lane id="Lane_request_requester" name="whoever needs something">
    <bpmn:flowNodeRef>Start_request</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_draft_request</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_submit_request</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_request_none__if</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_request_system" name="The system">
    <bpmn:flowNodeRef>Task_intake_request_from_sales_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_intake_request_from_replenishment</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_request_spend_approver" name="budget holder">
    <bpmn:flowNodeRef>Task_approve_request_level</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_approve_request</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_refuse_request</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_approve_request_level__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_approve_request_level__if_end</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_request_awaiting_approval__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>End_request_refused</bpmn:flowNodeRef>
   </bpmn:lane>
   <bpmn:lane id="Lane_request_buyer" name="whoever places orders">
    <bpmn:flowNodeRef>Task_raise_order</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Task_close_request</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>Gateway_request_approved__if</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>End_request_ordered</bpmn:flowNodeRef>
    <bpmn:flowNodeRef>End_request_closed</bpmn:flowNodeRef>
   </bpmn:lane>
  </bpmn:laneSet>
  <bpmn:startEvent id="Start_request" name="Request needed">
   <bpmn:outgoing>Flow_Start_request__Gateway_request_none__if</bpmn:outgoing>
  </bpmn:startEvent>
  <bpmn:userTask id="Task_draft_request" name="Ask for what you need" dodil:step="draft_request">
   <bpmn:documentation>By: whoever needs something. From none to draft. Effect: request_id derived from the requester and the moment they asked.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_request_none__if__Task_draft_request</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_draft_request__Task_submit_request</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:serviceTask id="Task_intake_request_from_sales_order" name="Take a request from a confirmed third-party order line (PUR-65)" dodil:step="intake_request_from_sales_order" implementation="##unspecified">
   <bpmn:documentation>By: The system. From none to awaiting_approval. When: request_ref so:{sales_order_id}:{line_no}@r{revision} unique (a repeat answers the same); the product can be bought. Effect: a request carrying the ship-to party and address and the sales order line; the order raised from it is a drop-ship order.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_request_none__if__Task_intake_request_from_sales_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_intake_request_from_sales_order__Gateway_approve_request_level__if</bpmn:outgoing>
  </bpmn:serviceTask>
  <bpmn:serviceTask id="Task_intake_request_from_replenishment" name="Take a request from inventory's replenishment (PUR-65)" dodil:step="intake_request_from_replenishment" implementation="##unspecified">
   <bpmn:documentation>By: The system. From none to awaiting_approval. When: request_ref inv:repl:{warehouse_id}:{product_id}:{business_date} unique (a repeat answers the same); the product can be bought. Effect: a request for the warehouse's goods-in location, needed by the date inventory named.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_request_none__if__Task_intake_request_from_replenishment</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_intake_request_from_replenishment__Gateway_approve_request_level__if</bpmn:outgoing>
  </bpmn:serviceTask>
  <bpmn:userTask id="Task_submit_request" name="Submit the request" dodil:step="submit_request">
   <bpmn:documentation>By: whoever needs something. From draft to awaiting_approval. When: a line, an amount, a cost centre and a reason. Effect: routed to the approvers whose limit in force today covers it.</bpmn:documentation>
   <bpmn:incoming>Flow_Task_draft_request__Task_submit_request</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_submit_request__Gateway_approve_request_level__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_approve_request_level" name="Approve one release level" dodil:step="approve_request_level" dodil:approval="true">
   <bpmn:documentation>By: budget holder. From awaiting_approval to awaiting_approval. When: the release strategy in force on the submit date needs more levels than are approved; the approver's limit meets this level; the approver is not the requester and approved no earlier level (email AND sub). Effect: a release row (request, level, who, email and sub, when) (v4, PUR-38). An approval.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_approve_request_level__if__Task_approve_request_level</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_approve_request_level__Gateway_approve_request_level__if_end</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_approve_request" name="Approve the spend" dodil:step="approve_request" dodil:approval="true">
   <bpmn:documentation>By: budget holder. From awaiting_approval to approved. When: the final level: the amount is within this approver's limit in force today; the approver is not the requester nor any earlier level's approver (email AND sub). Effect: who, when (today in the business time zone) and any note recorded. An approval.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_request_awaiting_approval__if__Task_approve_request</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_approve_request__Gateway_request_approved__if</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_refuse_request" name="Refuse with a reason" dodil:step="refuse_request">
   <bpmn:documentation>By: budget holder. From awaiting_approval to refused. Requires: reason.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_request_awaiting_approval__if__Task_refuse_request</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_refuse_request__End_request_refused</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_raise_order" name="Raise the order" dodil:step="raise_order">
   <bpmn:documentation>By: whoever places orders. From approved to ordered. When: a supplier is chosen. Effect: an order exists, keyed req:&lt;request_id&gt;; the approval travels with it.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_request_approved__if__Task_raise_order</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_raise_order__End_request_ordered</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:userTask id="Task_close_request" name="Close without ordering" dodil:step="close_request">
   <bpmn:documentation>By: whoever places orders. From approved to closed. Requires: reason.</bpmn:documentation>
   <bpmn:incoming>Flow_Gateway_request_approved__if__Task_close_request</bpmn:incoming>
   <bpmn:outgoing>Flow_Task_close_request__End_request_closed</bpmn:outgoing>
  </bpmn:userTask>
  <bpmn:exclusiveGateway id="Gateway_request_none__if" name="New request?">
   <bpmn:incoming>Flow_Start_request__Gateway_request_none__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_request_none__if__Task_draft_request</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_request_none__if__Task_intake_request_from_sales_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_request_none__if__Task_intake_request_from_replenishment</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_approve_request_level__if" name="the release strategy in force on the submit date needs more levels than are approved; the approver's limit meets this level; the approver is not the requester and approved no earlier level (email AND sub)?">
   <bpmn:incoming>Flow_Task_intake_request_from_sales_order__Gateway_approve_request_level__if</bpmn:incoming>
   <bpmn:incoming>Flow_Task_intake_request_from_replenishment__Gateway_approve_request_level__if</bpmn:incoming>
   <bpmn:incoming>Flow_Task_submit_request__Gateway_approve_request_level__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_approve_request_level__if__Task_approve_request_level</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_approve_request_level__if__Gateway_approve_request_level__if_end</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_approve_request_level__if_end">
   <bpmn:incoming>Flow_Gateway_approve_request_level__if__Gateway_approve_request_level__if_end</bpmn:incoming>
   <bpmn:incoming>Flow_Task_approve_request_level__Gateway_approve_request_level__if_end</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_approve_request_level__if_end__Gateway_request_awaiting_approval__if</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_request_awaiting_approval__if" name="Request awaiting approval: what next?">
   <bpmn:incoming>Flow_Gateway_approve_request_level__if_end__Gateway_request_awaiting_approval__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_request_awaiting_approval__if__Task_approve_request</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_request_awaiting_approval__if__Task_refuse_request</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:exclusiveGateway id="Gateway_request_approved__if" name="Request approved: what next?">
   <bpmn:incoming>Flow_Task_approve_request__Gateway_request_approved__if</bpmn:incoming>
   <bpmn:outgoing>Flow_Gateway_request_approved__if__Task_raise_order</bpmn:outgoing>
   <bpmn:outgoing>Flow_Gateway_request_approved__if__Task_close_request</bpmn:outgoing>
  </bpmn:exclusiveGateway>
  <bpmn:endEvent id="End_request_refused" name="Request refused">
   <bpmn:incoming>Flow_Task_refuse_request__End_request_refused</bpmn:incoming>
  </bpmn:endEvent>
  <bpmn:endEvent id="End_request_ordered" name="Request ordered">
   <bpmn:incoming>Flow_Task_raise_order__End_request_ordered</bpmn:incoming>
  </bpmn:endEvent>
  <bpmn:endEvent id="End_request_closed" name="Request closed">
   <bpmn:incoming>Flow_Task_close_request__End_request_closed</bpmn:incoming>
  </bpmn:endEvent>
  <bpmn:sequenceFlow id="Flow_Gateway_request_none__if__Task_draft_request" sourceRef="Gateway_request_none__if" targetRef="Task_draft_request" />
  <bpmn:sequenceFlow id="Flow_Gateway_request_none__if__Task_intake_request_from_sales_order" sourceRef="Gateway_request_none__if" targetRef="Task_intake_request_from_sales_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_request_none__if__Task_intake_request_from_replenishment" sourceRef="Gateway_request_none__if" targetRef="Task_intake_request_from_replenishment" />
  <bpmn:sequenceFlow id="Flow_Start_request__Gateway_request_none__if" sourceRef="Start_request" targetRef="Gateway_request_none__if" />
  <bpmn:sequenceFlow id="Flow_Task_draft_request__Task_submit_request" sourceRef="Task_draft_request" targetRef="Task_submit_request" />
  <bpmn:sequenceFlow id="Flow_Gateway_approve_request_level__if__Task_approve_request_level" name="the release strategy in force on the submit date needs more levels than are approved; the approver's limit meets this level; the approver is not the requester and approved no earlier level (email AND sub)" sourceRef="Gateway_approve_request_level__if" targetRef="Task_approve_request_level" />
  <bpmn:sequenceFlow id="Flow_Gateway_approve_request_level__if__Gateway_approve_request_level__if_end" name="otherwise" sourceRef="Gateway_approve_request_level__if" targetRef="Gateway_approve_request_level__if_end" />
  <bpmn:sequenceFlow id="Flow_Task_approve_request_level__Gateway_approve_request_level__if_end" sourceRef="Task_approve_request_level" targetRef="Gateway_approve_request_level__if_end" />
  <bpmn:sequenceFlow id="Flow_Gateway_request_awaiting_approval__if__Task_approve_request" sourceRef="Gateway_request_awaiting_approval__if" targetRef="Task_approve_request" />
  <bpmn:sequenceFlow id="Flow_Gateway_request_awaiting_approval__if__Task_refuse_request" sourceRef="Gateway_request_awaiting_approval__if" targetRef="Task_refuse_request" />
  <bpmn:sequenceFlow id="Flow_Gateway_approve_request_level__if_end__Gateway_request_awaiting_approval__if" sourceRef="Gateway_approve_request_level__if_end" targetRef="Gateway_request_awaiting_approval__if" />
  <bpmn:sequenceFlow id="Flow_Task_intake_request_from_sales_order__Gateway_approve_request_level__if" sourceRef="Task_intake_request_from_sales_order" targetRef="Gateway_approve_request_level__if" />
  <bpmn:sequenceFlow id="Flow_Task_intake_request_from_replenishment__Gateway_approve_request_level__if" sourceRef="Task_intake_request_from_replenishment" targetRef="Gateway_approve_request_level__if" />
  <bpmn:sequenceFlow id="Flow_Task_submit_request__Gateway_approve_request_level__if" sourceRef="Task_submit_request" targetRef="Gateway_approve_request_level__if" />
  <bpmn:sequenceFlow id="Flow_Gateway_request_approved__if__Task_raise_order" sourceRef="Gateway_request_approved__if" targetRef="Task_raise_order" />
  <bpmn:sequenceFlow id="Flow_Gateway_request_approved__if__Task_close_request" sourceRef="Gateway_request_approved__if" targetRef="Task_close_request" />
  <bpmn:sequenceFlow id="Flow_Task_approve_request__Gateway_request_approved__if" sourceRef="Task_approve_request" targetRef="Gateway_request_approved__if" />
  <bpmn:sequenceFlow id="Flow_Task_refuse_request__End_request_refused" sourceRef="Task_refuse_request" targetRef="End_request_refused" />
  <bpmn:sequenceFlow id="Flow_Task_raise_order__End_request_ordered" sourceRef="Task_raise_order" targetRef="End_request_ordered" />
  <bpmn:sequenceFlow id="Flow_Task_close_request__End_request_closed" sourceRef="Task_close_request" targetRef="End_request_closed" />
 </bpmn:process>
 <bpmndi:BPMNDiagram id="BPMNDiagram_purchasing_v4">
  <bpmndi:BPMNPlane id="BPMNPlane_purchasing_v4" bpmnElement="Collaboration_purchasing_v4">
   <bpmndi:BPMNShape id="Participant_purchasing_request_di" bpmnElement="Participant_purchasing_request" isHorizontal="true">
    <dc:Bounds x="0" y="0" width="1810" height="920" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_request_requester_di" bpmnElement="Lane_request_requester" isHorizontal="true">
    <dc:Bounds x="30" y="0" width="1780" height="140" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_request_system_di" bpmnElement="Lane_request_system" isHorizontal="true">
    <dc:Bounds x="30" y="140" width="1780" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_request_spend_approver_di" bpmnElement="Lane_request_spend_approver" isHorizontal="true">
    <dc:Bounds x="30" y="400" width="1780" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Lane_request_buyer_di" bpmnElement="Lane_request_buyer" isHorizontal="true">
    <dc:Bounds x="30" y="660" width="1780" height="260" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Start_request_di" bpmnElement="Start_request">
    <dc:Bounds x="157" y="42" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_draft_request_di" bpmnElement="Task_draft_request">
    <dc:Bounds x="465" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_intake_request_from_sales_order_di" bpmnElement="Task_intake_request_from_sales_order">
    <dc:Bounds x="465" y="160" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_intake_request_from_replenishment_di" bpmnElement="Task_intake_request_from_replenishment">
    <dc:Bounds x="465" y="280" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_submit_request_di" bpmnElement="Task_submit_request">
    <dc:Bounds x="635" y="20" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_approve_request_level_di" bpmnElement="Task_approve_request_level">
    <dc:Bounds x="805" y="420" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_approve_request_di" bpmnElement="Task_approve_request">
    <dc:Bounds x="1145" y="420" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_refuse_request_di" bpmnElement="Task_refuse_request">
    <dc:Bounds x="1145" y="540" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_raise_order_di" bpmnElement="Task_raise_order">
    <dc:Bounds x="1485" y="680" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Task_close_request_di" bpmnElement="Task_close_request">
    <dc:Bounds x="1485" y="800" width="100" height="80" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_request_none__if_di" bpmnElement="Gateway_request_none__if">
    <dc:Bounds x="320" y="35" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_approve_request_level__if_di" bpmnElement="Gateway_approve_request_level__if">
    <dc:Bounds x="660" y="435" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_approve_request_level__if_end_di" bpmnElement="Gateway_approve_request_level__if_end">
    <dc:Bounds x="830" y="555" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_request_awaiting_approval__if_di" bpmnElement="Gateway_request_awaiting_approval__if">
    <dc:Bounds x="1000" y="435" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="Gateway_request_approved__if_di" bpmnElement="Gateway_request_approved__if">
    <dc:Bounds x="1340" y="695" width="50" height="50" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="End_request_refused_di" bpmnElement="End_request_refused">
    <dc:Bounds x="1347" y="442" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="End_request_ordered_di" bpmnElement="End_request_ordered">
    <dc:Bounds x="1687" y="702" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNShape id="End_request_closed_di" bpmnElement="End_request_closed">
    <dc:Bounds x="1687" y="822" width="36" height="36" />
   </bpmndi:BPMNShape>
   <bpmndi:BPMNEdge id="Flow_Gateway_request_none__if__Task_draft_request_di" bpmnElement="Flow_Gateway_request_none__if__Task_draft_request">
    <di:waypoint x="370" y="60" />
    <di:waypoint x="465" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_request_none__if__Task_intake_request_from_sales_order_di" bpmnElement="Flow_Gateway_request_none__if__Task_intake_request_from_sales_order">
    <di:waypoint x="370" y="60" />
    <di:waypoint x="440" y="60" />
    <di:waypoint x="440" y="200" />
    <di:waypoint x="465" y="200" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_request_none__if__Task_intake_request_from_replenishment_di" bpmnElement="Flow_Gateway_request_none__if__Task_intake_request_from_replenishment">
    <di:waypoint x="370" y="60" />
    <di:waypoint x="440" y="60" />
    <di:waypoint x="440" y="320" />
    <di:waypoint x="465" y="320" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Start_request__Gateway_request_none__if_di" bpmnElement="Flow_Start_request__Gateway_request_none__if">
    <di:waypoint x="193" y="60" />
    <di:waypoint x="320" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_draft_request__Task_submit_request_di" bpmnElement="Flow_Task_draft_request__Task_submit_request">
    <di:waypoint x="565" y="60" />
    <di:waypoint x="635" y="60" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_approve_request_level__if__Task_approve_request_level_di" bpmnElement="Flow_Gateway_approve_request_level__if__Task_approve_request_level">
    <di:waypoint x="710" y="460" />
    <di:waypoint x="805" y="460" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_approve_request_level__if__Gateway_approve_request_level__if_end_di" bpmnElement="Flow_Gateway_approve_request_level__if__Gateway_approve_request_level__if_end">
    <di:waypoint x="710" y="460" />
    <di:waypoint x="805" y="460" />
    <di:waypoint x="805" y="580" />
    <di:waypoint x="830" y="580" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_approve_request_level__Gateway_approve_request_level__if_end_di" bpmnElement="Flow_Task_approve_request_level__Gateway_approve_request_level__if_end">
    <di:waypoint x="855" y="500" />
    <di:waypoint x="855" y="620" />
    <di:waypoint x="855" y="620" />
    <di:waypoint x="855" y="605" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_request_awaiting_approval__if__Task_approve_request_di" bpmnElement="Flow_Gateway_request_awaiting_approval__if__Task_approve_request">
    <di:waypoint x="1050" y="460" />
    <di:waypoint x="1145" y="460" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_request_awaiting_approval__if__Task_refuse_request_di" bpmnElement="Flow_Gateway_request_awaiting_approval__if__Task_refuse_request">
    <di:waypoint x="1050" y="460" />
    <di:waypoint x="1120" y="460" />
    <di:waypoint x="1120" y="580" />
    <di:waypoint x="1145" y="580" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_approve_request_level__if_end__Gateway_request_awaiting_approval__if_di" bpmnElement="Flow_Gateway_approve_request_level__if_end__Gateway_request_awaiting_approval__if">
    <di:waypoint x="880" y="580" />
    <di:waypoint x="975" y="580" />
    <di:waypoint x="975" y="460" />
    <di:waypoint x="1000" y="460" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_intake_request_from_sales_order__Gateway_approve_request_level__if_di" bpmnElement="Flow_Task_intake_request_from_sales_order__Gateway_approve_request_level__if">
    <di:waypoint x="565" y="200" />
    <di:waypoint x="635" y="200" />
    <di:waypoint x="635" y="460" />
    <di:waypoint x="660" y="460" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_intake_request_from_replenishment__Gateway_approve_request_level__if_di" bpmnElement="Flow_Task_intake_request_from_replenishment__Gateway_approve_request_level__if">
    <di:waypoint x="565" y="320" />
    <di:waypoint x="635" y="320" />
    <di:waypoint x="635" y="460" />
    <di:waypoint x="660" y="460" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_submit_request__Gateway_approve_request_level__if_di" bpmnElement="Flow_Task_submit_request__Gateway_approve_request_level__if">
    <di:waypoint x="685" y="100" />
    <di:waypoint x="685" y="506" />
    <di:waypoint x="685" y="506" />
    <di:waypoint x="685" y="485" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_request_approved__if__Task_raise_order_di" bpmnElement="Flow_Gateway_request_approved__if__Task_raise_order">
    <di:waypoint x="1390" y="720" />
    <di:waypoint x="1485" y="720" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Gateway_request_approved__if__Task_close_request_di" bpmnElement="Flow_Gateway_request_approved__if__Task_close_request">
    <di:waypoint x="1390" y="720" />
    <di:waypoint x="1460" y="720" />
    <di:waypoint x="1460" y="840" />
    <di:waypoint x="1485" y="840" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_approve_request__Gateway_request_approved__if_di" bpmnElement="Flow_Task_approve_request__Gateway_request_approved__if">
    <di:waypoint x="1245" y="460" />
    <di:waypoint x="1315" y="460" />
    <di:waypoint x="1315" y="720" />
    <di:waypoint x="1340" y="720" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_refuse_request__End_request_refused_di" bpmnElement="Flow_Task_refuse_request__End_request_refused">
    <di:waypoint x="1245" y="580" />
    <di:waypoint x="1322" y="580" />
    <di:waypoint x="1322" y="460" />
    <di:waypoint x="1347" y="460" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_raise_order__End_request_ordered_di" bpmnElement="Flow_Task_raise_order__End_request_ordered">
    <di:waypoint x="1585" y="720" />
    <di:waypoint x="1687" y="720" />
   </bpmndi:BPMNEdge>
   <bpmndi:BPMNEdge id="Flow_Task_close_request__End_request_closed_di" bpmnElement="Flow_Task_close_request__End_request_closed">
    <di:waypoint x="1585" y="840" />
    <di:waypoint x="1687" y="840" />
   </bpmndi:BPMNEdge>
  </bpmndi:BPMNPlane>
 </bpmndi:BPMNDiagram>
</bpmn:definitions>