1
0

Initial template import

This commit is contained in:
ProcessGit Templates
2026-02-05 21:19:40 +00:00
commit 4a0294c0af
20 changed files with 1010 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
<?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:camunda="http://camunda.org/schema/1.0/bpmn"
id="Definitions_OrderFulfillment"
targetNamespace="http://bpmn.io/schema/bpmn">
<bpmn:process id="OrderFulfillmentProcess" name="Order Fulfillment Process" isExecutable="true">
<bpmn:startEvent id="StartEvent_OrderReceived" name="Order Received">
<bpmn:outgoing>Flow_ToValidateOrder</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_ToValidateOrder" sourceRef="StartEvent_OrderReceived" targetRef="Task_ValidateOrder"/>
<bpmn:userTask id="Task_ValidateOrder" name="Validate Order" camunda:assignee="order.validator">
<bpmn:incoming>Flow_ToValidateOrder</bpmn:incoming>
<bpmn:outgoing>Flow_ToCheckInventory</bpmn:outgoing>
</bpmn:userTask>
<bpmn:sequenceFlow id="Flow_ToCheckInventory" sourceRef="Task_ValidateOrder" targetRef="Task_CheckInventory"/>
<bpmn:serviceTask id="Task_CheckInventory" name="Check Inventory" camunda:type="external" camunda:topic="inventory-check">
<bpmn:incoming>Flow_ToCheckInventory</bpmn:incoming>
<bpmn:outgoing>Flow_ToInventoryGateway</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_ToInventoryGateway" sourceRef="Task_CheckInventory" targetRef="Gateway_InventoryAvailable"/>
<bpmn:exclusiveGateway id="Gateway_InventoryAvailable" name="Inventory Available?">
<bpmn:incoming>Flow_ToInventoryGateway</bpmn:incoming>
<bpmn:outgoing>Flow_ToPickPack</bpmn:outgoing>
<bpmn:outgoing>Flow_ToBackorder</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_ToPickPack" name="Yes" sourceRef="Gateway_InventoryAvailable" targetRef="Task_PickAndPack">
<bpmn:conditionExpression>#{inventoryAvailable == true}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="Flow_ToBackorder" name="No" sourceRef="Gateway_InventoryAvailable" targetRef="Task_CreateBackorder">
<bpmn:conditionExpression>#{inventoryAvailable == false}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:userTask id="Task_PickAndPack" name="Pick and Pack Items" camunda:assignee="warehouse.worker">
<bpmn:incoming>Flow_ToPickPack</bpmn:incoming>
<bpmn:outgoing>Flow_ToShipOrder</bpmn:outgoing>
</bpmn:userTask>
<bpmn:sequenceFlow id="Flow_ToShipOrder" sourceRef="Task_PickAndPack" targetRef="Task_ShipOrder"/>
<bpmn:serviceTask id="Task_ShipOrder" name="Ship Order" camunda:type="external" camunda:topic="shipping">
<bpmn:incoming>Flow_ToShipOrder</bpmn:incoming>
<bpmn:outgoing>Flow_ToOrderComplete</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_ToOrderComplete" sourceRef="Task_ShipOrder" targetRef="EndEvent_OrderComplete"/>
<bpmn:endEvent id="EndEvent_OrderComplete" name="Order Complete">
<bpmn:incoming>Flow_ToOrderComplete</bpmn:incoming>
</bpmn:endEvent>
<bpmn:serviceTask id="Task_CreateBackorder" name="Create Backorder" camunda:type="external" camunda:topic="backorder">
<bpmn:incoming>Flow_ToBackorder</bpmn:incoming>
<bpmn:outgoing>Flow_ToNotifyCustomer</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_ToNotifyCustomer" sourceRef="Task_CreateBackorder" targetRef="Task_NotifyCustomer"/>
<bpmn:sendTask id="Task_NotifyCustomer" name="Notify Customer" camunda:type="mail">
<bpmn:incoming>Flow_ToNotifyCustomer</bpmn:incoming>
<bpmn:outgoing>Flow_ToBackorderComplete</bpmn:outgoing>
</bpmn:sendTask>
<bpmn:sequenceFlow id="Flow_ToBackorderComplete" sourceRef="Task_NotifyCustomer" targetRef="EndEvent_BackorderCreated"/>
<bpmn:endEvent id="EndEvent_BackorderCreated" name="Backorder Created">
<bpmn:incoming>Flow_ToBackorderComplete</bpmn:incoming>
</bpmn:endEvent>
</bpmn:process>
</bpmn:definitions>

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<cmmn:definitions xmlns:cmmn="http://www.omg.org/spec/CMMN/20151109/MODEL"
xmlns:cmmndi="http://www.omg.org/spec/CMMN/20151109/CMMNDI"
xmlns:dc="http://www.omg.org/spec/CMMN/20151109/DC"
xmlns:di="http://www.omg.org/spec/CMMN/20151109/DI"
xmlns:camunda="http://camunda.org/schema/1.0/cmmn"
id="Definitions_OrderException"
targetNamespace="http://bpmn.io/schema/cmmn">
<cmmn:case id="Case_OrderExceptionHandling" name="Order Exception Handling">
<cmmn:casePlanModel id="CasePlanModel_OrderException" name="Order Exception Case">
<!-- Stage: Investigation -->
<cmmn:stage id="Stage_Investigation" name="Investigation">
<cmmn:planItem id="PlanItem_ReviewOrder" definitionRef="Task_ReviewOrder"/>
<cmmn:planItem id="PlanItem_ContactCustomer" definitionRef="Task_ContactCustomer"/>
<cmmn:planItem id="PlanItem_CheckInventory" definitionRef="Task_CheckInventory"/>
</cmmn:stage>
<!-- Stage: Resolution -->
<cmmn:stage id="Stage_Resolution" name="Resolution">
<cmmn:planItem id="PlanItem_DecideResolution" definitionRef="Task_DecideResolution"/>
<cmmn:planItem id="PlanItem_ProcessRefund" definitionRef="Task_ProcessRefund"/>
<cmmn:planItem id="PlanItem_ArrangeReplacement" definitionRef="Task_ArrangeReplacement"/>
<cmmn:planItem id="PlanItem_EscalateToManager" definitionRef="Task_EscalateToManager"/>
<cmmn:entryCriterion id="EntryCriterion_ResolutionStart" sentryRef="Sentry_InvestigationComplete"/>
</cmmn:stage>
<!-- Stage: Closure -->
<cmmn:stage id="Stage_Closure" name="Closure">
<cmmn:planItem id="PlanItem_NotifyCustomer" definitionRef="Task_NotifyCustomer"/>
<cmmn:planItem id="PlanItem_UpdateRecords" definitionRef="Task_UpdateRecords"/>
<cmmn:planItem id="PlanItem_CloseCase" definitionRef="Task_CloseCase"/>
<cmmn:entryCriterion id="EntryCriterion_ClosureStart" sentryRef="Sentry_ResolutionComplete"/>
</cmmn:stage>
<!-- Tasks -->
<cmmn:humanTask id="Task_ReviewOrder" name="Review Order Details" camunda:assignee="order.specialist"/>
<cmmn:humanTask id="Task_ContactCustomer" name="Contact Customer" camunda:assignee="customer.service"/>
<cmmn:humanTask id="Task_CheckInventory" name="Check Inventory Status" camunda:assignee="warehouse.manager"/>
<cmmn:humanTask id="Task_DecideResolution" name="Decide Resolution" camunda:assignee="order.specialist" isBlocking="true"/>
<cmmn:humanTask id="Task_ProcessRefund" name="Process Refund" camunda:assignee="finance.clerk"/>
<cmmn:humanTask id="Task_ArrangeReplacement" name="Arrange Replacement" camunda:assignee="order.specialist"/>
<cmmn:humanTask id="Task_EscalateToManager" name="Escalate to Manager" camunda:assignee="order.manager"/>
<cmmn:humanTask id="Task_NotifyCustomer" name="Notify Customer of Resolution" camunda:assignee="customer.service"/>
<cmmn:processTask id="Task_UpdateRecords" name="Update Records" camunda:processRef="UpdateRecordsProcess"/>
<cmmn:humanTask id="Task_CloseCase" name="Close Case" camunda:assignee="order.specialist"/>
<!-- Sentries -->
<cmmn:sentry id="Sentry_InvestigationComplete">
<cmmn:planItemOnPart id="OnPart_InvestigationComplete" sourceRef="PlanItem_ReviewOrder">
<cmmn:standardEvent>complete</cmmn:standardEvent>
</cmmn:planItemOnPart>
</cmmn:sentry>
<cmmn:sentry id="Sentry_ResolutionComplete">
<cmmn:planItemOnPart id="OnPart_ResolutionComplete" sourceRef="PlanItem_DecideResolution">
<cmmn:standardEvent>complete</cmmn:standardEvent>
</cmmn:planItemOnPart>
</cmmn:sentry>
<!-- Milestone -->
<cmmn:planItem id="PlanItem_ExceptionResolved" definitionRef="Milestone_ExceptionResolved">
<cmmn:entryCriterion id="EntryCriterion_MilestoneReached" sentryRef="Sentry_CaseComplete"/>
</cmmn:planItem>
<cmmn:milestone id="Milestone_ExceptionResolved" name="Exception Resolved"/>
<cmmn:sentry id="Sentry_CaseComplete">
<cmmn:planItemOnPart id="OnPart_CaseComplete" sourceRef="PlanItem_CloseCase">
<cmmn:standardEvent>complete</cmmn:standardEvent>
</cmmn:planItemOnPart>
</cmmn:sentry>
</cmmn:casePlanModel>
</cmmn:case>
<cmmndi:CMMNDI>
<cmmndi:CMMNDiagram id="CMMNDiagram_1">
<!-- Case Plan Model Container -->
<cmmndi:CMMNShape id="CasePlanModel_OrderException_di" cmmnElementRef="CasePlanModel_OrderException">
<dc:Bounds x="100" y="50" width="900" height="400"/>
</cmmndi:CMMNShape>
<!-- Stage: Investigation -->
<cmmndi:CMMNShape id="Stage_Investigation_di" cmmnElementRef="Stage_Investigation" isExpanded="true">
<dc:Bounds x="150" y="100" width="250" height="150"/>
</cmmndi:CMMNShape>
<!-- Stage: Resolution -->
<cmmndi:CMMNShape id="Stage_Resolution_di" cmmnElementRef="Stage_Resolution" isExpanded="true">
<dc:Bounds x="450" y="100" width="250" height="150"/>
</cmmndi:CMMNShape>
<!-- Stage: Closure -->
<cmmndi:CMMNShape id="Stage_Closure_di" cmmnElementRef="Stage_Closure" isExpanded="true">
<dc:Bounds x="750" y="100" width="200" height="150"/>
</cmmndi:CMMNShape>
<!-- Milestone -->
<cmmndi:CMMNShape id="PlanItem_ExceptionResolved_di" cmmnElementRef="PlanItem_ExceptionResolved">
<dc:Bounds x="850" y="320" width="100" height="80"/>
</cmmndi:CMMNShape>
<!-- Entry Criteria -->
<cmmndi:CMMNShape id="EntryCriterion_ResolutionStart_di" cmmnElementRef="EntryCriterion_ResolutionStart">
<dc:Bounds x="440" y="161" width="20" height="28"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="EntryCriterion_ClosureStart_di" cmmnElementRef="EntryCriterion_ClosureStart">
<dc:Bounds x="740" y="161" width="20" height="28"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="EntryCriterion_MilestoneReached_di" cmmnElementRef="EntryCriterion_MilestoneReached">
<dc:Bounds x="840" y="346" width="20" height="28"/>
</cmmndi:CMMNShape>
</cmmndi:CMMNDiagram>
</cmmndi:CMMNDI>
</cmmn:definitions>

