dodil/erp-method
modules/product/signoff/product/history/product_product.v4.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_product_v3" name="Products & price lists processes" targetNamespace="https://git.dodil.io/dodil/erp-platform/processes" exporter="erp-platform erp-compose bpmn" exporterVersion="1">
<bpmn:collaboration id="Collaboration_product_v3">
<bpmn:documentation>Products & price lists: one pool per entity lifecycle, generated from module.yaml.</bpmn:documentation>
<bpmn:participant id="Participant_product_product" name="Product" processRef="Process_product_product_v3" />
</bpmn:collaboration>
<bpmn:process id="Process_product_product_v3" name="Product" isExecutable="false">
<bpmn:documentation>Lifecycle of the product, generated from module.yaml by erp-compose bpmn; change the workflow there, not this file. States: draft, active, archived. Note: a product is never deleted once a document names it. Every per-unit row (conversion, GTIN, measures, role, rounding) is set on the template or the SKU and the SKU's own row wins; a conversion, packaging level, decimals and GTIN are frozen once a document or stock uses them, an inherited template row included; measures, roles and rounding are dated rows instead (v3: measures are no longer frozen, a correction is a new row from today)</bpmn:documentation>
<bpmn:laneSet id="LaneSet_product">
<bpmn:lane id="Lane_product_catalogue_manager" name="Whoever keeps the product list (operations, the owner)">
<bpmn:flowNodeRef>Start_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_add_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_change_product_type</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_generate_variants</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_set_units</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_complete_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_classify_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_activate_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_add_unit</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_add_gtin</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_set_measures</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_set_rounding</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_reclassify_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_rename_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_archive_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_reactivate_product</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_product_none__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_change_product_type__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_change_product_type__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_set_units__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_set_units__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_classify_product__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_classify_product__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_add_unit__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_add_unit__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_add_gtin__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_add_gtin__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_set_measures__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_set_measures__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_set_rounding__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_set_rounding__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_reclassify_product__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_reclassify_product__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_product_archived__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>End_product_archived</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_product_system" name="The system">
<bpmn:flowNodeRef>Task_ai_check_duplicate</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Task_ai_suggest_details</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_ai_check_duplicate__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_ai_check_duplicate__if_end</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_ai_suggest_details__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_ai_suggest_details__if_end</bpmn:flowNodeRef>
</bpmn:lane>
<bpmn:lane id="Lane_product_planner" name="Whoever plans stock per site (the buyer, the warehouse manager)">
<bpmn:flowNodeRef>Task_set_site_data</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_set_site_data__if</bpmn:flowNodeRef>
<bpmn:flowNodeRef>Gateway_set_site_data__if_end</bpmn:flowNodeRef>
</bpmn:lane>
</bpmn:laneSet>
<bpmn:startEvent id="Start_product" name="Product needed">
<bpmn:outgoing>Flow_Start_product__Gateway_product_none__if</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="Task_add_product" name="Add the product" dodil:step="add_product">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From none to draft. When: the code is not in use; a product type is named (v3). Effect: the code is fixed from now on (typed, or claimed from the type's series); kind and stocked_default taken from the type.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_product_none__if__Task_add_product</bpmn:incoming>
<bpmn:outgoing>Flow_Task_add_product__Gateway_change_product_type__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_change_product_type" name="Change the product type" dodil:step="change_product_type">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From draft to draft. When: readiness: type_unused (no document or stock has used any unit of the product). Requires: reason. Effect: kind, stocked_default and the activation requirements follow the new type; the code is kept.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_change_product_type__if__Task_change_product_type</bpmn:incoming>
<bpmn:outgoing>Flow_Task_change_product_type__Gateway_change_product_type__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:serviceTask id="Task_ai_check_duplicate" name="AI checks for a likely duplicate (suggest)" dodil:step="ai_check_duplicate" implementation="##unspecified">
<bpmn:documentation>By: The system. From draft to draft. When: the duplicate check is on. Effect: a likely duplicate is shown; nothing is merged.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_ai_check_duplicate__if__Task_ai_check_duplicate</bpmn:incoming>
<bpmn:outgoing>Flow_Task_ai_check_duplicate__Gateway_ai_check_duplicate__if_end</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:serviceTask id="Task_ai_suggest_details" name="AI suggests category, unit and tax category (suggest)" dodil:step="ai_suggest_details" implementation="##unspecified">
<bpmn:documentation>By: The system. From draft to draft. When: the field is empty and the step is on. Effect: a suggestion the catalogue manager accepts or changes.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_ai_suggest_details__if__Task_ai_suggest_details</bpmn:incoming>
<bpmn:outgoing>Flow_Task_ai_suggest_details__Gateway_ai_suggest_details__if_end</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:userTask id="Task_generate_variants" name="Generate the variants of a template" dodil:step="generate_variants">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From none to draft. When: a template with at least one attribute and its values. Effect: one draft product per missing combination; existing ones untouched.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_product_none__if__Task_generate_variants</bpmn:incoming>
<bpmn:outgoing>Flow_Task_generate_variants__Gateway_change_product_type__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_set_units" name="Set the base unit and the other units" dodil:step="set_units">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From draft to draft. When: every unit converts exactly to the base unit; every role names one of the product's units. Effect: the roles chosen (sales, purchase, issue, production, warehouse, delivery); packaging levels, their GTINs (one main per unit), weights, volumes and dimensions.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_set_units__if__Task_set_units</bpmn:incoming>
<bpmn:outgoing>Flow_Task_set_units__Gateway_set_units__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_complete_product" name="Complete unit, category, tax category and billing" dodil:step="complete_product">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From draft to draft.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_set_units__if_end__Task_complete_product</bpmn:incoming>
<bpmn:outgoing>Flow_Task_complete_product__Gateway_classify_product__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_classify_product" name="Classify the product" dodil:step="classify_product">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From draft to draft. When: each value allowed by its characteristic (list, number with a unit of the right kind, date). Effect: class assignments and dated characteristic values; searchable by them.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_classify_product__if__Task_classify_product</bpmn:incoming>
<bpmn:outgoing>Flow_Task_classify_product__Gateway_classify_product__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_activate_product" name="Activate the product" dodil:step="activate_product">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From draft to active. When: readiness: units_complete, type_requirements (the roles and fields its type asks for, v3), class_complete (every required characteristic of its classes, v3); tax category, billing type and invoicing policy set. Effect: offered to sales (where its type is sellable) and to purchasing (where purchasable).</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_classify_product__if_end__Task_activate_product</bpmn:incoming>
<bpmn:outgoing>Flow_Task_activate_product__Gateway_add_unit__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_add_unit" name="Add a unit or a pack size" dodil:step="add_unit">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From active to active. When: a new unit code with an exact conversion; a conversion already used is never changed. Effect: the new unit can be bought, sold or issued from now.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_add_unit__if__Task_add_unit</bpmn:incoming>
<bpmn:outgoing>Flow_Task_add_unit__Gateway_add_unit__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_add_gtin" name="Add or retire a barcode on a unit" dodil:step="add_gtin">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From active to active. When: a valid GS1 check digit; the GTIN on no other product or unit, retired ones included; on a template only while it has one product. Effect: one main GTIN per unit, the others additional, on the SKU (or a one-product template); a retired GTIN still names its unit on old documents.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_add_gtin__if__Task_add_gtin</bpmn:incoming>
<bpmn:outgoing>Flow_Task_add_gtin__Gateway_add_gtin__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_set_measures" name="Record or correct weights" dodil:step="set_measures">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From active to active. When: net weight not above gross; each measure's unit of the right kind (mass, volume, length); valid_from today or later (v3); a row for today is replaced only while no document has copied it. Effect: a dated prod_unit_measure row per one of the unit, on the template (inherited) or the SKU (its own row wins); never frozen by use (v3): documents keep the copy they took.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_set_measures__if__Task_set_measures</bpmn:incoming>
<bpmn:outgoing>Flow_Task_set_measures__Gateway_set_measures__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_set_rounding" name="Set a role's unit" dodil:step="set_rounding">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From active to active. When: the role's unit or another unit of the product; starts after today. Effect: a dated unit_role row on the template (inherited) or the SKU (its own row wins); purchasing and sales-order gate on it from its valid_from; a used row is never edited.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_set_rounding__if__Task_set_rounding</bpmn:incoming>
<bpmn:outgoing>Flow_Task_set_rounding__Gateway_set_rounding__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_reclassify_product" name="Change a classification value" dodil:step="reclassify_product">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From active to active. When: the value allowed; valid_from today or later. Effect: a new dated value row; search answers by the value in force on the date asked.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_reclassify_product__if__Task_reclassify_product</bpmn:incoming>
<bpmn:outgoing>Flow_Task_reclassify_product__Gateway_reclassify_product__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_set_site_data" name="Set the product's data for a site" dodil:step="set_site_data">
<bpmn:documentation>By: Whoever plans stock per site (the buyer, the warehouse manager). From active to active. When: readiness: site_row_after_today, site_quantities_consistent (safety stock <= reorder point <= max), supplier_site_valid (a transfer names another site of the same company), not_reserved_m7 (no make, no mrp). Effect: a dated prod_site row; inventory plans from it and sales-order and purchasing read its site status from its valid_from.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_set_site_data__if__Task_set_site_data</bpmn:incoming>
<bpmn:outgoing>Flow_Task_set_site_data__Gateway_set_site_data__if_end</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_rename_product" name="Change name or description" dodil:step="rename_product">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From active to active. Effect: documents already raised keep their copy.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_set_site_data__if_end__Task_rename_product</bpmn:incoming>
<bpmn:outgoing>Flow_Task_rename_product__Task_archive_product</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_archive_product" name="Archive the product" dodil:step="archive_product">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From active to archived. Effect: no new lines; existing documents unchanged.</bpmn:documentation>
<bpmn:incoming>Flow_Task_rename_product__Task_archive_product</bpmn:incoming>
<bpmn:outgoing>Flow_Task_archive_product__Gateway_product_archived__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="Task_reactivate_product" name="Reactivate the product" dodil:step="reactivate_product">
<bpmn:documentation>By: Whoever keeps the product list (operations, the owner). From archived to active. Requires: reason.</bpmn:documentation>
<bpmn:incoming>Flow_Gateway_product_archived__if__Task_reactivate_product</bpmn:incoming>
<bpmn:outgoing>Flow_Task_reactivate_product__Gateway_add_unit__if</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="Gateway_product_none__if" name="New product?">
<bpmn:incoming>Flow_Start_product__Gateway_product_none__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_product_none__if__Task_add_product</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_product_none__if__Task_generate_variants</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_change_product_type__if" name="readiness: type_unused (no document or stock has used any unit of the product)?">
<bpmn:incoming>Flow_Task_add_product__Gateway_change_product_type__if</bpmn:incoming>
<bpmn:incoming>Flow_Task_generate_variants__Gateway_change_product_type__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_change_product_type__if__Task_change_product_type</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_change_product_type__if__Gateway_change_product_type__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_change_product_type__if_end">
<bpmn:incoming>Flow_Gateway_change_product_type__if__Gateway_change_product_type__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_change_product_type__Gateway_change_product_type__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_change_product_type__if_end__Gateway_ai_check_duplicate__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_ai_check_duplicate__if" name="the duplicate check is on?">
<bpmn:incoming>Flow_Gateway_change_product_type__if_end__Gateway_ai_check_duplicate__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_ai_check_duplicate__if__Task_ai_check_duplicate</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_ai_check_duplicate__if__Gateway_ai_check_duplicate__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_ai_check_duplicate__if_end">
<bpmn:incoming>Flow_Gateway_ai_check_duplicate__if__Gateway_ai_check_duplicate__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_ai_check_duplicate__Gateway_ai_check_duplicate__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_ai_check_duplicate__if_end__Gateway_ai_suggest_details__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_ai_suggest_details__if" name="the field is empty and the step is on?">
<bpmn:incoming>Flow_Gateway_ai_check_duplicate__if_end__Gateway_ai_suggest_details__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_ai_suggest_details__if__Task_ai_suggest_details</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_ai_suggest_details__if__Gateway_ai_suggest_details__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_ai_suggest_details__if_end">
<bpmn:incoming>Flow_Gateway_ai_suggest_details__if__Gateway_ai_suggest_details__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_ai_suggest_details__Gateway_ai_suggest_details__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_ai_suggest_details__if_end__Gateway_set_units__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_set_units__if" name="every unit converts exactly to the base unit; every role names one of the product's units?">
<bpmn:incoming>Flow_Gateway_ai_suggest_details__if_end__Gateway_set_units__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_set_units__if__Task_set_units</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_set_units__if__Gateway_set_units__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_set_units__if_end">
<bpmn:incoming>Flow_Gateway_set_units__if__Gateway_set_units__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_set_units__Gateway_set_units__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_set_units__if_end__Task_complete_product</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_classify_product__if" name="each value allowed by its characteristic (list, number with a unit of the right kind, date)?">
<bpmn:incoming>Flow_Task_complete_product__Gateway_classify_product__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_classify_product__if__Task_classify_product</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_classify_product__if__Gateway_classify_product__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_classify_product__if_end">
<bpmn:incoming>Flow_Gateway_classify_product__if__Gateway_classify_product__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_classify_product__Gateway_classify_product__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_classify_product__if_end__Task_activate_product</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_add_unit__if" name="a new unit code with an exact conversion; a conversion already used is never changed?">
<bpmn:incoming>Flow_Task_activate_product__Gateway_add_unit__if</bpmn:incoming>
<bpmn:incoming>Flow_Task_reactivate_product__Gateway_add_unit__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_add_unit__if__Task_add_unit</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_add_unit__if__Gateway_add_unit__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_add_unit__if_end">
<bpmn:incoming>Flow_Gateway_add_unit__if__Gateway_add_unit__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_add_unit__Gateway_add_unit__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_add_unit__if_end__Gateway_add_gtin__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_add_gtin__if" name="a valid GS1 check digit; the GTIN on no other product or unit, retired ones included; on a template only while it has one product?">
<bpmn:incoming>Flow_Gateway_add_unit__if_end__Gateway_add_gtin__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_add_gtin__if__Task_add_gtin</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_add_gtin__if__Gateway_add_gtin__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_add_gtin__if_end">
<bpmn:incoming>Flow_Gateway_add_gtin__if__Gateway_add_gtin__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_add_gtin__Gateway_add_gtin__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_add_gtin__if_end__Gateway_set_measures__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_set_measures__if" name="net weight not above gross; each measure's unit of the right kind (mass, volume, length); valid_from today or later (v3); a row for today is replaced only while no document has copied it?">
<bpmn:incoming>Flow_Gateway_add_gtin__if_end__Gateway_set_measures__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_set_measures__if__Task_set_measures</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_set_measures__if__Gateway_set_measures__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_set_measures__if_end">
<bpmn:incoming>Flow_Gateway_set_measures__if__Gateway_set_measures__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_set_measures__Gateway_set_measures__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_set_measures__if_end__Gateway_set_rounding__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_set_rounding__if" name="the role's unit or another unit of the product; starts after today?">
<bpmn:incoming>Flow_Gateway_set_measures__if_end__Gateway_set_rounding__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_set_rounding__if__Task_set_rounding</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_set_rounding__if__Gateway_set_rounding__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_set_rounding__if_end">
<bpmn:incoming>Flow_Gateway_set_rounding__if__Gateway_set_rounding__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_set_rounding__Gateway_set_rounding__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_set_rounding__if_end__Gateway_reclassify_product__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_reclassify_product__if" name="the value allowed; valid_from today or later?">
<bpmn:incoming>Flow_Gateway_set_rounding__if_end__Gateway_reclassify_product__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_reclassify_product__if__Task_reclassify_product</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_reclassify_product__if__Gateway_reclassify_product__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_reclassify_product__if_end">
<bpmn:incoming>Flow_Gateway_reclassify_product__if__Gateway_reclassify_product__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_reclassify_product__Gateway_reclassify_product__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_reclassify_product__if_end__Gateway_set_site_data__if</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_set_site_data__if" name="readiness: site_row_after_today, site_quantities_consistent (safety stock <= reorder point <= max), supplier_site_valid (a transfer names another site of the same company), not_reserved_m7 (no make, no mrp)?">
<bpmn:incoming>Flow_Gateway_reclassify_product__if_end__Gateway_set_site_data__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_set_site_data__if__Task_set_site_data</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_set_site_data__if__Gateway_set_site_data__if_end</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_set_site_data__if_end">
<bpmn:incoming>Flow_Gateway_set_site_data__if__Gateway_set_site_data__if_end</bpmn:incoming>
<bpmn:incoming>Flow_Task_set_site_data__Gateway_set_site_data__if_end</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_set_site_data__if_end__Task_rename_product</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:exclusiveGateway id="Gateway_product_archived__if" name="Product archived: done, or go on?">
<bpmn:incoming>Flow_Task_archive_product__Gateway_product_archived__if</bpmn:incoming>
<bpmn:outgoing>Flow_Gateway_product_archived__if__Task_reactivate_product</bpmn:outgoing>
<bpmn:outgoing>Flow_Gateway_product_archived__if__End_product_archived</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="End_product_archived" name="Product archived">
<bpmn:incoming>Flow_Gateway_product_archived__if__End_product_archived</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_Gateway_product_none__if__Task_add_product" sourceRef="Gateway_product_none__if" targetRef="Task_add_product" />
<bpmn:sequenceFlow id="Flow_Gateway_product_none__if__Task_generate_variants" sourceRef="Gateway_product_none__if" targetRef="Task_generate_variants" />
<bpmn:sequenceFlow id="Flow_Start_product__Gateway_product_none__if" sourceRef="Start_product" targetRef="Gateway_product_none__if" />
<bpmn:sequenceFlow id="Flow_Gateway_change_product_type__if__Task_change_product_type" name="readiness: type_unused (no document or stock has used any unit of the product)" sourceRef="Gateway_change_product_type__if" targetRef="Task_change_product_type" />
<bpmn:sequenceFlow id="Flow_Gateway_change_product_type__if__Gateway_change_product_type__if_end" name="otherwise" sourceRef="Gateway_change_product_type__if" targetRef="Gateway_change_product_type__if_end" />
<bpmn:sequenceFlow id="Flow_Task_change_product_type__Gateway_change_product_type__if_end" sourceRef="Task_change_product_type" targetRef="Gateway_change_product_type__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_check_duplicate__if__Task_ai_check_duplicate" name="the duplicate check is on" sourceRef="Gateway_ai_check_duplicate__if" targetRef="Task_ai_check_duplicate" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_check_duplicate__if__Gateway_ai_check_duplicate__if_end" name="otherwise" sourceRef="Gateway_ai_check_duplicate__if" targetRef="Gateway_ai_check_duplicate__if_end" />
<bpmn:sequenceFlow id="Flow_Task_ai_check_duplicate__Gateway_ai_check_duplicate__if_end" sourceRef="Task_ai_check_duplicate" targetRef="Gateway_ai_check_duplicate__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_suggest_details__if__Task_ai_suggest_details" name="the field is empty and the step is on" sourceRef="Gateway_ai_suggest_details__if" targetRef="Task_ai_suggest_details" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_suggest_details__if__Gateway_ai_suggest_details__if_end" name="otherwise" sourceRef="Gateway_ai_suggest_details__if" targetRef="Gateway_ai_suggest_details__if_end" />
<bpmn:sequenceFlow id="Flow_Task_ai_suggest_details__Gateway_ai_suggest_details__if_end" sourceRef="Task_ai_suggest_details" targetRef="Gateway_ai_suggest_details__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_set_units__if__Task_set_units" name="every unit converts exactly to the base unit; every role names one of the product's units" sourceRef="Gateway_set_units__if" targetRef="Task_set_units" />
<bpmn:sequenceFlow id="Flow_Gateway_set_units__if__Gateway_set_units__if_end" name="otherwise" sourceRef="Gateway_set_units__if" targetRef="Gateway_set_units__if_end" />
<bpmn:sequenceFlow id="Flow_Task_set_units__Gateway_set_units__if_end" sourceRef="Task_set_units" targetRef="Gateway_set_units__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_classify_product__if__Task_classify_product" name="each value allowed by its characteristic (list, number with a unit of the right kind, date)" sourceRef="Gateway_classify_product__if" targetRef="Task_classify_product" />
<bpmn:sequenceFlow id="Flow_Gateway_classify_product__if__Gateway_classify_product__if_end" name="otherwise" sourceRef="Gateway_classify_product__if" targetRef="Gateway_classify_product__if_end" />
<bpmn:sequenceFlow id="Flow_Task_classify_product__Gateway_classify_product__if_end" sourceRef="Task_classify_product" targetRef="Gateway_classify_product__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_change_product_type__if_end__Gateway_ai_check_duplicate__if" sourceRef="Gateway_change_product_type__if_end" targetRef="Gateway_ai_check_duplicate__if" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_check_duplicate__if_end__Gateway_ai_suggest_details__if" sourceRef="Gateway_ai_check_duplicate__if_end" targetRef="Gateway_ai_suggest_details__if" />
<bpmn:sequenceFlow id="Flow_Gateway_ai_suggest_details__if_end__Gateway_set_units__if" sourceRef="Gateway_ai_suggest_details__if_end" targetRef="Gateway_set_units__if" />
<bpmn:sequenceFlow id="Flow_Gateway_set_units__if_end__Task_complete_product" sourceRef="Gateway_set_units__if_end" targetRef="Task_complete_product" />
<bpmn:sequenceFlow id="Flow_Task_complete_product__Gateway_classify_product__if" sourceRef="Task_complete_product" targetRef="Gateway_classify_product__if" />
<bpmn:sequenceFlow id="Flow_Gateway_classify_product__if_end__Task_activate_product" sourceRef="Gateway_classify_product__if_end" targetRef="Task_activate_product" />
<bpmn:sequenceFlow id="Flow_Task_add_product__Gateway_change_product_type__if" sourceRef="Task_add_product" targetRef="Gateway_change_product_type__if" />
<bpmn:sequenceFlow id="Flow_Task_generate_variants__Gateway_change_product_type__if" sourceRef="Task_generate_variants" targetRef="Gateway_change_product_type__if" />
<bpmn:sequenceFlow id="Flow_Gateway_add_unit__if__Task_add_unit" name="a new unit code with an exact conversion; a conversion already used is never changed" sourceRef="Gateway_add_unit__if" targetRef="Task_add_unit" />
<bpmn:sequenceFlow id="Flow_Gateway_add_unit__if__Gateway_add_unit__if_end" name="otherwise" sourceRef="Gateway_add_unit__if" targetRef="Gateway_add_unit__if_end" />
<bpmn:sequenceFlow id="Flow_Task_add_unit__Gateway_add_unit__if_end" sourceRef="Task_add_unit" targetRef="Gateway_add_unit__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_add_gtin__if__Task_add_gtin" name="a valid GS1 check digit; the GTIN on no other product or unit, retired ones included; on a template only while it has one product" sourceRef="Gateway_add_gtin__if" targetRef="Task_add_gtin" />
<bpmn:sequenceFlow id="Flow_Gateway_add_gtin__if__Gateway_add_gtin__if_end" name="otherwise" sourceRef="Gateway_add_gtin__if" targetRef="Gateway_add_gtin__if_end" />
<bpmn:sequenceFlow id="Flow_Task_add_gtin__Gateway_add_gtin__if_end" sourceRef="Task_add_gtin" targetRef="Gateway_add_gtin__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_set_measures__if__Task_set_measures" name="net weight not above gross; each measure's unit of the right kind (mass, volume, length); valid_from today or later (v3); a row for today is replaced only while no document has copied it" sourceRef="Gateway_set_measures__if" targetRef="Task_set_measures" />
<bpmn:sequenceFlow id="Flow_Gateway_set_measures__if__Gateway_set_measures__if_end" name="otherwise" sourceRef="Gateway_set_measures__if" targetRef="Gateway_set_measures__if_end" />
<bpmn:sequenceFlow id="Flow_Task_set_measures__Gateway_set_measures__if_end" sourceRef="Task_set_measures" targetRef="Gateway_set_measures__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_set_rounding__if__Task_set_rounding" name="the role's unit or another unit of the product; starts after today" sourceRef="Gateway_set_rounding__if" targetRef="Task_set_rounding" />
<bpmn:sequenceFlow id="Flow_Gateway_set_rounding__if__Gateway_set_rounding__if_end" name="otherwise" sourceRef="Gateway_set_rounding__if" targetRef="Gateway_set_rounding__if_end" />
<bpmn:sequenceFlow id="Flow_Task_set_rounding__Gateway_set_rounding__if_end" sourceRef="Task_set_rounding" targetRef="Gateway_set_rounding__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_reclassify_product__if__Task_reclassify_product" name="the value allowed; valid_from today or later" sourceRef="Gateway_reclassify_product__if" targetRef="Task_reclassify_product" />
<bpmn:sequenceFlow id="Flow_Gateway_reclassify_product__if__Gateway_reclassify_product__if_end" name="otherwise" sourceRef="Gateway_reclassify_product__if" targetRef="Gateway_reclassify_product__if_end" />
<bpmn:sequenceFlow id="Flow_Task_reclassify_product__Gateway_reclassify_product__if_end" sourceRef="Task_reclassify_product" targetRef="Gateway_reclassify_product__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_set_site_data__if__Task_set_site_data" name="readiness: site_row_after_today, site_quantities_consistent (safety stock <= reorder point <= max), supplier_site_valid (a transfer names another site of the same company), not_reserved_m7 (no make, no mrp)" sourceRef="Gateway_set_site_data__if" targetRef="Task_set_site_data" />
<bpmn:sequenceFlow id="Flow_Gateway_set_site_data__if__Gateway_set_site_data__if_end" name="otherwise" sourceRef="Gateway_set_site_data__if" targetRef="Gateway_set_site_data__if_end" />
<bpmn:sequenceFlow id="Flow_Task_set_site_data__Gateway_set_site_data__if_end" sourceRef="Task_set_site_data" targetRef="Gateway_set_site_data__if_end" />
<bpmn:sequenceFlow id="Flow_Gateway_add_unit__if_end__Gateway_add_gtin__if" sourceRef="Gateway_add_unit__if_end" targetRef="Gateway_add_gtin__if" />
<bpmn:sequenceFlow id="Flow_Gateway_add_gtin__if_end__Gateway_set_measures__if" sourceRef="Gateway_add_gtin__if_end" targetRef="Gateway_set_measures__if" />
<bpmn:sequenceFlow id="Flow_Gateway_set_measures__if_end__Gateway_set_rounding__if" sourceRef="Gateway_set_measures__if_end" targetRef="Gateway_set_rounding__if" />
<bpmn:sequenceFlow id="Flow_Gateway_set_rounding__if_end__Gateway_reclassify_product__if" sourceRef="Gateway_set_rounding__if_end" targetRef="Gateway_reclassify_product__if" />
<bpmn:sequenceFlow id="Flow_Gateway_reclassify_product__if_end__Gateway_set_site_data__if" sourceRef="Gateway_reclassify_product__if_end" targetRef="Gateway_set_site_data__if" />
<bpmn:sequenceFlow id="Flow_Gateway_set_site_data__if_end__Task_rename_product" sourceRef="Gateway_set_site_data__if_end" targetRef="Task_rename_product" />
<bpmn:sequenceFlow id="Flow_Task_rename_product__Task_archive_product" sourceRef="Task_rename_product" targetRef="Task_archive_product" />
<bpmn:sequenceFlow id="Flow_Task_activate_product__Gateway_add_unit__if" sourceRef="Task_activate_product" targetRef="Gateway_add_unit__if" />
<bpmn:sequenceFlow id="Flow_Gateway_product_archived__if__Task_reactivate_product" sourceRef="Gateway_product_archived__if" targetRef="Task_reactivate_product" />
<bpmn:sequenceFlow id="Flow_Gateway_product_archived__if__End_product_archived" name="done" sourceRef="Gateway_product_archived__if" targetRef="End_product_archived" />
<bpmn:sequenceFlow id="Flow_Task_archive_product__Gateway_product_archived__if" sourceRef="Task_archive_product" targetRef="Gateway_product_archived__if" />
<bpmn:sequenceFlow id="Flow_Task_reactivate_product__Gateway_add_unit__if" sourceRef="Task_reactivate_product" targetRef="Gateway_add_unit__if" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_product_v3">
<bpmndi:BPMNPlane id="BPMNPlane_product_v3" bpmnElement="Collaboration_product_v3">
<bpmndi:BPMNShape id="Participant_product_product_di" bpmnElement="Participant_product_product" isHorizontal="true">
<dc:Bounds x="0" y="0" width="5380" height="780" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_product_catalogue_manager_di" bpmnElement="Lane_product_catalogue_manager" isHorizontal="true">
<dc:Bounds x="30" y="0" width="5350" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_product_system_di" bpmnElement="Lane_product_system" isHorizontal="true">
<dc:Bounds x="30" y="260" width="5350" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Lane_product_planner_di" bpmnElement="Lane_product_planner" isHorizontal="true">
<dc:Bounds x="30" y="520" width="5350" height="260" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Start_product_di" bpmnElement="Start_product">
<dc:Bounds x="157" y="42" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_add_product_di" bpmnElement="Task_add_product">
<dc:Bounds x="465" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_change_product_type_di" bpmnElement="Task_change_product_type">
<dc:Bounds x="805" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_ai_check_duplicate_di" bpmnElement="Task_ai_check_duplicate">
<dc:Bounds x="1145" y="280" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_ai_suggest_details_di" bpmnElement="Task_ai_suggest_details">
<dc:Bounds x="1485" y="280" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_generate_variants_di" bpmnElement="Task_generate_variants">
<dc:Bounds x="465" y="140" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_set_units_di" bpmnElement="Task_set_units">
<dc:Bounds x="1825" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_complete_product_di" bpmnElement="Task_complete_product">
<dc:Bounds x="1995" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_classify_product_di" bpmnElement="Task_classify_product">
<dc:Bounds x="2335" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_activate_product_di" bpmnElement="Task_activate_product">
<dc:Bounds x="2505" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_add_unit_di" bpmnElement="Task_add_unit">
<dc:Bounds x="2845" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_add_gtin_di" bpmnElement="Task_add_gtin">
<dc:Bounds x="3185" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_set_measures_di" bpmnElement="Task_set_measures">
<dc:Bounds x="3525" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_set_rounding_di" bpmnElement="Task_set_rounding">
<dc:Bounds x="3865" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_reclassify_product_di" bpmnElement="Task_reclassify_product">
<dc:Bounds x="4205" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_set_site_data_di" bpmnElement="Task_set_site_data">
<dc:Bounds x="4545" y="540" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_rename_product_di" bpmnElement="Task_rename_product">
<dc:Bounds x="4715" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_archive_product_di" bpmnElement="Task_archive_product">
<dc:Bounds x="4885" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_reactivate_product_di" bpmnElement="Task_reactivate_product">
<dc:Bounds x="5225" y="20" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_product_none__if_di" bpmnElement="Gateway_product_none__if">
<dc:Bounds x="320" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_change_product_type__if_di" bpmnElement="Gateway_change_product_type__if">
<dc:Bounds x="660" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_change_product_type__if_end_di" bpmnElement="Gateway_change_product_type__if_end">
<dc:Bounds x="830" y="155" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_ai_check_duplicate__if_di" bpmnElement="Gateway_ai_check_duplicate__if">
<dc:Bounds x="1000" y="295" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_ai_check_duplicate__if_end_di" bpmnElement="Gateway_ai_check_duplicate__if_end">
<dc:Bounds x="1170" y="415" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_ai_suggest_details__if_di" bpmnElement="Gateway_ai_suggest_details__if">
<dc:Bounds x="1340" y="295" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_ai_suggest_details__if_end_di" bpmnElement="Gateway_ai_suggest_details__if_end">
<dc:Bounds x="1510" y="415" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_set_units__if_di" bpmnElement="Gateway_set_units__if">
<dc:Bounds x="1680" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_set_units__if_end_di" bpmnElement="Gateway_set_units__if_end">
<dc:Bounds x="1850" y="155" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_classify_product__if_di" bpmnElement="Gateway_classify_product__if">
<dc:Bounds x="2190" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_classify_product__if_end_di" bpmnElement="Gateway_classify_product__if_end">
<dc:Bounds x="2360" y="155" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_add_unit__if_di" bpmnElement="Gateway_add_unit__if">
<dc:Bounds x="2700" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_add_unit__if_end_di" bpmnElement="Gateway_add_unit__if_end">
<dc:Bounds x="2870" y="155" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_add_gtin__if_di" bpmnElement="Gateway_add_gtin__if">
<dc:Bounds x="3040" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_add_gtin__if_end_di" bpmnElement="Gateway_add_gtin__if_end">
<dc:Bounds x="3210" y="155" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_set_measures__if_di" bpmnElement="Gateway_set_measures__if">
<dc:Bounds x="3380" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_set_measures__if_end_di" bpmnElement="Gateway_set_measures__if_end">
<dc:Bounds x="3550" y="155" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_set_rounding__if_di" bpmnElement="Gateway_set_rounding__if">
<dc:Bounds x="3720" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_set_rounding__if_end_di" bpmnElement="Gateway_set_rounding__if_end">
<dc:Bounds x="3890" y="155" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_reclassify_product__if_di" bpmnElement="Gateway_reclassify_product__if">
<dc:Bounds x="4060" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_reclassify_product__if_end_di" bpmnElement="Gateway_reclassify_product__if_end">
<dc:Bounds x="4230" y="155" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_set_site_data__if_di" bpmnElement="Gateway_set_site_data__if">
<dc:Bounds x="4400" y="555" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_set_site_data__if_end_di" bpmnElement="Gateway_set_site_data__if_end">
<dc:Bounds x="4570" y="675" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_product_archived__if_di" bpmnElement="Gateway_product_archived__if">
<dc:Bounds x="5080" y="35" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="End_product_archived_di" bpmnElement="End_product_archived">
<dc:Bounds x="5257" y="162" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_Gateway_product_none__if__Task_add_product_di" bpmnElement="Flow_Gateway_product_none__if__Task_add_product">
<di:waypoint x="370" y="60" />
<di:waypoint x="465" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_product_none__if__Task_generate_variants_di" bpmnElement="Flow_Gateway_product_none__if__Task_generate_variants">
<di:waypoint x="370" y="60" />
<di:waypoint x="440" y="60" />
<di:waypoint x="440" y="180" />
<di:waypoint x="465" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Start_product__Gateway_product_none__if_di" bpmnElement="Flow_Start_product__Gateway_product_none__if">
<di:waypoint x="193" y="60" />
<di:waypoint x="320" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_change_product_type__if__Task_change_product_type_di" bpmnElement="Flow_Gateway_change_product_type__if__Task_change_product_type">
<di:waypoint x="710" y="60" />
<di:waypoint x="805" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_change_product_type__if__Gateway_change_product_type__if_end_di" bpmnElement="Flow_Gateway_change_product_type__if__Gateway_change_product_type__if_end">
<di:waypoint x="710" y="60" />
<di:waypoint x="805" y="60" />
<di:waypoint x="805" y="180" />
<di:waypoint x="830" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_change_product_type__Gateway_change_product_type__if_end_di" bpmnElement="Flow_Task_change_product_type__Gateway_change_product_type__if_end">
<di:waypoint x="855" y="100" />
<di:waypoint x="855" y="220" />
<di:waypoint x="855" y="220" />
<di:waypoint x="855" y="205" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_check_duplicate__if__Task_ai_check_duplicate_di" bpmnElement="Flow_Gateway_ai_check_duplicate__if__Task_ai_check_duplicate">
<di:waypoint x="1050" y="320" />
<di:waypoint x="1145" y="320" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_check_duplicate__if__Gateway_ai_check_duplicate__if_end_di" bpmnElement="Flow_Gateway_ai_check_duplicate__if__Gateway_ai_check_duplicate__if_end">
<di:waypoint x="1050" y="320" />
<di:waypoint x="1145" y="320" />
<di:waypoint x="1145" y="440" />
<di:waypoint x="1170" y="440" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_ai_check_duplicate__Gateway_ai_check_duplicate__if_end_di" bpmnElement="Flow_Task_ai_check_duplicate__Gateway_ai_check_duplicate__if_end">
<di:waypoint x="1195" y="360" />
<di:waypoint x="1195" y="486" />
<di:waypoint x="1195" y="486" />
<di:waypoint x="1195" y="465" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_suggest_details__if__Task_ai_suggest_details_di" bpmnElement="Flow_Gateway_ai_suggest_details__if__Task_ai_suggest_details">
<di:waypoint x="1390" y="320" />
<di:waypoint x="1485" y="320" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_suggest_details__if__Gateway_ai_suggest_details__if_end_di" bpmnElement="Flow_Gateway_ai_suggest_details__if__Gateway_ai_suggest_details__if_end">
<di:waypoint x="1390" y="320" />
<di:waypoint x="1485" y="320" />
<di:waypoint x="1485" y="440" />
<di:waypoint x="1510" y="440" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_ai_suggest_details__Gateway_ai_suggest_details__if_end_di" bpmnElement="Flow_Task_ai_suggest_details__Gateway_ai_suggest_details__if_end">
<di:waypoint x="1535" y="360" />
<di:waypoint x="1535" y="492" />
<di:waypoint x="1535" y="492" />
<di:waypoint x="1535" y="465" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_units__if__Task_set_units_di" bpmnElement="Flow_Gateway_set_units__if__Task_set_units">
<di:waypoint x="1730" y="60" />
<di:waypoint x="1825" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_units__if__Gateway_set_units__if_end_di" bpmnElement="Flow_Gateway_set_units__if__Gateway_set_units__if_end">
<di:waypoint x="1730" y="60" />
<di:waypoint x="1825" y="60" />
<di:waypoint x="1825" y="180" />
<di:waypoint x="1850" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_set_units__Gateway_set_units__if_end_di" bpmnElement="Flow_Task_set_units__Gateway_set_units__if_end">
<di:waypoint x="1875" y="100" />
<di:waypoint x="1875" y="238" />
<di:waypoint x="1875" y="238" />
<di:waypoint x="1875" y="205" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_classify_product__if__Task_classify_product_di" bpmnElement="Flow_Gateway_classify_product__if__Task_classify_product">
<di:waypoint x="2240" y="60" />
<di:waypoint x="2335" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_classify_product__if__Gateway_classify_product__if_end_di" bpmnElement="Flow_Gateway_classify_product__if__Gateway_classify_product__if_end">
<di:waypoint x="2240" y="60" />
<di:waypoint x="2335" y="60" />
<di:waypoint x="2335" y="180" />
<di:waypoint x="2360" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_classify_product__Gateway_classify_product__if_end_di" bpmnElement="Flow_Task_classify_product__Gateway_classify_product__if_end">
<di:waypoint x="2385" y="100" />
<di:waypoint x="2385" y="220" />
<di:waypoint x="2385" y="220" />
<di:waypoint x="2385" y="205" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_change_product_type__if_end__Gateway_ai_check_duplicate__if_di" bpmnElement="Flow_Gateway_change_product_type__if_end__Gateway_ai_check_duplicate__if">
<di:waypoint x="880" y="180" />
<di:waypoint x="975" y="180" />
<di:waypoint x="975" y="320" />
<di:waypoint x="1000" y="320" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_check_duplicate__if_end__Gateway_ai_suggest_details__if_di" bpmnElement="Flow_Gateway_ai_check_duplicate__if_end__Gateway_ai_suggest_details__if">
<di:waypoint x="1220" y="440" />
<di:waypoint x="1315" y="440" />
<di:waypoint x="1315" y="320" />
<di:waypoint x="1340" y="320" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_ai_suggest_details__if_end__Gateway_set_units__if_di" bpmnElement="Flow_Gateway_ai_suggest_details__if_end__Gateway_set_units__if">
<di:waypoint x="1560" y="440" />
<di:waypoint x="1655" y="440" />
<di:waypoint x="1655" y="60" />
<di:waypoint x="1680" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_units__if_end__Task_complete_product_di" bpmnElement="Flow_Gateway_set_units__if_end__Task_complete_product">
<di:waypoint x="1900" y="180" />
<di:waypoint x="1970" y="180" />
<di:waypoint x="1970" y="60" />
<di:waypoint x="1995" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_complete_product__Gateway_classify_product__if_di" bpmnElement="Flow_Task_complete_product__Gateway_classify_product__if">
<di:waypoint x="2095" y="60" />
<di:waypoint x="2190" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_classify_product__if_end__Task_activate_product_di" bpmnElement="Flow_Gateway_classify_product__if_end__Task_activate_product">
<di:waypoint x="2410" y="180" />
<di:waypoint x="2480" y="180" />
<di:waypoint x="2480" y="60" />
<di:waypoint x="2505" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_add_product__Gateway_change_product_type__if_di" bpmnElement="Flow_Task_add_product__Gateway_change_product_type__if">
<di:waypoint x="565" y="60" />
<di:waypoint x="660" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_generate_variants__Gateway_change_product_type__if_di" bpmnElement="Flow_Task_generate_variants__Gateway_change_product_type__if">
<di:waypoint x="565" y="180" />
<di:waypoint x="635" y="180" />
<di:waypoint x="635" y="60" />
<di:waypoint x="660" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_add_unit__if__Task_add_unit_di" bpmnElement="Flow_Gateway_add_unit__if__Task_add_unit">
<di:waypoint x="2750" y="60" />
<di:waypoint x="2845" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_add_unit__if__Gateway_add_unit__if_end_di" bpmnElement="Flow_Gateway_add_unit__if__Gateway_add_unit__if_end">
<di:waypoint x="2750" y="60" />
<di:waypoint x="2845" y="60" />
<di:waypoint x="2845" y="180" />
<di:waypoint x="2870" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_add_unit__Gateway_add_unit__if_end_di" bpmnElement="Flow_Task_add_unit__Gateway_add_unit__if_end">
<di:waypoint x="2895" y="100" />
<di:waypoint x="2895" y="226" />
<di:waypoint x="2895" y="226" />
<di:waypoint x="2895" y="205" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_add_gtin__if__Task_add_gtin_di" bpmnElement="Flow_Gateway_add_gtin__if__Task_add_gtin">
<di:waypoint x="3090" y="60" />
<di:waypoint x="3185" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_add_gtin__if__Gateway_add_gtin__if_end_di" bpmnElement="Flow_Gateway_add_gtin__if__Gateway_add_gtin__if_end">
<di:waypoint x="3090" y="60" />
<di:waypoint x="3185" y="60" />
<di:waypoint x="3185" y="180" />
<di:waypoint x="3210" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_add_gtin__Gateway_add_gtin__if_end_di" bpmnElement="Flow_Task_add_gtin__Gateway_add_gtin__if_end">
<di:waypoint x="3235" y="100" />
<di:waypoint x="3235" y="232" />
<di:waypoint x="3235" y="232" />
<di:waypoint x="3235" y="205" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_measures__if__Task_set_measures_di" bpmnElement="Flow_Gateway_set_measures__if__Task_set_measures">
<di:waypoint x="3430" y="60" />
<di:waypoint x="3525" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_measures__if__Gateway_set_measures__if_end_di" bpmnElement="Flow_Gateway_set_measures__if__Gateway_set_measures__if_end">
<di:waypoint x="3430" y="60" />
<di:waypoint x="3525" y="60" />
<di:waypoint x="3525" y="180" />
<di:waypoint x="3550" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_set_measures__Gateway_set_measures__if_end_di" bpmnElement="Flow_Task_set_measures__Gateway_set_measures__if_end">
<di:waypoint x="3575" y="100" />
<di:waypoint x="3575" y="238" />
<di:waypoint x="3575" y="238" />
<di:waypoint x="3575" y="205" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_rounding__if__Task_set_rounding_di" bpmnElement="Flow_Gateway_set_rounding__if__Task_set_rounding">
<di:waypoint x="3770" y="60" />
<di:waypoint x="3865" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_rounding__if__Gateway_set_rounding__if_end_di" bpmnElement="Flow_Gateway_set_rounding__if__Gateway_set_rounding__if_end">
<di:waypoint x="3770" y="60" />
<di:waypoint x="3865" y="60" />
<di:waypoint x="3865" y="180" />
<di:waypoint x="3890" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_set_rounding__Gateway_set_rounding__if_end_di" bpmnElement="Flow_Task_set_rounding__Gateway_set_rounding__if_end">
<di:waypoint x="3915" y="100" />
<di:waypoint x="3915" y="220" />
<di:waypoint x="3915" y="220" />
<di:waypoint x="3915" y="205" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_reclassify_product__if__Task_reclassify_product_di" bpmnElement="Flow_Gateway_reclassify_product__if__Task_reclassify_product">
<di:waypoint x="4110" y="60" />
<di:waypoint x="4205" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_reclassify_product__if__Gateway_reclassify_product__if_end_di" bpmnElement="Flow_Gateway_reclassify_product__if__Gateway_reclassify_product__if_end">
<di:waypoint x="4110" y="60" />
<di:waypoint x="4205" y="60" />
<di:waypoint x="4205" y="180" />
<di:waypoint x="4230" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_reclassify_product__Gateway_reclassify_product__if_end_di" bpmnElement="Flow_Task_reclassify_product__Gateway_reclassify_product__if_end">
<di:waypoint x="4255" y="100" />
<di:waypoint x="4255" y="226" />
<di:waypoint x="4255" y="226" />
<di:waypoint x="4255" y="205" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_site_data__if__Task_set_site_data_di" bpmnElement="Flow_Gateway_set_site_data__if__Task_set_site_data">
<di:waypoint x="4450" y="580" />
<di:waypoint x="4545" y="580" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_site_data__if__Gateway_set_site_data__if_end_di" bpmnElement="Flow_Gateway_set_site_data__if__Gateway_set_site_data__if_end">
<di:waypoint x="4450" y="580" />
<di:waypoint x="4545" y="580" />
<di:waypoint x="4545" y="700" />
<di:waypoint x="4570" y="700" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_set_site_data__Gateway_set_site_data__if_end_di" bpmnElement="Flow_Task_set_site_data__Gateway_set_site_data__if_end">
<di:waypoint x="4595" y="620" />
<di:waypoint x="4595" y="752" />
<di:waypoint x="4595" y="752" />
<di:waypoint x="4595" y="725" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_add_unit__if_end__Gateway_add_gtin__if_di" bpmnElement="Flow_Gateway_add_unit__if_end__Gateway_add_gtin__if">
<di:waypoint x="2920" y="180" />
<di:waypoint x="3015" y="180" />
<di:waypoint x="3015" y="60" />
<di:waypoint x="3040" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_add_gtin__if_end__Gateway_set_measures__if_di" bpmnElement="Flow_Gateway_add_gtin__if_end__Gateway_set_measures__if">
<di:waypoint x="3260" y="180" />
<di:waypoint x="3355" y="180" />
<di:waypoint x="3355" y="60" />
<di:waypoint x="3380" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_measures__if_end__Gateway_set_rounding__if_di" bpmnElement="Flow_Gateway_set_measures__if_end__Gateway_set_rounding__if">
<di:waypoint x="3600" y="180" />
<di:waypoint x="3695" y="180" />
<di:waypoint x="3695" y="60" />
<di:waypoint x="3720" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_rounding__if_end__Gateway_reclassify_product__if_di" bpmnElement="Flow_Gateway_set_rounding__if_end__Gateway_reclassify_product__if">
<di:waypoint x="3940" y="180" />
<di:waypoint x="4035" y="180" />
<di:waypoint x="4035" y="60" />
<di:waypoint x="4060" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_reclassify_product__if_end__Gateway_set_site_data__if_di" bpmnElement="Flow_Gateway_reclassify_product__if_end__Gateway_set_site_data__if">
<di:waypoint x="4280" y="180" />
<di:waypoint x="4375" y="180" />
<di:waypoint x="4375" y="580" />
<di:waypoint x="4400" y="580" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_set_site_data__if_end__Task_rename_product_di" bpmnElement="Flow_Gateway_set_site_data__if_end__Task_rename_product">
<di:waypoint x="4620" y="700" />
<di:waypoint x="4690" y="700" />
<di:waypoint x="4690" y="60" />
<di:waypoint x="4715" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_rename_product__Task_archive_product_di" bpmnElement="Flow_Task_rename_product__Task_archive_product">
<di:waypoint x="4815" y="60" />
<di:waypoint x="4885" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_activate_product__Gateway_add_unit__if_di" bpmnElement="Flow_Task_activate_product__Gateway_add_unit__if">
<di:waypoint x="2605" y="60" />
<di:waypoint x="2700" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_product_archived__if__Task_reactivate_product_di" bpmnElement="Flow_Gateway_product_archived__if__Task_reactivate_product">
<di:waypoint x="5130" y="60" />
<di:waypoint x="5225" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Gateway_product_archived__if__End_product_archived_di" bpmnElement="Flow_Gateway_product_archived__if__End_product_archived">
<di:waypoint x="5130" y="60" />
<di:waypoint x="5232" y="60" />
<di:waypoint x="5232" y="180" />
<di:waypoint x="5257" y="180" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_archive_product__Gateway_product_archived__if_di" bpmnElement="Flow_Task_archive_product__Gateway_product_archived__if">
<di:waypoint x="4985" y="60" />
<di:waypoint x="5080" y="60" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Task_reactivate_product__Gateway_add_unit__if_di" bpmnElement="Flow_Task_reactivate_product__Gateway_add_unit__if">
<di:waypoint x="5275" y="100" />
<di:waypoint x="5275" y="133" />
<di:waypoint x="2725" y="133" />
<di:waypoint x="2725" y="85" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>