1663 lines
87 KiB
XML

<?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:spiffworkflow="http://spiffworkflow.org/bpmn/schema/1.0/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" camunda:diagramRelationId="f01e22f1-a50b-42ba-afad-22f56fc3e635">
<bpmn:collaboration id="Collaboration_130jph2">
<bpmn:participant id="Participant_1fsb6gv" name="Core Contributor" processRef="Process_cc_invoice_approval_process_v2_b" />
<bpmn:participant id="Participant_11ab2hx" name="Process management platform" processRef="Process_cc_invoice_approval_process_v2_a" />
<bpmn:participant id="Participant_0a8arrz" name="AWS DynamoDB" />
<bpmn:participant id="Participant_1qabwrg" name="AWS S3" />
<bpmn:participant id="Participant_0b27sri" name="Xero" />
<bpmn:messageFlow id="Flow_0ppupld" sourceRef="Activity_175j3o7" targetRef="Participant_0a8arrz" />
<bpmn:messageFlow id="Flow_0yfnc92" sourceRef="Activity_0p88elm" targetRef="Participant_1qabwrg" />
<bpmn:messageFlow id="Flow_0jciftq" sourceRef="Activity_0gkpa9s" targetRef="Participant_1fsb6gv" />
<bpmn:messageFlow id="Flow_0p0bc5u" sourceRef="Activity_0fq1nb4" targetRef="Participant_0b27sri" />
<bpmn:messageFlow id="Flow_0n9qxyw" sourceRef="Submit_the_invoice" targetRef="Participant_1fsb6gv" />
<bpmn:messageFlow id="Flow_1getkzr" sourceRef="Activity_0rae8g6" targetRef="Participant_1fsb6gv" />
<bpmn:messageFlow id="Flow_1dgkwzr" sourceRef="Waku_Message_Pending_Payment" targetRef="Participant_1fsb6gv" />
<bpmn:textAnnotation id="TextAnnotation_1uaw1w7">
<bpmn:text>Environment - Vendor portal, Mailbox, etc.</bpmn:text>
</bpmn:textAnnotation>
<bpmn:association id="Association_1eygti7" sourceRef="Participant_1fsb6gv" targetRef="TextAnnotation_1uaw1w7" />
<bpmn:correlationKey name="CorrelationKey_Submit_Invoice">
<bpmn:correlationPropertyRef>CorrelationProperty_Submit_Invoice</bpmn:correlationPropertyRef>
</bpmn:correlationKey>
</bpmn:collaboration>
<bpmn:process id="Process_cc_invoice_approval_process_v2_b" isExecutable="true" />
<bpmn:process id="Process_cc_invoice_approval_process_v2_a" isExecutable="true">
<bpmn:laneSet id="LaneSet_0txkzqg">
<bpmn:lane id="Lane_1a0qu8e" name="Process Initiator">
<bpmn:flowNodeRef>Submit_the_invoice</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_validation_successful_question_mark</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Event_1usbnt0</bpmn:flowNodeRef>
<bpmn:flowNodeRef>SubProcess_Data_validation_rules</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_show_errors</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Event_invoice_validation_failed</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_1u89kok</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Event_1r3yh2k</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_05ov5p5</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_0p88elm</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_104xpp8</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_109lq0m</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_10p5t0r</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_1717c0p</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_0gkpa9s</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_1lbghql</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Event_0x83ruk</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Event_0m3ri6v</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_1l4tz4i</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_0gkejaj</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_1ucvkk4</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_0faln91</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_0fq1nb4</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_1b6tead</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Event_15y55nw</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Waku_Message_Pending_Payment</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_0rae8g6</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_1kgaqpf</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_175j3o7</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_0wk5se9</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_1colhao</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Event_1b58a3z</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_1so23vf" name="Finance Team">
<bpmn:flowNodeRef>Activity_0cdgqi0</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_1ytq6m7</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_11stdua</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_1b7abal" name="Project Lead">
<bpmn:flowNodeRef>Activity_06b32ar</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Activity_1t8wi0r</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Event_09q0ym0</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_06i3we9</bpmn:flowNodeRef>
</bpmn:lane>
</bpmn:laneSet>
<bpmn:sequenceFlow id="Flow_1x4rtop" name="Yes" sourceRef="Gateway_validation_successful_question_mark" targetRef="Activity_109lq0m" />
<bpmn:sequenceFlow id="Flow_05ffq52" name="No" sourceRef="Gateway_validation_successful_question_mark" targetRef="Event_invoice_validation_failed">
<bpmn:conditionExpression>not(svc_is_invoice_submit_pass)</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="Flow_1c5u447" sourceRef="Activity_0gkejaj" targetRef="Gateway_1lbghql" />
<bpmn:sequenceFlow id="Flow_1gohkts" name="Yes" sourceRef="Gateway_1lbghql" targetRef="Event_0m3ri6v" />
<bpmn:sequenceFlow id="Flow_18xvx8w" name="yes" sourceRef="Gateway_1l4tz4i" targetRef="Activity_1kgaqpf" />
<bpmn:sequenceFlow id="Flow_1ex5hfx" sourceRef="Event_15y55nw" targetRef="Activity_0gkejaj" />
<bpmn:sequenceFlow id="Flow_16bw9hx" name="No" sourceRef="Gateway_1lbghql" targetRef="Event_0x83ruk">
<bpmn:conditionExpression>not(isMatch)</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="Flow_0bfs2xe" name="No" sourceRef="Gateway_1l4tz4i" targetRef="Activity_0rae8g6">
<bpmn:conditionExpression>not(isInvoiceApproved)</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="Flow_0c0c9mw" sourceRef="Activity_0rae8g6" targetRef="Event_1b58a3z" />
<bpmn:sequenceFlow id="Flow_13ng1f4" sourceRef="Event_invoice_validation_failed" targetRef="Activity_show_errors" />
<bpmn:sequenceFlow id="Flow_18cic3h" sourceRef="Activity_show_errors" targetRef="Gateway_0wk5se9" />
<bpmn:sequenceFlow id="Flow_02moyg7" sourceRef="Submit_the_invoice" targetRef="SubProcess_Data_validation_rules" />
<bpmn:sequenceFlow id="Flow_1ck27i7" sourceRef="SubProcess_Data_validation_rules" targetRef="Gateway_validation_successful_question_mark" />
<bpmn:sequenceFlow id="Flow_1v8dszb" sourceRef="Event_09q0ym0" targetRef="Activity_1t8wi0r" />
<bpmn:sequenceFlow id="Flow_0yvmfqu" sourceRef="Activity_06b32ar" targetRef="Gateway_06i3we9" />
<bpmn:sequenceFlow id="Flow_12cqm3u" sourceRef="Gateway_05ov5p5" targetRef="Activity_104xpp8" />
<bpmn:sequenceFlow id="Flow_0hev3yn" sourceRef="Gateway_05ov5p5" targetRef="Activity_175j3o7" />
<bpmn:sequenceFlow id="Flow_02o270g" sourceRef="Activity_175j3o7" targetRef="Gateway_1717c0p" />
<bpmn:sequenceFlow id="Flow_0o94g4u" sourceRef="Activity_0p88elm" targetRef="Gateway_1717c0p" />
<bpmn:sequenceFlow id="Flow_1vxagrf" sourceRef="Event_1r3yh2k" targetRef="Activity_1u89kok" />
<bpmn:userTask id="Submit_the_invoice" name="2. Submit the invoice" scriptFormat="python" script="SdgsdGsdhgwsDEHhww">
<bpmn:extensionElements>
<spiffworkflow:properties>
<spiffworkflow:property name="formJsonSchemaFilename" value="Submit-the-invoice_JSONSchema.json" />
<spiffworkflow:property name="formUiSchemaFilename" value="Submit-the-invoice_UISchema.json" />
</spiffworkflow:properties>
<spiffworkflow:postScript />
<spiffworkflow:preScript />
</bpmn:extensionElements>
<bpmn:incoming>Flow_17vkjgc</bpmn:incoming>
<bpmn:outgoing>Flow_02moyg7</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="Gateway_validation_successful_question_mark" name="Successful?" default="Flow_1x4rtop">
<bpmn:incoming>Flow_1ck27i7</bpmn:incoming>
<bpmn:outgoing>Flow_1x4rtop</bpmn:outgoing>
<bpmn:outgoing>Flow_05ffq52</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:subProcess id="SubProcess_Data_validation_rules" name="2b. Data validation rules">
<bpmn:incoming>Flow_02moyg7</bpmn:incoming>
<bpmn:outgoing>Flow_1ck27i7</bpmn:outgoing>
<bpmn:dataOutputAssociation id="DataOutputAssociation_1topzui">
<bpmn:targetRef>DataObjectReference_0bymrvr</bpmn:targetRef>
</bpmn:dataOutputAssociation>
<bpmn:startEvent id="Event_1qkuk5g">
<bpmn:outgoing>Flow_1avkxpe</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:scriptTask id="Activity_Check_Due_Date" name="Check Due Date" scriptFormat="python">
<bpmn:incoming>Flow_18i6dlo</bpmn:incoming>
<bpmn:outgoing>Flow_1d7sgm2</bpmn:outgoing>
<bpmn:script>invoice_date_obj = datetime.strptime(invoice.dueDate, '%Y-%m-%d')
local_date_time_obj = datetime.strptime(local_date_str, '%Y-%m-%d')
if invoice_date_obj &gt; local_date_time_obj:
svc_is_due_date_after = True
else:
svc_is_due_date_after = False
# Add date of invoice
invoice["invoiceDate"] = local_date_str
ld = str(local_date_time_obj)
ido = str(invoice_date_obj)
del local_date_time_obj
del invoice_date_obj
del datetime</bpmn:script>
</bpmn:scriptTask>
<bpmn:endEvent id="Event_015l7j8">
<bpmn:incoming>Flow_0tzjowk</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_1avkxpe" sourceRef="Event_1qkuk5g" targetRef="Activity_check_contributor_name" />
<bpmn:scriptTask id="Activity_check_contributor_name" name="Check Contributor Name" scriptFormat="python">
<bpmn:extensionElements>
<spiffworkflow:unitTests>
<spiffworkflow:unitTest id="ScriptUnitTest_1kke2c8">
<spiffworkflow:inputJson>{"invoice.contributorName": "Harmeet"}</spiffworkflow:inputJson>
<spiffworkflow:expectedOutputJson>{
"isNameNum": false,
"invoice.contributorName": "Harmeet"
}</spiffworkflow:expectedOutputJson>
</spiffworkflow:unitTest>
</spiffworkflow:unitTests>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1avkxpe</bpmn:incoming>
<bpmn:outgoing>Flow_0mvmd06</bpmn:outgoing>
<bpmn:script>svc_is_num_in_name = False
for c in invoice.contributorName:
if c.isdigit():
svc_is_num_in_name = True
break
del c</bpmn:script>
</bpmn:scriptTask>
<bpmn:scriptTask id="Activity_check_invoice_amount" name="Check Invoice Amount" scriptFormat="python">
<bpmn:incoming>Flow_0mvmd06</bpmn:incoming>
<bpmn:outgoing>Flow_0wp2mcf</bpmn:outgoing>
<bpmn:script># Check if there are more than two decimal places
invoiceAmount_str = str(invoice.invoiceAmount)
d = decimal.Decimal(invoiceAmount_str)
d_cnt = d.as_tuple().exponent
# Get number of decimal places
svc_decimal_cnt = abs(d_cnt)
#Delete unneeded variables
del d
del d_cnt
del decimal</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="Flow_0tzjowk" sourceRef="Activity_check_validation_rules" targetRef="Event_015l7j8" />
<bpmn:businessRuleTask id="Activity_check_validation_rules" name="Check Validation Rules">
<bpmn:extensionElements>
<spiffworkflow:calledDecisionId>Submit_Involce_Validation</spiffworkflow:calledDecisionId>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1d7sgm2</bpmn:incoming>
<bpmn:outgoing>Flow_0tzjowk</bpmn:outgoing>
</bpmn:businessRuleTask>
<bpmn:callActivity id="Activity_call_local_date_and_time" name="Call Local Date &#38; Time" calledElement="Shared_Local_Date_Time">
<bpmn:incoming>Flow_0wp2mcf</bpmn:incoming>
<bpmn:outgoing>Flow_18i6dlo</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:sequenceFlow id="Flow_18i6dlo" sourceRef="Activity_call_local_date_and_time" targetRef="Activity_Check_Due_Date" />
<bpmn:sequenceFlow id="Flow_1d7sgm2" sourceRef="Activity_Check_Due_Date" targetRef="Activity_check_validation_rules" />
<bpmn:sequenceFlow id="Flow_0mvmd06" sourceRef="Activity_check_contributor_name" targetRef="Activity_check_invoice_amount" />
<bpmn:sequenceFlow id="Flow_0wp2mcf" sourceRef="Activity_check_invoice_amount" targetRef="Activity_call_local_date_and_time" />
</bpmn:subProcess>
<bpmn:manualTask id="Activity_show_errors" name="Show Error(s)">
<bpmn:extensionElements>
<spiffworkflow:instructionsForEndUser>{{ submitInvoiceValidationMessage }}
**Please fix when resubmitting.** </spiffworkflow:instructionsForEndUser>
</bpmn:extensionElements>
<bpmn:incoming>Flow_13ng1f4</bpmn:incoming>
<bpmn:outgoing>Flow_18cic3h</bpmn:outgoing>
</bpmn:manualTask>
<bpmn:intermediateThrowEvent id="Event_invoice_validation_failed" name="Invoice validation failed">
<bpmn:documentation>Process milestone should update the process metadata field “milestone reached”</bpmn:documentation>
<bpmn:incoming>Flow_05ffq52</bpmn:incoming>
<bpmn:outgoing>Flow_13ng1f4</bpmn:outgoing>
</bpmn:intermediateThrowEvent>
<bpmn:sequenceFlow id="Flow_0bipj9q" sourceRef="Activity_1u89kok" targetRef="Activity_1colhao" />
<bpmn:sequenceFlow id="Flow_04ccp12" sourceRef="Event_0m3ri6v" targetRef="Activity_1kgaqpf" />
<bpmn:sequenceFlow id="Flow_0kngdw4" sourceRef="Event_0x83ruk" targetRef="Activity_1ucvkk4" />
<bpmn:sequenceFlow id="Flow_0lfqk0y" sourceRef="Activity_1ucvkk4" targetRef="Activity_06b32ar" />
<bpmn:sequenceFlow id="Flow_1ds4s8o" sourceRef="Activity_1kgaqpf" targetRef="Activity_0cdgqi0" />
<bpmn:sequenceFlow id="Flow_09wwily" sourceRef="Activity_0cdgqi0" targetRef="Activity_11stdua" />
<bpmn:sequenceFlow id="Flow_00kky3k" name="No" sourceRef="Gateway_1ytq6m7" targetRef="Gateway_1l4tz4i">
<bpmn:conditionExpression>not(isInvoiceApproved)</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="Flow_0h96w9j" name="Yes" sourceRef="Gateway_1ytq6m7" targetRef="Activity_0fq1nb4" />
<bpmn:sequenceFlow id="Flow_053ca95" sourceRef="Activity_0fq1nb4" targetRef="Activity_1b6tead" />
<bpmn:sequenceFlow id="Flow_0p6vvu0" sourceRef="Activity_104xpp8" targetRef="Activity_0p88elm" />
<bpmn:sequenceFlow id="Flow_00p30u2" sourceRef="Activity_1colhao" targetRef="Gateway_0wk5se9" />
<bpmn:callActivity id="Activity_1u89kok" name="Call Shared: Start Process" calledElement="Shared_Start_Process">
<bpmn:extensionElements>
<spiffworkflow:preScript>find_user = current_user["username"]
isCurrentUser = True</spiffworkflow:preScript>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1vxagrf</bpmn:incoming>
<bpmn:outgoing>Flow_0bipj9q</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:startEvent id="Event_1r3yh2k">
<bpmn:outgoing>Flow_1vxagrf</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:parallelGateway id="Gateway_05ov5p5">
<bpmn:incoming>Flow_0u5z1vc</bpmn:incoming>
<bpmn:outgoing>Flow_12cqm3u</bpmn:outgoing>
<bpmn:outgoing>Flow_0hev3yn</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:serviceTask id="Activity_0p88elm" name="2d. Upload Invoice PDF document" scriptFormat="python" script="invoice_name = invoice.contributorName + &#34;_&#34; + invoice.invoiceId">
<bpmn:extensionElements>
<spiffworkflow:preScript />
<spiffworkflow:postScript />
<spiffworkflow:serviceTaskOperator id="aws/UploadFileData">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="bucket" type="str" value="&#39;sartography-status-pdfs&#39;" />
<spiffworkflow:parameter id="file_data" type="str" value="filesAccept" />
<spiffworkflow:parameter id="object_name" type="str" value="invoice_file_name" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0p6vvu0</bpmn:incoming>
<bpmn:outgoing>Flow_0o94g4u</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:scriptTask id="Activity_104xpp8" name="Set Invoice PDF Name" scriptFormat="python">
<bpmn:incoming>Flow_12cqm3u</bpmn:incoming>
<bpmn:outgoing>Flow_0p6vvu0</bpmn:outgoing>
<bpmn:script>invoice_file_name = invoice.contributorName + "_" + str(invoice.invoiceId) + ".pdf"</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="Flow_0u5z1vc" sourceRef="Activity_109lq0m" targetRef="Gateway_05ov5p5" />
<bpmn:scriptTask id="Activity_109lq0m" name="Set Invoice Status to Awaiting Approval" scriptFormat="python">
<bpmn:incoming>Flow_1x4rtop</bpmn:incoming>
<bpmn:outgoing>Flow_0u5z1vc</bpmn:outgoing>
<bpmn:script># Set Invoice Status
invoice["invoiceStatus"] = "Awaiting approval"</bpmn:script>
</bpmn:scriptTask>
<bpmn:callActivity id="Activity_10p5t0r" name="Call Shared: Currency Format" calledElement="Shared_Currency_Format">
<bpmn:extensionElements>
<spiffworkflow:preScript>curCode = invoice.invoiceCurrency
curAmount = invoice.invoiceAmount
isCurTest = False
del(filesAccept)</spiffworkflow:preScript>
<spiffworkflow:postScript>invoice.invoiceAmount_str = curAmount_str</spiffworkflow:postScript>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0a9w301</bpmn:incoming>
<bpmn:outgoing>Flow_0h1x7y6</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:sequenceFlow id="Flow_0a9w301" sourceRef="Gateway_1717c0p" targetRef="Activity_10p5t0r" />
<bpmn:sequenceFlow id="Flow_0h1x7y6" sourceRef="Activity_10p5t0r" targetRef="Activity_0gkpa9s" />
<bpmn:parallelGateway id="Gateway_1717c0p">
<bpmn:incoming>Flow_02o270g</bpmn:incoming>
<bpmn:incoming>Flow_0o94g4u</bpmn:incoming>
<bpmn:outgoing>Flow_0a9w301</bpmn:outgoing>
</bpmn:parallelGateway>
<bpmn:sequenceFlow id="Flow_15pzvrr" sourceRef="Activity_0faln91" targetRef="Gateway_1l4tz4i" />
<bpmn:sequenceFlow id="Flow_00tndkb" sourceRef="Activity_1b6tead" targetRef="Waku_Message_Pending_Payment" />
<bpmn:sequenceFlow id="Flow_02v6lr2" sourceRef="Activity_11stdua" targetRef="Gateway_1ytq6m7" />
<bpmn:sequenceFlow id="Flow_04fl87d" sourceRef="Activity_0gkpa9s" targetRef="Event_15y55nw" />
<bpmn:subProcess id="Activity_0gkpa9s" name="Waku Message: Notify CC Invoice Submitted">
<bpmn:extensionElements>
<spiffworkflow:preScript />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0h1x7y6</bpmn:incoming>
<bpmn:outgoing>Flow_04fl87d</bpmn:outgoing>
<bpmn:dataOutputAssociation id="DataOutputAssociation_04ohdyt">
<bpmn:targetRef>DataObjectReference_1ykzuco</bpmn:targetRef>
</bpmn:dataOutputAssociation>
<bpmn:startEvent id="Event_0a4hscg">
<bpmn:outgoing>Flow_1yktpsd</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:endEvent id="Event_0xohu5m">
<bpmn:incoming>Flow_17xbb2s</bpmn:incoming>
</bpmn:endEvent>
<bpmn:serviceTask id="Activity_1fsffcq" name="Waku Message: Notify CC Invoice Submitted">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="waku/SendMessage" resultVariable="wr_InvoiceSubmitted">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="message" type="str" value="waku_message" />
<spiffworkflow:parameter id="message_type" type="str" value="&#34;wakuext_sendOneToOneMessage&#34;" />
<spiffworkflow:parameter id="recipient" type="str" value="current_user_extras[&#34;status_key&#34;]" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
<spiffworkflow:preScript />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0j4xxzp</bpmn:incoming>
<bpmn:outgoing>Flow_17xbb2s</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_17xbb2s" sourceRef="Activity_1fsffcq" targetRef="Event_0xohu5m" />
<bpmn:callActivity id="Call_Waku_Messages_Message" name="Call Waku Messages: Message" calledElement="Waku_Messages_Message">
<bpmn:extensionElements>
<spiffworkflow:preScript># Set Task List
task_id = "waku_invoice_submitted"
# Set Message should be generated
isSetMessage = True
# Set Time Zone
time_zone = current_user_extras["time_zone"]
# Set Time Format
time_format = current_user_extras["time_format"]
# Set Date Format
time_format = current_user_extras["date_format"]</spiffworkflow:preScript>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1yktpsd</bpmn:incoming>
<bpmn:outgoing>Flow_0j4xxzp</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:sequenceFlow id="Flow_0j4xxzp" sourceRef="Call_Waku_Messages_Message" targetRef="Activity_1fsffcq" />
<bpmn:sequenceFlow id="Flow_1yktpsd" sourceRef="Event_0a4hscg" targetRef="Call_Waku_Messages_Message" />
</bpmn:subProcess>
<bpmn:exclusiveGateway id="Gateway_1lbghql" name="Match?" default="Flow_1gohkts">
<bpmn:incoming>Flow_1c5u447</bpmn:incoming>
<bpmn:outgoing>Flow_1gohkts</bpmn:outgoing>
<bpmn:outgoing>Flow_16bw9hx</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:intermediateThrowEvent id="Event_0x83ruk" name="Invoice Approval is required">
<bpmn:incoming>Flow_16bw9hx</bpmn:incoming>
<bpmn:outgoing>Flow_0kngdw4</bpmn:outgoing>
</bpmn:intermediateThrowEvent>
<bpmn:intermediateThrowEvent id="Event_0m3ri6v" name="Invoice is verified and approved">
<bpmn:incoming>Flow_1gohkts</bpmn:incoming>
<bpmn:outgoing>Flow_04ccp12</bpmn:outgoing>
</bpmn:intermediateThrowEvent>
<bpmn:exclusiveGateway id="Gateway_1l4tz4i" name="Approved?" default="Flow_18xvx8w">
<bpmn:incoming>Flow_00kky3k</bpmn:incoming>
<bpmn:incoming>Flow_15pzvrr</bpmn:incoming>
<bpmn:outgoing>Flow_18xvx8w</bpmn:outgoing>
<bpmn:outgoing>Flow_0bfs2xe</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:userTask id="Activity_06b32ar" name="Approve Invoice - Project Lead">
<bpmn:extensionElements>
<spiffworkflow:properties>
<spiffworkflow:property name="formJsonSchemaFilename" value="invoice-approval_JSONSchema.json" />
<spiffworkflow:property name="formUiSchemaFilename" value="invoice-approval_UISchema.json" />
</spiffworkflow:properties>
<spiffworkflow:postScript />
<spiffworkflow:preScript># Set Timer Check
isApprovalTimer = False</spiffworkflow:preScript>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0lfqk0y</bpmn:incoming>
<bpmn:outgoing>Flow_0yvmfqu</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Activity_0cdgqi0" name="Approve Invoice - Finance">
<bpmn:extensionElements>
<spiffworkflow:properties>
<spiffworkflow:property name="formJsonSchemaFilename" value="invoice-approval_JSONSchema.json" />
<spiffworkflow:property name="formUiSchemaFilename" value="invoice-approval_UISchema.json" />
</spiffworkflow:properties>
<spiffworkflow:postScript />
</bpmn:extensionElements>
<bpmn:incoming>Flow_1ds4s8o</bpmn:incoming>
<bpmn:outgoing>Flow_09wwily</bpmn:outgoing>
</bpmn:userTask>
<bpmn:subProcess id="Activity_0gkejaj" name="4. Compare Invoice data vs Enterprise systems data">
<bpmn:incoming>Flow_1ex5hfx</bpmn:incoming>
<bpmn:outgoing>Flow_1c5u447</bpmn:outgoing>
<bpmn:startEvent id="Event_0w5o6hr">
<bpmn:outgoing>Flow_1sc1v4y</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:businessRuleTask id="Activity_1yhwhps" name="Compare the BambooHR.compensation/12 amount with invoice amount">
<bpmn:extensionElements>
<spiffworkflow:calledDecisionId>Invoice_Approval_Check</spiffworkflow:calledDecisionId>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1m8uxeg</bpmn:incoming>
<bpmn:outgoing>Flow_04do8x7</bpmn:outgoing>
</bpmn:businessRuleTask>
<bpmn:scriptTask id="Activity_02go8ec" name="Get Annual Salary" scriptFormat="python">
<bpmn:incoming>Flow_02g4qn2</bpmn:incoming>
<bpmn:outgoing>Flow_0nxzc38</bpmn:outgoing>
<bpmn:script>annual_salary_str = resp_BambooPayRate["amount"]
annual_salary = float(annual_salary_str)
# annual_salary = 24000</bpmn:script>
</bpmn:scriptTask>
<bpmn:scriptTask id="Activity_0b87ocm" name="Get Invoice Amount" scriptFormat="python">
<bpmn:incoming>Flow_0xtzqkg</bpmn:incoming>
<bpmn:outgoing>Flow_1m8uxeg</bpmn:outgoing>
<bpmn:script>invoice_amount = invoice.invoiceAmount</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="Flow_1sc1v4y" sourceRef="Event_0w5o6hr" targetRef="Activity_0mcykih" />
<bpmn:sequenceFlow id="Flow_1m8uxeg" sourceRef="Activity_0b87ocm" targetRef="Activity_1yhwhps" />
<bpmn:endEvent id="Event_0cmri19">
<bpmn:incoming>Flow_04do8x7</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_04do8x7" sourceRef="Activity_1yhwhps" targetRef="Event_0cmri19" />
<bpmn:serviceTask id="Activity_1k25w3x" name="Query Invoice Details">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="aws/QueryDynamoTable" resultVariable="resp_QuertInvoiceDetails">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="partition_key" type="str" value="invoice.contributorId" />
<spiffworkflow:parameter id="sort_key" type="str" value="invoice.invoiceId" />
<spiffworkflow:parameter id="table_name" type="str" value="&#39;Invoice&#39;" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0nxzc38</bpmn:incoming>
<bpmn:outgoing>Flow_0xtzqkg</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_0nxzc38" sourceRef="Activity_02go8ec" targetRef="Activity_1k25w3x" />
<bpmn:sequenceFlow id="Flow_0xtzqkg" sourceRef="Activity_1k25w3x" targetRef="Activity_0b87ocm" />
<bpmn:sequenceFlow id="Flow_02g4qn2" sourceRef="Activity_0mcykih" targetRef="Activity_02go8ec" />
<bpmn:serviceTask id="Activity_0mcykih" name="Get Annual Salary from Bamboo">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="bamboohr/GetPayRate" resultVariable="resp_BambooPayRate">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="employee_id" type="str" value="current_user_extras[&#34;bamboo_id&#34;]" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1sc1v4y</bpmn:incoming>
<bpmn:outgoing>Flow_02g4qn2</bpmn:outgoing>
</bpmn:serviceTask>
</bpmn:subProcess>
<bpmn:subProcess id="Activity_1ucvkk4" name="Waku Message: Notify Project Lead">
<bpmn:incoming>Flow_0kngdw4</bpmn:incoming>
<bpmn:outgoing>Flow_0lfqk0y</bpmn:outgoing>
<bpmn:dataObjectReference id="DataObjectReference_0frvqwx" />
<bpmn:startEvent id="Event_00px1yx">
<bpmn:outgoing>Flow_0dvboik</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:endEvent id="Event_1nkaxn4">
<bpmn:incoming>Flow_0y37dgj</bpmn:incoming>
</bpmn:endEvent>
<bpmn:callActivity id="Activity_00b66gy" name="Call Shared: User Info" calledElement="Shared_User_Info">
<bpmn:extensionElements>
<spiffworkflow:preScript># Set who for find
find_user = userKeycloak
isCurrentUser = False</spiffworkflow:preScript>
<spiffworkflow:postScript />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0bv17h4</bpmn:incoming>
<bpmn:outgoing>Flow_0phvbsa</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:serviceTask id="Activity_1ve0iqu" name="Waku Message: Notify Proejct Lead">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="waku/SendMessage" resultVariable="respNotifyTeamLead">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="message" type="str" value="waku_message" />
<spiffworkflow:parameter id="message_type" type="str" value="&#34;wakuext_sendOneToOneMessage&#34;" />
<spiffworkflow:parameter id="recipient" type="str" value="project_lead_info[&#34;status_key&#34;]" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0re50gq</bpmn:incoming>
<bpmn:outgoing>Flow_0y37dgj</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:callActivity id="Call_Waku_Messages_Message-Notify_Proejct_Lead" name="Call Waku Messages: Message" calledElement="Waku_Messages_Message">
<bpmn:extensionElements>
<spiffworkflow:preScript># Set Waku message variables
task_id = "waku_notify_project_lead"
isSetMessage = True</spiffworkflow:preScript>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0t3n7bd</bpmn:incoming>
<bpmn:outgoing>Flow_0re50gq</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:sequenceFlow id="Flow_0phvbsa" sourceRef="Activity_00b66gy" targetRef="Activity_1jtcvfx" />
<bpmn:scriptTask id="Activity_1jtcvfx" name="Temp Post Script" scriptFormat="python">
<bpmn:incoming>Flow_0phvbsa</bpmn:incoming>
<bpmn:outgoing>Flow_0t3n7bd</bpmn:outgoing>
<bpmn:script># Set Project Lead Info
project_lead_info = {}
project_lead_info["full_name"] = userFullName
project_lead_info["first_name"] = userFirstName
project_lead_info["email"] = userEmail
project_lead_info["time_zone"] = userTimeZone
project_lead_info["time_format"] = userTimeFormat
project_lead_info["date_format"] = userDateFormat
project_lead_info["status_key"] = userStatusKey
# Move to pre-script of Waku Message
# Set Time Zone
time_zone = project_lead_info["time_zone"]
# Set Time Format
time_format = project_lead_info["time_format"]
# Set Date Format
time_format = project_lead_info["date_format"]
del(userFullName)
del(userFirstName)
del(userEmail)
# del(userProjectLeadUsername)
del(userStatusKey)</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="Flow_0t3n7bd" sourceRef="Activity_1jtcvfx" targetRef="Call_Waku_Messages_Message-Notify_Proejct_Lead" />
<bpmn:sequenceFlow id="Flow_0re50gq" sourceRef="Call_Waku_Messages_Message-Notify_Proejct_Lead" targetRef="Activity_1ve0iqu" />
<bpmn:sequenceFlow id="Flow_0y37dgj" sourceRef="Activity_1ve0iqu" targetRef="Event_1nkaxn4" />
<bpmn:scriptTask id="Activity_1982sk7" name="Get Project Lead" scriptFormat="python">
<bpmn:incoming>Flow_0dvboik</bpmn:incoming>
<bpmn:outgoing>Flow_01ki4jt</bpmn:outgoing>
<bpmn:script>userBambooId_str = resp_BambooUserInfo["supervisorEid"]</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="Flow_0dvboik" sourceRef="Event_00px1yx" targetRef="Activity_1982sk7" />
<bpmn:scriptTask id="Activity_1nyfxna" name="Temp Pre Script" scriptFormat="python">
<bpmn:script># Set who for find
find_user = userKeycloak
isCurrentUser = False</bpmn:script>
</bpmn:scriptTask>
<bpmn:callActivity id="Activity_1r3o0bm" name="Get Keycloak Username" calledElement="Bamboo_Conversion">
<bpmn:incoming>Flow_01ki4jt</bpmn:incoming>
<bpmn:outgoing>Flow_0bv17h4</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:sequenceFlow id="Flow_01ki4jt" sourceRef="Activity_1982sk7" targetRef="Activity_1r3o0bm" />
<bpmn:sequenceFlow id="Flow_0bv17h4" sourceRef="Activity_1r3o0bm" targetRef="Activity_00b66gy" />
</bpmn:subProcess>
<bpmn:scriptTask id="Activity_0faln91" name="Set Message" scriptFormat="python">
<bpmn:incoming>Flow_1qf14hx</bpmn:incoming>
<bpmn:outgoing>Flow_15pzvrr</bpmn:outgoing>
<bpmn:script># Store Team Lead comments elsewhere and clear form comments
if isApprovalTimer:
invoice["commentsProjectLead"] = "No action taken within allotted time"
approvalComment = ""
invoice.isProjectLeadApprove = False
isInvoiceApproved = False
# Set Invoice Status
invoice["invoiceStatus"] = "Rejected"
else:
invoice["commentsProjectLead"] = approvalComment
approvalComment = ""
invoice.isProjectLeadApprove = isInvoiceApproved
# Set Invoice Status
invoice["invoiceStatus"] = "Approved"</bpmn:script>
</bpmn:scriptTask>
<bpmn:serviceTask id="Activity_0fq1nb4" name="5. Create Invoice in Xero">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="xero/CreateInvoice" resultVariable="resp_xeroCreateInvoice">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="access_token" type="any" value="&#34;secret:xero/OAuth&#34;" />
<spiffworkflow:parameter id="amount" type="str" value="str(invoice_amount)" />
<spiffworkflow:parameter id="contact_email" type="str" value="current_user_extras[&#34;email&#34;]" />
<spiffworkflow:parameter id="contact_name" type="str" value="current_user_extras[&#34;full_name&#34;]" />
<spiffworkflow:parameter id="description" type="str" value="&#34;Test for now&#34;" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
<spiffworkflow:preScript />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0h96w9j</bpmn:incoming>
<bpmn:outgoing>Flow_053ca95</bpmn:outgoing>
<bpmn:dataOutputAssociation id="DataOutputAssociation_076hmxy">
<bpmn:targetRef>DataObjectReference_1g4gzsx</bpmn:targetRef>
</bpmn:dataOutputAssociation>
</bpmn:serviceTask>
<bpmn:scriptTask id="Activity_1b6tead" name="Set Invoice Status to Approved and Awaiting Payment" scriptFormat="python">
<bpmn:incoming>Flow_053ca95</bpmn:incoming>
<bpmn:outgoing>Flow_00tndkb</bpmn:outgoing>
<bpmn:script># Set Invoice Status to Approved and Pending Payment
invoice.invoiceStatus = "Approved and Pending Payment"</bpmn:script>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="Gateway_1ytq6m7" name="Approved?" default="Flow_0h96w9j">
<bpmn:incoming>Flow_02v6lr2</bpmn:incoming>
<bpmn:outgoing>Flow_00kky3k</bpmn:outgoing>
<bpmn:outgoing>Flow_0h96w9j</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:scriptTask id="Activity_11stdua" name="Temp Post Script" scriptFormat="python">
<bpmn:incoming>Flow_09wwily</bpmn:incoming>
<bpmn:outgoing>Flow_02v6lr2</bpmn:outgoing>
<bpmn:script>invoice.commentsFinance = approvalComment
approvalComment = ""
# Set Invoice Status
if isInvoiceApproved:
invoice["invoiceStatus"] = "Approved by Finance Team"
else:
invoice["invoiceStatus"] = "Rejected by Finance Team"</bpmn:script>
</bpmn:scriptTask>
<bpmn:intermediateThrowEvent id="Event_15y55nw" name="Invoice is submitted">
<bpmn:documentation>Process milestone should update the process metadata field “milestone reached”</bpmn:documentation>
<bpmn:incoming>Flow_04fl87d</bpmn:incoming>
<bpmn:outgoing>Flow_1ex5hfx</bpmn:outgoing>
</bpmn:intermediateThrowEvent>
<bpmn:sequenceFlow id="Flow_1jfb24q" sourceRef="Waku_Message_Pending_Payment" targetRef="Event_1usbnt0" />
<bpmn:subProcess id="Waku_Message_Pending_Payment" name="Waku Message: Pending Payment">
<bpmn:incoming>Flow_00tndkb</bpmn:incoming>
<bpmn:outgoing>Flow_1jfb24q</bpmn:outgoing>
<bpmn:dataOutputAssociation id="DataOutputAssociation_0lf2wuo">
<bpmn:targetRef>DataObjectReference_0br9o6c</bpmn:targetRef>
</bpmn:dataOutputAssociation>
<bpmn:startEvent id="Event_13cibxi">
<bpmn:outgoing>Flow_1j5eznh</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:callActivity id="Get_Waku_Messages_Message" name="Get Waku Messages: Message" calledElement="Waku_Messages_Message">
<bpmn:extensionElements>
<spiffworkflow:preScript>if isMatch:
task_id = "waku_payment_pending_ismatch"
else:
task_id = "waku_payment_pending_not_ismatch"
isSetMessage = True
# Set Time Zone
timezone = current_user_extras["time_zone"]</spiffworkflow:preScript>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1j5eznh</bpmn:incoming>
<bpmn:outgoing>Flow_1w7kqay</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:sequenceFlow id="Flow_1w7kqay" sourceRef="Get_Waku_Messages_Message" targetRef="waku_payment_pending" />
<bpmn:endEvent id="Event_0fbz176">
<bpmn:incoming>Flow_1buk0a2</bpmn:incoming>
</bpmn:endEvent>
<bpmn:serviceTask id="waku_payment_pending" name="Waku Message: Notify CC Payment Pending">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="waku/SendMessage" resultVariable="wr_invoicePayPend">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="message" type="str" value="waku_message" />
<spiffworkflow:parameter id="message_type" type="str" value="&#34;wakuext_sendOneToOneMessage&#34;" />
<spiffworkflow:parameter id="recipient" type="str" value="current_user_extras[&#34;status_key&#34;]" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
<spiffworkflow:preScript />
</bpmn:extensionElements>
<bpmn:incoming>Flow_1w7kqay</bpmn:incoming>
<bpmn:outgoing>Flow_1buk0a2</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_1buk0a2" sourceRef="waku_payment_pending" targetRef="Event_0fbz176" />
<bpmn:scriptTask id="Activity_0iquip7" name="Temp Pre-Script" scriptFormat="python">
<bpmn:script>if isMatch:
task_id = "waku_payment_pending_ismatch"
else:
task_id = "waku_payment_pending_not_ismatch"
isSetMessage = True</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="Flow_1j5eznh" sourceRef="Event_13cibxi" targetRef="Get_Waku_Messages_Message" />
</bpmn:subProcess>
<bpmn:endEvent id="Event_1usbnt0">
<bpmn:incoming>Flow_1jfb24q</bpmn:incoming>
</bpmn:endEvent>
<bpmn:subProcess id="Activity_0rae8g6" name="Waku Message: Invoice Rejected">
<bpmn:incoming>Flow_0bfs2xe</bpmn:incoming>
<bpmn:outgoing>Flow_0c0c9mw</bpmn:outgoing>
<bpmn:dataOutputAssociation id="DataOutputAssociation_0b96bb7">
<bpmn:targetRef>DataObjectReference_1wclgyx</bpmn:targetRef>
</bpmn:dataOutputAssociation>
<bpmn:startEvent id="Event_0ialhor">
<bpmn:outgoing>Flow_14x1v12</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:callActivity id="Activity_0eh4so1" name="Call Waku Messages: Message" calledElement="Waku_Messages_Message">
<bpmn:extensionElements>
<spiffworkflow:preScript />
</bpmn:extensionElements>
<bpmn:incoming>Flow_0umhf4u</bpmn:incoming>
<bpmn:outgoing>Flow_1wq6gzs</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:endEvent id="Event_0ihhn4w">
<bpmn:incoming>Flow_01i59kw</bpmn:incoming>
</bpmn:endEvent>
<bpmn:serviceTask id="waku_invoice_rejected" name="3. Notify CC via Waku &#34;invoice rejected&#34;">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="waku/SendMessage" resultVariable="wr_invoiceRejected">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="message" type="str" value="waku_message" />
<spiffworkflow:parameter id="message_type" type="str" value="&#34;wakuext_sendOneToOneMessage&#34;" />
<spiffworkflow:parameter id="recipient" type="str" value="current_user_extras[&#34;status_key&#34;]" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1d0phao</bpmn:incoming>
<bpmn:outgoing>Flow_01i59kw</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_14x1v12" sourceRef="Event_0ialhor" targetRef="Activity_04kw0jc" />
<bpmn:sequenceFlow id="Flow_1wq6gzs" sourceRef="Activity_0eh4so1" targetRef="Activity_03duc95" />
<bpmn:sequenceFlow id="Flow_01i59kw" sourceRef="waku_invoice_rejected" targetRef="Event_0ihhn4w" />
<bpmn:sequenceFlow id="Flow_0umhf4u" sourceRef="Activity_04kw0jc" targetRef="Activity_0eh4so1" />
<bpmn:scriptTask id="Activity_04kw0jc" name="Set Which Message" scriptFormat="python">
<bpmn:incoming>Flow_14x1v12</bpmn:incoming>
<bpmn:outgoing>Flow_0umhf4u</bpmn:outgoing>
<bpmn:script># Set who rejected
if not(invoice.isProjectLeadApprove):
task_id = "waku_invoice_rejected-Project_Lead"
else:
task_id = "waku_invoice_rejected-Finance"
# Set Message should not be set
isSetMessage = False
# Set Time Zone
time_zone = current_user_extras["time_zone"]
# Set Time Format
time_format = current_user_extras["time_format"]
# Set Date Format
time_format = current_user_extras["date_format"]</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="Flow_1d0phao" sourceRef="Activity_03duc95" targetRef="waku_invoice_rejected" />
<bpmn:scriptTask id="Activity_03duc95" name="Set Message" scriptFormat="python">
<bpmn:incoming>Flow_1wq6gzs</bpmn:incoming>
<bpmn:outgoing>Flow_1d0phao</bpmn:outgoing>
<bpmn:script># Set who rejected
if not(invoice.isProjectLeadApprove):
waku_message = waku_message_body + waku_message_timestamp + waku_message_variables + waku_message_footer
else:
waku_message = waku_message_body + waku_message_timestamp + waku_message_variables + "\nProject Lead Comments: " + invoice.commentsProjectLead + waku_message_footer</bpmn:script>
</bpmn:scriptTask>
</bpmn:subProcess>
<bpmn:subProcess id="Activity_1kgaqpf" name="Waku Message: Notify Finance">
<bpmn:incoming>Flow_18xvx8w</bpmn:incoming>
<bpmn:incoming>Flow_04ccp12</bpmn:incoming>
<bpmn:outgoing>Flow_1ds4s8o</bpmn:outgoing>
<bpmn:dataOutputAssociation id="DataOutputAssociation_02537rk">
<bpmn:targetRef>DataObjectReference_0x2dn5o</bpmn:targetRef>
</bpmn:dataOutputAssociation>
<bpmn:startEvent id="Event_0k7eiau">
<bpmn:outgoing>Flow_11zkgke</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:callActivity id="Activity_1wqf9dm" name="Call Waku Messages: Message" calledElement="Waku_Messages_Message">
<bpmn:extensionElements>
<spiffworkflow:preScript># Set Task Id
task_id = "waku_notify_finance"
# Set Message should not be set
isSetMessage = True
isInvoiceApproved = ""</spiffworkflow:preScript>
</bpmn:extensionElements>
<bpmn:incoming>Flow_11zkgke</bpmn:incoming>
<bpmn:outgoing>Flow_0n3djvs</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:endEvent id="Event_0czwuqb">
<bpmn:incoming>Flow_0lr2fpj</bpmn:incoming>
</bpmn:endEvent>
<bpmn:serviceTask id="Activity_0ez288q" name="Send Waku Message: Notify Finance">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="waku/SendMessage" resultVariable="wr_notifyFinance">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="message" type="str" value="waku_message" />
<spiffworkflow:parameter id="message_type" type="str" value="&#34;wakuext_sendOneToOneMessage&#34;" />
<spiffworkflow:parameter id="recipient" type="str" value="&#34;0x04cf9f835bfb5f5b94b4c6f36378fd14bde09960a4d021928981125d314fa423fa79cde37003b9c6135b52dc20734590dcac5a68b73af74d58060628b2c531faf1&#34;" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0n3djvs</bpmn:incoming>
<bpmn:outgoing>Flow_0lr2fpj</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:scriptTask id="Activity_01g159b" name="Temp Pre-Script" scriptFormat="python">
<bpmn:script># Set Task Id
task_id = "waku_notify_finance"
# Set Message should not be set
isSetMessage = True
isInvoiceApproved = ""</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="Flow_0n3djvs" sourceRef="Activity_1wqf9dm" targetRef="Activity_0ez288q" />
<bpmn:sequenceFlow id="Flow_0lr2fpj" sourceRef="Activity_0ez288q" targetRef="Event_0czwuqb" />
<bpmn:sequenceFlow id="Flow_11zkgke" sourceRef="Event_0k7eiau" targetRef="Activity_1wqf9dm" />
</bpmn:subProcess>
<bpmn:scriptTask id="Activity_1t8wi0r" name="Waku Message: No Project Lead Response" scriptFormat="python">
<bpmn:incoming>Flow_1v8dszb</bpmn:incoming>
<bpmn:outgoing>Flow_1w4cqkv</bpmn:outgoing>
<bpmn:script># Set Timer Check
isApprovalTimer = True</bpmn:script>
</bpmn:scriptTask>
<bpmn:boundaryEvent id="Event_09q0ym0" name="3 days" attachedToRef="Activity_06b32ar">
<bpmn:outgoing>Flow_1v8dszb</bpmn:outgoing>
<bpmn:timerEventDefinition id="TimerEventDefinition_0cpj4z0">
<bpmn:timeDuration xsi:type="bpmn:tFormalExpression">timedelta(minutes=3)</bpmn:timeDuration>
</bpmn:timerEventDefinition>
</bpmn:boundaryEvent>
<bpmn:exclusiveGateway id="Gateway_06i3we9">
<bpmn:incoming>Flow_0yvmfqu</bpmn:incoming>
<bpmn:incoming>Flow_1w4cqkv</bpmn:incoming>
<bpmn:outgoing>Flow_1qf14hx</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_1qf14hx" sourceRef="Gateway_06i3we9" targetRef="Activity_0faln91" />
<bpmn:sequenceFlow id="Flow_1w4cqkv" sourceRef="Activity_1t8wi0r" targetRef="Gateway_06i3we9" />
<bpmn:serviceTask id="Activity_175j3o7" name="2c. Save Invoice Data">
<bpmn:extensionElements>
<spiffworkflow:serviceTaskOperator id="aws/AddDynamoItem" resultVariable="resp_AddDynamoItem">
<spiffworkflow:parameters>
<spiffworkflow:parameter id="item_data" type="str" value="{ &#34;ContributorName&#34;: invoice.contributorName, &#34;ContributorId&#34;: invoice.contributorId, &#34;InvoiceId&#34;: invoice.invoiceId, &#34;InvoiceAmount&#34;: invoice.invoiceAmount, &#34;InvoiceCurrency&#34;: invoice.invoiceCurrency, &#34;DueDate&#34;: invoice.dueDate }" />
<spiffworkflow:parameter id="table_name" type="str" value="&#39;Invoice&#39;" />
</spiffworkflow:parameters>
</spiffworkflow:serviceTaskOperator>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0hev3yn</bpmn:incoming>
<bpmn:outgoing>Flow_02o270g</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:dataObjectReference id="DataObjectReference_0bymrvr" name="enumerations_list" dataObjectRef="enumerations_list" />
<bpmn:sequenceFlow id="Flow_17vkjgc" sourceRef="Gateway_0wk5se9" targetRef="Submit_the_invoice" />
<bpmn:exclusiveGateway id="Gateway_0wk5se9">
<bpmn:incoming>Flow_00p30u2</bpmn:incoming>
<bpmn:incoming>Flow_18cic3h</bpmn:incoming>
<bpmn:outgoing>Flow_17vkjgc</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:callActivity id="Activity_1colhao" name="Call Shared: Build Enum List from AWS" calledElement="Shared_Build_Enum_List_from_AWS">
<bpmn:extensionElements>
<spiffworkflow:preScript>whichSubject = "Currency"
addNew = False</spiffworkflow:preScript>
</bpmn:extensionElements>
<bpmn:incoming>Flow_0bipj9q</bpmn:incoming>
<bpmn:outgoing>Flow_00p30u2</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:dataObjectReference id="DataObjectReference_1ykzuco" name="wr_InvoiceSubmitted" dataObjectRef="wr_InvoiceSubmitted" />
<bpmn:dataObjectReference id="DataObjectReference_1wclgyx" name="wr_invoiceRejected" dataObjectRef="wr_invoiceRejected" />
<bpmn:dataObject id="wr_notifyFinance" />
<bpmn:dataObjectReference id="DataObjectReference_0x2dn5o" name="wr_notifyFinance" dataObjectRef="wr_notifyFinance" />
<bpmn:dataObject id="enumerations_list" />
<bpmn:dataObject id="resp_xeroCreateInvoice" />
<bpmn:dataObject id="wr_invoicePayPend" />
<bpmn:dataObjectReference id="DataObjectReference_0br9o6c" name="wr_invoicePayPend" dataObjectRef="wr_invoicePayPend" />
<bpmn:dataObject id="wr_invoiceRejected" />
<bpmn:dataObjectReference id="DataObjectReference_1g4gzsx" name="resp_xeroCreateInvoice" dataObjectRef="resp_xeroCreateInvoice" />
<bpmn:dataObject id="wr_InvoiceSubmitted" />
<bpmn:endEvent id="Event_1b58a3z" name="Invoice is rejected by Approver">
<bpmn:incoming>Flow_0c0c9mw</bpmn:incoming>
</bpmn:endEvent>
</bpmn:process>
<bpmn:process id="Process_cc_invoice_approval_process_v2_c" isExecutable="false" />
<bpmn:process id="Process_cc_invoice_approval_process_v2_d" isExecutable="false" />
<bpmn:process id="Process_cc_invoice_approval_process_v2_e" isExecutable="false" />
<bpmn:correlationProperty id="CorrelationProperty_Submit_Invoice" name="Correlation Property: Submit Invoice">
<bpmn:correlationPropertyRetrievalExpression messageRef="Message_Submit_Invoice">
<bpmn:formalExpression>topica_one</bpmn:formalExpression>
</bpmn:correlationPropertyRetrievalExpression>
</bpmn:correlationProperty>
<bpmn:message id="Message_Submit_Invoice" name="Message: Submit Invoice">
<bpmn:extensionElements>
<spiffworkflow:messageVariable>topica_one</spiffworkflow:messageVariable>
<spiffworkflow:messagePayload>{
"topica_one": "Invoice successfully submitted"
}</spiffworkflow:messagePayload>
</bpmn:extensionElements>
</bpmn:message>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_130jph2">
<bpmndi:BPMNShape id="Participant_1fsb6gv_di" bpmnElement="Participant_1fsb6gv" isHorizontal="true">
<dc:Bounds x="280" y="-70" width="4350" height="220" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_11ab2hx_di" bpmnElement="Participant_11ab2hx" isHorizontal="true">
<dc:Bounds x="280" y="210" width="4350" height="920" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_1b7abal_di" bpmnElement="Lane_1b7abal" isHorizontal="true">
<dc:Bounds x="310" y="800" width="4320" height="212" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_1so23vf_di" bpmnElement="Lane_1so23vf" isHorizontal="true">
<dc:Bounds x="310" y="1012" width="4320" height="118" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_1a0qu8e_di" bpmnElement="Lane_1a0qu8e" isHorizontal="true">
<dc:Bounds x="310" y="210" width="4320" height="590" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1h7igan_di" bpmnElement="Submit_the_invoice">
<dc:Bounds x="985" y="482" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_0wt7ine_di" bpmnElement="Gateway_validation_successful_question_mark" isMarkerVisible="true">
<dc:Bounds x="1345" y="497" width="50" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="1340" y="557" width="60" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0z13hw3_di" bpmnElement="SubProcess_Data_validation_rules">
<dc:Bounds x="1170" y="482" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0qtkhpi_di" bpmnElement="Activity_show_errors">
<dc:Bounds x="1080" y="320" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0svbvjn_di" bpmnElement="Event_invoice_validation_failed">
<dc:Bounds x="1352" y="412" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="1262" y="411" width="85" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_193pz3d_di" bpmnElement="Activity_1u89kok">
<dc:Bounds x="510" y="480" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1r3yh2k_di" bpmnElement="Event_1r3yh2k">
<dc:Bounds x="402" y="502" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_10gbs8m_di" bpmnElement="Gateway_05ov5p5">
<dc:Bounds x="1605" y="497" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0zssftc_di" bpmnElement="Activity_0p88elm">
<dc:Bounds x="1880" y="560" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0bgyf4i_di" bpmnElement="Activity_104xpp8">
<dc:Bounds x="1670" y="560" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_08ykqm8_di" bpmnElement="Activity_109lq0m">
<dc:Bounds x="1450" y="482" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1xg4kby_di" bpmnElement="Activity_10p5t0r">
<dc:Bounds x="2130" y="482" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_05ztwup_di" bpmnElement="Gateway_1717c0p">
<dc:Bounds x="2004" y="495" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1xkyv08_di" bpmnElement="Activity_0gkpa9s">
<dc:Bounds x="2280" y="482" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_1lbghql_di" bpmnElement="Gateway_1lbghql" isMarkerVisible="true">
<dc:Bounds x="2674" y="497" width="50" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="2730" y="513" width="37" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0x83ruk_di" bpmnElement="Event_0x83ruk">
<dc:Bounds x="2731" y="394" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="2709" y="358" width="81" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0m3ri6v_di" bpmnElement="Event_0m3ri6v">
<dc:Bounds x="2731" y="582" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="2722" y="625" width="57" height="40" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_1l4tz4i_di" bpmnElement="Gateway_1l4tz4i" isMarkerVisible="true">
<dc:Bounds x="3475" y="387" width="50" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3423" y="383" width="54" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_05nao2p_di" bpmnElement="Activity_06b32ar">
<dc:Bounds x="2990" y="820" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0xwniza_di" bpmnElement="Activity_0cdgqi0">
<dc:Bounds x="3450" y="1030" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1rn2mgi_di" bpmnElement="Activity_0gkejaj">
<dc:Bounds x="2519" y="482" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0j807g0_di" bpmnElement="Activity_1ucvkk4">
<dc:Bounds x="2990" y="372" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1vzea12_di" bpmnElement="Activity_0faln91">
<dc:Bounds x="3310" y="670" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0ejn04g_di" bpmnElement="Activity_0fq1nb4">
<dc:Bounds x="4020" y="560" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0pne05v_di" bpmnElement="Activity_1b6tead">
<dc:Bounds x="4190" y="560" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_1ytq6m7_di" bpmnElement="Gateway_1ytq6m7" isMarkerVisible="true">
<dc:Bounds x="3735" y="1045" width="50" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3733" y="1102" width="54" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1j1zo4f_di" bpmnElement="Activity_11stdua">
<dc:Bounds x="3590" y="1030" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_15y55nw_di" bpmnElement="Event_15y55nw">
<dc:Bounds x="2432" y="504" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="2426" y="547" width="48" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1tlgf7q_di" bpmnElement="Waku_Message_Pending_Payment">
<dc:Bounds x="4360" y="560" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1usbnt0_di" bpmnElement="Event_1usbnt0">
<dc:Bounds x="4522" y="582" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0n0ue58_di" bpmnElement="Activity_0rae8g6">
<dc:Bounds x="3450" y="260" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1tb6ao6_di" bpmnElement="Activity_1kgaqpf">
<dc:Bounds x="3450" y="560" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1pu369y_di" bpmnElement="Activity_1t8wi0r">
<dc:Bounds x="3160" y="898" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_06i3we9_di" bpmnElement="Gateway_06i3we9" isMarkerVisible="true">
<dc:Bounds x="3335" y="835" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1hpp8tn_di" bpmnElement="Activity_175j3o7">
<dc:Bounds x="1750" y="372" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_0bymrvr_di" bpmnElement="DataObjectReference_0bymrvr">
<dc:Bounds x="1252" y="645" width="36" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="1227" y="685" width="87" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_0wk5se9_di" bpmnElement="Gateway_0wk5se9" isMarkerVisible="true">
<dc:Bounds x="865" y="497" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_13dc2qg_di" bpmnElement="Activity_1colhao">
<dc:Bounds x="690" y="482" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_1ykzuco_di" bpmnElement="DataObjectReference_1ykzuco">
<dc:Bounds x="2402" y="375" width="36" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="2376" y="428" width="87" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_1wclgyx_di" bpmnElement="DataObjectReference_1wclgyx">
<dc:Bounds x="3332" y="235" width="36" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3308" y="281" width="84" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_0x2dn5o_di" bpmnElement="DataObjectReference_0x2dn5o">
<dc:Bounds x="3602" y="505" width="36" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3578" y="551" width="84" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_0br9o6c_di" bpmnElement="DataObjectReference_0br9o6c">
<dc:Bounds x="4312" y="705" width="36" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="4288" y="751" width="85" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="DataObjectReference_1g4gzsx_di" bpmnElement="DataObjectReference_1g4gzsx">
<dc:Bounds x="4122" y="445" width="36" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="4097" y="491" width="85" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1b58a3z_di" bpmnElement="Event_1b58a3z">
<dc:Bounds x="3622" y="282" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3616" y="325" width="54" height="40" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_08bsj2m_di" bpmnElement="Event_09q0ym0">
<dc:Bounds x="3052" y="882" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3023" y="913" width="33" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1x4rtop_di" bpmnElement="Flow_1x4rtop">
<di:waypoint x="1395" y="522" />
<di:waypoint x="1450" y="522" />
<bpmndi:BPMNLabel>
<dc:Bounds x="1407" y="498" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_05ffq52_di" bpmnElement="Flow_05ffq52">
<di:waypoint x="1370" y="497" />
<di:waypoint x="1370" y="448" />
<bpmndi:BPMNLabel>
<dc:Bounds x="1378" y="475" width="15" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1c5u447_di" bpmnElement="Flow_1c5u447">
<di:waypoint x="2619" y="522" />
<di:waypoint x="2674" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1gohkts_di" bpmnElement="Flow_1gohkts">
<di:waypoint x="2699" y="547" />
<di:waypoint x="2699" y="600" />
<di:waypoint x="2731" y="600" />
<bpmndi:BPMNLabel>
<dc:Bounds x="2706" y="570" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_18xvx8w_di" bpmnElement="Flow_18xvx8w">
<di:waypoint x="3500" y="437" />
<di:waypoint x="3500" y="560" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3507" y="496" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1ex5hfx_di" bpmnElement="Flow_1ex5hfx">
<di:waypoint x="2468" y="522" />
<di:waypoint x="2519" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_16bw9hx_di" bpmnElement="Flow_16bw9hx">
<di:waypoint x="2699" y="497" />
<di:waypoint x="2699" y="412" />
<di:waypoint x="2731" y="412" />
<bpmndi:BPMNLabel>
<dc:Bounds x="2707" y="454" width="15" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0bfs2xe_di" bpmnElement="Flow_0bfs2xe">
<di:waypoint x="3500" y="387" />
<di:waypoint x="3500" y="340" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3512" y="363" width="15" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0c0c9mw_di" bpmnElement="Flow_0c0c9mw">
<di:waypoint x="3550" y="300" />
<di:waypoint x="3622" y="300" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_13ng1f4_di" bpmnElement="Flow_13ng1f4">
<di:waypoint x="1370" y="412" />
<di:waypoint x="1370" y="360" />
<di:waypoint x="1180" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_18cic3h_di" bpmnElement="Flow_18cic3h">
<di:waypoint x="1080" y="360" />
<di:waypoint x="890" y="360" />
<di:waypoint x="890" y="497" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_02moyg7_di" bpmnElement="Flow_02moyg7">
<di:waypoint x="1085" y="522" />
<di:waypoint x="1170" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1ck27i7_di" bpmnElement="Flow_1ck27i7">
<di:waypoint x="1270" y="522" />
<di:waypoint x="1345" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1v8dszb_di" bpmnElement="Flow_1v8dszb">
<di:waypoint x="3070" y="918" />
<di:waypoint x="3070" y="938" />
<di:waypoint x="3160" y="938" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0yvmfqu_di" bpmnElement="Flow_0yvmfqu">
<di:waypoint x="3090" y="860" />
<di:waypoint x="3335" y="860" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_12cqm3u_di" bpmnElement="Flow_12cqm3u">
<di:waypoint x="1630" y="547" />
<di:waypoint x="1630" y="600" />
<di:waypoint x="1670" y="600" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0hev3yn_di" bpmnElement="Flow_0hev3yn">
<di:waypoint x="1630" y="497" />
<di:waypoint x="1630" y="412" />
<di:waypoint x="1750" y="412" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_02o270g_di" bpmnElement="Flow_02o270g">
<di:waypoint x="1850" y="412" />
<di:waypoint x="2029" y="412" />
<di:waypoint x="2029" y="495" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0o94g4u_di" bpmnElement="Flow_0o94g4u">
<di:waypoint x="1980" y="600" />
<di:waypoint x="2029" y="600" />
<di:waypoint x="2029" y="545" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1vxagrf_di" bpmnElement="Flow_1vxagrf">
<di:waypoint x="438" y="520" />
<di:waypoint x="510" y="520" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0bipj9q_di" bpmnElement="Flow_0bipj9q">
<di:waypoint x="610" y="520" />
<di:waypoint x="690" y="520" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_04ccp12_di" bpmnElement="Flow_04ccp12">
<di:waypoint x="2767" y="600" />
<di:waypoint x="3450" y="600" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0kngdw4_di" bpmnElement="Flow_0kngdw4">
<di:waypoint x="2767" y="412" />
<di:waypoint x="2990" y="412" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0lfqk0y_di" bpmnElement="Flow_0lfqk0y">
<di:waypoint x="3040" y="452" />
<di:waypoint x="3040" y="820" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1ds4s8o_di" bpmnElement="Flow_1ds4s8o">
<di:waypoint x="3500" y="640" />
<di:waypoint x="3500" y="1030" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_09wwily_di" bpmnElement="Flow_09wwily">
<di:waypoint x="3550" y="1070" />
<di:waypoint x="3590" y="1070" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_00kky3k_di" bpmnElement="Flow_00kky3k">
<di:waypoint x="3760" y="1045" />
<di:waypoint x="3760" y="412" />
<di:waypoint x="3525" y="412" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3768" y="913" width="15" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0h96w9j_di" bpmnElement="Flow_0h96w9j">
<di:waypoint x="3785" y="1070" />
<di:waypoint x="3900" y="1070" />
<di:waypoint x="3900" y="600" />
<di:waypoint x="4020" y="600" />
<bpmndi:BPMNLabel>
<dc:Bounds x="3828" y="1053" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_053ca95_di" bpmnElement="Flow_053ca95">
<di:waypoint x="4120" y="600" />
<di:waypoint x="4190" y="600" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0p6vvu0_di" bpmnElement="Flow_0p6vvu0">
<di:waypoint x="1770" y="600" />
<di:waypoint x="1880" y="600" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_00p30u2_di" bpmnElement="Flow_00p30u2">
<di:waypoint x="790" y="522" />
<di:waypoint x="865" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0u5z1vc_di" bpmnElement="Flow_0u5z1vc">
<di:waypoint x="1550" y="522" />
<di:waypoint x="1605" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0a9w301_di" bpmnElement="Flow_0a9w301">
<di:waypoint x="2054" y="520" />
<di:waypoint x="2130" y="520" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0h1x7y6_di" bpmnElement="Flow_0h1x7y6">
<di:waypoint x="2230" y="522" />
<di:waypoint x="2280" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_15pzvrr_di" bpmnElement="Flow_15pzvrr">
<di:waypoint x="3360" y="670" />
<di:waypoint x="3360" y="412" />
<di:waypoint x="3475" y="412" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_00tndkb_di" bpmnElement="Flow_00tndkb">
<di:waypoint x="4290" y="600" />
<di:waypoint x="4360" y="600" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_02v6lr2_di" bpmnElement="Flow_02v6lr2">
<di:waypoint x="3690" y="1070" />
<di:waypoint x="3735" y="1070" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_04fl87d_di" bpmnElement="Flow_04fl87d">
<di:waypoint x="2380" y="522" />
<di:waypoint x="2432" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1jfb24q_di" bpmnElement="Flow_1jfb24q">
<di:waypoint x="4460" y="600" />
<di:waypoint x="4522" y="600" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1qf14hx_di" bpmnElement="Flow_1qf14hx">
<di:waypoint x="3360" y="835" />
<di:waypoint x="3360" y="750" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1w4cqkv_di" bpmnElement="Flow_1w4cqkv">
<di:waypoint x="3260" y="938" />
<di:waypoint x="3360" y="938" />
<di:waypoint x="3360" y="885" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_17vkjgc_di" bpmnElement="Flow_17vkjgc">
<di:waypoint x="915" y="522" />
<di:waypoint x="985" y="522" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Participant_0a8arrz_di" bpmnElement="Participant_0a8arrz" isHorizontal="true">
<dc:Bounds x="1480" y="1180" width="370" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_1qabwrg_di" bpmnElement="Participant_1qabwrg" isHorizontal="true">
<dc:Bounds x="1890" y="1180" width="629" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Participant_0b27sri_di" bpmnElement="Participant_0b27sri" isHorizontal="true">
<dc:Bounds x="3345" y="1160" width="747" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="TextAnnotation_1uaw1w7_di" bpmnElement="TextAnnotation_1uaw1w7">
<dc:Bounds x="640" y="-170" width="580" height="30" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="DataOutputAssociation_1topzui_di" bpmnElement="DataOutputAssociation_1topzui">
<di:waypoint x="1233" y="562" />
<di:waypoint x="1261" y="645" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataOutputAssociation_04ohdyt_di" bpmnElement="DataOutputAssociation_04ohdyt">
<di:waypoint x="2361" y="482" />
<di:waypoint x="2406" y="425" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataOutputAssociation_076hmxy_di" bpmnElement="DataOutputAssociation_076hmxy">
<di:waypoint x="4091" y="560" />
<di:waypoint x="4125" y="495" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataOutputAssociation_0lf2wuo_di" bpmnElement="DataOutputAssociation_0lf2wuo">
<di:waypoint x="4385" y="640" />
<di:waypoint x="4344" y="705" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataOutputAssociation_0b96bb7_di" bpmnElement="DataOutputAssociation_0b96bb7">
<di:waypoint x="3450" y="285" />
<di:waypoint x="3368" y="261" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="DataOutputAssociation_02537rk_di" bpmnElement="DataOutputAssociation_02537rk">
<di:waypoint x="3550" y="569" />
<di:waypoint x="3602" y="537" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Association_1eygti7_di" bpmnElement="Association_1eygti7">
<di:waypoint x="906" y="-70" />
<di:waypoint x="973" y="-140" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0ppupld_di" bpmnElement="Flow_0ppupld">
<di:waypoint x="1800" y="452" />
<di:waypoint x="1800" y="1180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0yfnc92_di" bpmnElement="Flow_0yfnc92">
<di:waypoint x="1930" y="640" />
<di:waypoint x="1930" y="1180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0jciftq_di" bpmnElement="Flow_0jciftq">
<di:waypoint x="2330" y="480" />
<di:waypoint x="2330" y="150" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0p0bc5u_di" bpmnElement="Flow_0p0bc5u">
<di:waypoint x="4070" y="640" />
<di:waypoint x="4070" y="1160" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0n9qxyw_di" bpmnElement="Flow_0n9qxyw">
<di:waypoint x="1010" y="482" />
<di:waypoint x="1010" y="150" />
<bpmndi:BPMNLabel>
<dc:Bounds x="660" y="312" width="73" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1getkzr_di" bpmnElement="Flow_1getkzr">
<di:waypoint x="3500" y="260" />
<di:waypoint x="3500" y="150" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1dgkwzr_di" bpmnElement="Flow_1dgkwzr">
<di:waypoint x="4410" y="560" />
<di:waypoint x="4410" y="150" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
<bpmndi:BPMNDiagram>
<bpmndi:BPMNPlane bpmnElement="Activity_0gkejaj">
<bpmndi:BPMNShape id="Event_0w5o6hr_di" bpmnElement="Event_0w5o6hr">
<dc:Bounds x="-48" y="372" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_08gpeul_di" bpmnElement="Activity_1yhwhps">
<dc:Bounds x="680" y="350" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0fzlb0w_di" bpmnElement="Activity_02go8ec">
<dc:Bounds x="210" y="350" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1f5dpwy_di" bpmnElement="Activity_0b87ocm">
<dc:Bounds x="520" y="350" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0cmri19_di" bpmnElement="Event_0cmri19">
<dc:Bounds x="842" y="372" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0x1ak9n_di" bpmnElement="Activity_1k25w3x">
<dc:Bounds x="360" y="350" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0emlo6d_di" bpmnElement="Activity_0mcykih">
<dc:Bounds x="50" y="350" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1sc1v4y_di" bpmnElement="Flow_1sc1v4y">
<di:waypoint x="-12" y="390" />
<di:waypoint x="50" y="390" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1m8uxeg_di" bpmnElement="Flow_1m8uxeg">
<di:waypoint x="620" y="390" />
<di:waypoint x="680" y="390" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_04do8x7_di" bpmnElement="Flow_04do8x7">
<di:waypoint x="780" y="390" />
<di:waypoint x="842" y="390" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0nxzc38_di" bpmnElement="Flow_0nxzc38">
<di:waypoint x="310" y="390" />
<di:waypoint x="360" y="390" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0xtzqkg_di" bpmnElement="Flow_0xtzqkg">
<di:waypoint x="460" y="390" />
<di:waypoint x="520" y="390" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_02g4qn2_di" bpmnElement="Flow_02g4qn2">
<di:waypoint x="150" y="390" />
<di:waypoint x="210" y="390" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
<bpmndi:BPMNDiagram>
<bpmndi:BPMNPlane bpmnElement="Activity_1ucvkk4">
<bpmndi:BPMNShape id="Event_00px1yx_di" bpmnElement="Event_00px1yx">
<dc:Bounds x="-408" y="402" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1nkaxn4_di" bpmnElement="Event_1nkaxn4">
<dc:Bounds x="782" y="402" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1gex892_di" bpmnElement="Activity_00b66gy">
<dc:Bounds x="160" y="380" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0s32al0_di" bpmnElement="Activity_1ve0iqu">
<dc:Bounds x="630" y="380" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0mxxp3b_di" bpmnElement="Call_Waku_Messages_Message-Notify_Proejct_Lead">
<dc:Bounds x="470" y="380" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_02v8rpk_di" bpmnElement="Activity_1jtcvfx">
<dc:Bounds x="310" y="380" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0iy0fil_di" bpmnElement="Activity_1982sk7">
<dc:Bounds x="-290" y="380" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0plejcc_di" bpmnElement="Activity_1nyfxna">
<dc:Bounds x="30" y="550" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1lm44ee_di" bpmnElement="Activity_1r3o0bm">
<dc:Bounds x="-140" y="380" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_0phvbsa_di" bpmnElement="Flow_0phvbsa">
<di:waypoint x="260" y="420" />
<di:waypoint x="310" y="420" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0t3n7bd_di" bpmnElement="Flow_0t3n7bd">
<di:waypoint x="410" y="420" />
<di:waypoint x="470" y="420" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0re50gq_di" bpmnElement="Flow_0re50gq">
<di:waypoint x="570" y="420" />
<di:waypoint x="630" y="420" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0y37dgj_di" bpmnElement="Flow_0y37dgj">
<di:waypoint x="730" y="420" />
<di:waypoint x="782" y="420" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0dvboik_di" bpmnElement="Flow_0dvboik">
<di:waypoint x="-372" y="420" />
<di:waypoint x="-290" y="420" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_01ki4jt_di" bpmnElement="Flow_01ki4jt">
<di:waypoint x="-190" y="420" />
<di:waypoint x="-140" y="420" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0bv17h4_di" bpmnElement="Flow_0bv17h4">
<di:waypoint x="-40" y="420" />
<di:waypoint x="160" y="420" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
<bpmndi:BPMNDiagram id="BPMNDiagram_0e5tdrz">
<bpmndi:BPMNPlane id="BPMNPlane_04v9fws" bpmnElement="SubProcess_Data_validation_rules">
<bpmndi:BPMNShape id="Event_1qkuk5g_di" bpmnElement="Event_1qkuk5g">
<dc:Bounds x="232" y="192" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_05nw8eq_di" bpmnElement="Activity_Check_Due_Date">
<dc:Bounds x="840" y="170" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_015l7j8_di" bpmnElement="Event_015l7j8">
<dc:Bounds x="1182" y="192" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0ynnab7_di" bpmnElement="Activity_check_contributor_name">
<dc:Bounds x="340" y="170" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_07pdvk2_di" bpmnElement="Activity_check_invoice_amount">
<dc:Bounds x="510" y="170" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1l7rl3o_di" bpmnElement="Activity_check_validation_rules">
<dc:Bounds x="1020" y="170" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0fc4t79_di" bpmnElement="Activity_call_local_date_and_time">
<dc:Bounds x="670" y="170" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1avkxpe_di" bpmnElement="Flow_1avkxpe">
<di:waypoint x="268" y="210" />
<di:waypoint x="340" y="210" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0tzjowk_di" bpmnElement="Flow_0tzjowk">
<di:waypoint x="1120" y="210" />
<di:waypoint x="1182" y="210" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_18i6dlo_di" bpmnElement="Flow_18i6dlo">
<di:waypoint x="770" y="210" />
<di:waypoint x="840" y="210" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1d7sgm2_di" bpmnElement="Flow_1d7sgm2">
<di:waypoint x="940" y="210" />
<di:waypoint x="1020" y="210" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0mvmd06_di" bpmnElement="Flow_0mvmd06">
<di:waypoint x="440" y="210" />
<di:waypoint x="510" y="210" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0wp2mcf_di" bpmnElement="Flow_0wp2mcf">
<di:waypoint x="610" y="210" />
<di:waypoint x="670" y="210" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
<bpmndi:BPMNDiagram id="BPMNDiagram_1wh5lkq">
<bpmndi:BPMNPlane id="BPMNPlane_1b2zhk5" bpmnElement="Activity_0gkpa9s">
<bpmndi:BPMNShape id="Event_0a4hscg_di" bpmnElement="Event_0a4hscg">
<dc:Bounds x="402" y="192" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0xohu5m_di" bpmnElement="Event_0xohu5m">
<dc:Bounds x="832" y="192" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_0pcr7bl" bpmnElement="Activity_1fsffcq">
<dc:Bounds x="680" y="170" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_17rdv3g_di" bpmnElement="Call_Waku_Messages_Message">
<dc:Bounds x="510" y="170" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_17xbb2s_di" bpmnElement="Flow_17xbb2s">
<di:waypoint x="780" y="210" />
<di:waypoint x="832" y="210" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0j4xxzp_di" bpmnElement="Flow_0j4xxzp">
<di:waypoint x="610" y="210" />
<di:waypoint x="680" y="210" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1yktpsd_di" bpmnElement="Flow_1yktpsd">
<di:waypoint x="438" y="210" />
<di:waypoint x="510" y="210" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
<bpmndi:BPMNDiagram id="BPMNDiagram_03yq39k">
<bpmndi:BPMNPlane id="BPMNPlane_19vekoo" bpmnElement="Waku_Message_Pending_Payment">
<bpmndi:BPMNShape id="Event_13cibxi_di" bpmnElement="Event_13cibxi">
<dc:Bounds x="72" y="162" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0848qfu_di" bpmnElement="Get_Waku_Messages_Message">
<dc:Bounds x="340" y="140" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0fbz176_di" bpmnElement="Event_0fbz176">
<dc:Bounds x="702" y="162" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_0h6o7ep" bpmnElement="waku_payment_pending">
<dc:Bounds x="530" y="140" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0tevtzs_di" bpmnElement="Activity_0iquip7">
<dc:Bounds x="170" y="300" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1w7kqay_di" bpmnElement="Flow_1w7kqay">
<di:waypoint x="440" y="180" />
<di:waypoint x="530" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1buk0a2_di" bpmnElement="Flow_1buk0a2">
<di:waypoint x="630" y="180" />
<di:waypoint x="702" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1j5eznh_di" bpmnElement="Flow_1j5eznh">
<di:waypoint x="108" y="180" />
<di:waypoint x="340" y="180" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
<bpmndi:BPMNDiagram id="BPMNDiagram_0pf7nxs">
<bpmndi:BPMNPlane id="BPMNPlane_0obk4d1" bpmnElement="Activity_0rae8g6">
<bpmndi:BPMNShape id="BPMNShape_0md80al" bpmnElement="Event_0ialhor">
<dc:Bounds x="-38" y="202" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_0u0hy9z" bpmnElement="Activity_0eh4so1">
<dc:Bounds x="250" y="180" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_06ie9hh" bpmnElement="Event_0ihhn4w">
<dc:Bounds x="762" y="202" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1lk7fz8" bpmnElement="waku_invoice_rejected">
<dc:Bounds x="600" y="180" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0py9spx_di" bpmnElement="Activity_04kw0jc">
<dc:Bounds x="70" y="180" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_08c60j8_di" bpmnElement="Activity_03duc95">
<dc:Bounds x="430" y="180" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_04mzj46" bpmnElement="Flow_14x1v12">
<di:waypoint x="-2" y="220" />
<di:waypoint x="70" y="220" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_0j3b6zk" bpmnElement="Flow_1wq6gzs">
<di:waypoint x="350" y="220" />
<di:waypoint x="430" y="220" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_16ht4ok" bpmnElement="Flow_01i59kw">
<di:waypoint x="700" y="220" />
<di:waypoint x="762" y="220" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0umhf4u_di" bpmnElement="Flow_0umhf4u">
<di:waypoint x="170" y="220" />
<di:waypoint x="250" y="220" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1d0phao_di" bpmnElement="Flow_1d0phao">
<di:waypoint x="530" y="220" />
<di:waypoint x="600" y="220" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
<bpmndi:BPMNDiagram id="BPMNDiagram_1vlf9fh">
<bpmndi:BPMNPlane id="BPMNPlane_0pej8du" bpmnElement="Activity_1kgaqpf">
<bpmndi:BPMNShape id="BPMNShape_1r0xe85" bpmnElement="Event_0k7eiau">
<dc:Bounds x="172" y="222" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_0brjin6" bpmnElement="Activity_1wqf9dm">
<dc:Bounds x="460" y="200" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1kkvray" bpmnElement="Event_0czwuqb">
<dc:Bounds x="882" y="222" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_0x5xk93" bpmnElement="Activity_0ez288q">
<dc:Bounds x="660" y="200" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_13jsep6" bpmnElement="Activity_01g159b">
<dc:Bounds x="280" y="320" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_1d397qp" bpmnElement="Flow_0n3djvs">
<di:waypoint x="560" y="240" />
<di:waypoint x="660" y="240" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_0u6zjo7" bpmnElement="Flow_0lr2fpj">
<di:waypoint x="760" y="240" />
<di:waypoint x="882" y="240" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_11zkgke_di" bpmnElement="Flow_11zkgke">
<di:waypoint x="208" y="240" />
<di:waypoint x="460" y="240" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>