View File

@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/"
xmlns:dmndi="https://www.omg.org/spec/DMN/20191111/DMNDI/"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
xmlns:camunda="http://camunda.org/schema/1.0/dmn"
id="Definitions_ShippingMethod"
name="Shipping Method Decisions"
namespace="http://camunda.org/schema/1.0/dmn">
<decision id="Decision_ShippingMethod" name="Determine Shipping Method">
<decisionTable id="DecisionTable_ShippingMethod" hitPolicy="FIRST">
<input id="Input_OrderValue" label="Order Value" camunda:inputVariable="orderValue">
<inputExpression id="InputExpression_OrderValue" typeRef="double">
<text>orderValue</text>
</inputExpression>
</input>
<input id="Input_CustomerTier" label="Customer Tier" camunda:inputVariable="customerTier">
<inputExpression id="InputExpression_CustomerTier" typeRef="string">
<text>customerTier</text>
</inputExpression>
</input>
<input id="Input_Destination" label="Destination" camunda:inputVariable="destination">
<inputExpression id="InputExpression_Destination" typeRef="string">
<text>destination</text>
</inputExpression>
</input>
<output id="Output_ShippingMethod" label="Shipping Method" name="shippingMethod" typeRef="string"/>
<output id="Output_ShippingCost" label="Shipping Cost" name="shippingCost" typeRef="double"/>
<!-- Rule 1: Premium customers, any value, any destination -> Express Free -->
<rule id="Rule_PremiumExpress">
<inputEntry id="InputEntry_R1_OrderValue">
<text></text>
</inputEntry>
<inputEntry id="InputEntry_R1_CustomerTier">
<text>"premium"</text>
</inputEntry>
<inputEntry id="InputEntry_R1_Destination">
<text></text>
</inputEntry>
<outputEntry id="OutputEntry_R1_Method">
<text>"express"</text>
</outputEntry>
<outputEntry id="OutputEntry_R1_Cost">
<text>0</text>
</outputEntry>
</rule>
<!-- Rule 2: High value orders (>500), standard customers, domestic -> Express -->
<rule id="Rule_HighValueExpress">
<inputEntry id="InputEntry_R2_OrderValue">
<text>&gt; 500</text>
</inputEntry>
<inputEntry id="InputEntry_R2_CustomerTier">
<text>"standard"</text>
</inputEntry>
<inputEntry id="InputEntry_R2_Destination">
<text>"domestic"</text>
</inputEntry>
<outputEntry id="OutputEntry_R2_Method">
<text>"express"</text>
</outputEntry>
<outputEntry id="OutputEntry_R2_Cost">
<text>15.00</text>
</outputEntry>
</rule>
<!-- Rule 3: Medium value orders (100-500), standard customers, domestic -> Standard -->
<rule id="Rule_MediumValueStandard">
<inputEntry id="InputEntry_R3_OrderValue">
<text>[100..500]</text>
</inputEntry>
<inputEntry id="InputEntry_R3_CustomerTier">
<text>"standard"</text>
</inputEntry>
<inputEntry id="InputEntry_R3_Destination">
<text>"domestic"</text>
</inputEntry>
<outputEntry id="OutputEntry_R3_Method">
<text>"standard"</text>
</outputEntry>
<outputEntry id="OutputEntry_R3_Cost">
<text>8.00</text>
</outputEntry>
</rule>
<!-- Rule 4: Low value orders (<100), any tier, domestic -> Economy -->
<rule id="Rule_LowValueEconomy">
<inputEntry id="InputEntry_R4_OrderValue">
<text>&lt; 100</text>
</inputEntry>
<inputEntry id="InputEntry_R4_CustomerTier">
<text></text>
</inputEntry>
<inputEntry id="InputEntry_R4_Destination">
<text>"domestic"</text>
</inputEntry>
<outputEntry id="OutputEntry_R4_Method">
<text>"economy"</text>
</outputEntry>
<outputEntry id="OutputEntry_R4_Cost">
<text>5.00</text>
</outputEntry>
</rule>
<!-- Rule 5: International orders -> International -->
<rule id="Rule_International">
<inputEntry id="InputEntry_R5_OrderValue">
<text></text>
</inputEntry>
<inputEntry id="InputEntry_R5_CustomerTier">
<text></text>
</inputEntry>
<inputEntry id="InputEntry_R5_Destination">
<text>"international"</text>
</inputEntry>
<outputEntry id="OutputEntry_R5_Method">
<text>"international"</text>
</outputEntry>
<outputEntry id="OutputEntry_R5_Cost">
<text>25.00</text>
</outputEntry>
</rule>
</decisionTable>
</decision>
</definitions>

View File

@@ -0,0 +1 @@
Notes placeholder for process 1.

View File

@@ -0,0 +1,11 @@
kind: uapf.metadata.lifecycle
status: draft
created: "2026-01-10T00:00:00Z"
last_modified: "2026-01-10T00:00:00Z"
version_history:
- version: 0.1.0
date: "2026-01-10T00:00:00Z"
changes: Initial template creation
author: "{{.RepoOwner}}"
next_review: "2026-04-10T00:00:00Z"
retirement_date: null

View File

@@ -0,0 +1,16 @@
kind: uapf.metadata.ownership
owner:
type: team
id: "{{.RepoOwner}}"
name: "{{.RepoOwner}} Team"
contact: "{{.RepoOwner}}@processgit.local"
stakeholders:
- type: team
id: operations
role: executor
- type: team
id: business-analysis
role: reviewer
governance:
approval_required: true
review_cycle: quarterly

View File

@@ -0,0 +1,13 @@
kind: uapf.resources.mapping
targets:
- id: placeholder.agent
type: ai_agent
name: Placeholder Agent
capabilities: []
- id: placeholder.human
type: human_role
name: Placeholder Human
- id: placeholder.system
type: system_api
name: Placeholder System
bindings: []

View File

@@ -0,0 +1,23 @@
kind: uapf.package
id: uapf.demo-process1
name: Order Fulfillment
description: Order fulfillment process
level: 4
version: 0.1.0
includes: []
cornerstones:
bpmn: true
dmn: true
cmmn: true
resources: true
paths:
bpmn: bpmn
dmn: dmn
cmmn: cmmn
resources: resources
metadata: metadata
owners:
- type: team
id: "{{.RepoOwner}}"
contact: "{{.RepoOwner}}@processgit.local"
lifecycle: draft