Change Order Workflow Reference
Overview
This document provides a complete reference for the Change Order Workflow Template YAML specification. The schema defines the structure and constraints for change order approval workflows in the Duro PLM system.
Schema Information
Schema Version: 1.0
Type: Object
JSON Schema Validation
The JSON Schema provides automated validation for your workflow templates. When editing YAML files, you can use this schema to:
Validate your templates before deployment to catch errors early
Get auto-completion in editors that support YAML Language Server
Ensure compliance with all required fields and constraints
To use the schema in your YAML files, add this comment at the top:
# yaml-language-server: $schema=https://phoenix-production.durohub.com/static/schemes/change-orders/schema.jsonMany editors (VS Code, IntelliJ, etc.) will then provide real-time validation and helpful suggestions as you write your workflow templates.
Root Level Properties
version
string
Yes
Schema version (e.g., "1.0")
description
string
Yes
Human-readable description (max 500 chars)
schema_type
string
Yes
Must be "change_order_scheme"
details
object
Yes
Custom field definitions
validations
array
No
Global validation rules
stages
object
Yes
Workflow stage configuration
Example Root Structure
Details Object
The details object contains custom field definitions organized in groups.
Structure
Group Properties
name
string
Yes
Display name (max 100 chars)
icon
string
No
Material Design Icon (format: mdi-icon-name)
description
string
No
Group description (max 500 chars)
fields
array
Yes
Array of field definitions
Field Definitions
Each field in a group has the following properties:
type
string
Yes
Field type (see Field Types section)
name
string
No
Programmatic name (pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$)
label
string
Yes
Display label (max 100 chars)
description
string
No
Help text (max 500 chars)
placeholder
string
No
Placeholder text (max 200 chars)
required
boolean
No
Deprecated - use validations.required
validations
object
No
Field validation rules
default
string
No
Default value (for enum fields)
options
array
Conditional
Required for list/enum types
multiSelect
boolean
No
Enable multi-selection (list type only)
Field Types
text
Single-line text input
-
longtext
Multi-line text area
-
number
Numeric input
validations.min, validations.max
date
Date picker
-
currency
Currency amount
validations.min, validations.max
enum
Single selection dropdown
options, default
list
Multiple selection
options, multiSelect
Field Validation Object
required
boolean
All types
Field is mandatory
min
integer
number, currency, text
Minimum value or length
max
integer
number, currency, text
Maximum value or length
pattern
string
text
Regex validation pattern
Options for List/Enum Fields
label
string
Yes
Display text (max 100 chars)
value
string
Yes
Stored value (max 100 chars)
description
string
No
Option help text (max 500 chars)
Validations Array
Global validation rules (currently reserved for future use).
id
string
Yes
Validation ID (pattern: ^\d+\.\d+$)
severity
string
Yes
One of: error, warn, info
Stages Object
Defines the workflow stages and their behavior.
Open Stages Array
Array of sequential review stages. Each stage has:
name
string
Yes
Stage name (max 100 chars)
types
array
Yes
Available approval types
default
string
Yes
Default approval type
minReviewers
integer
No
Minimum reviewers required
reviewers
object
No
Pre-assigned reviewers
notifyList
object
No
Notification recipients
Approval Types
Each stage must support one or more approval types:
Unanimous
All reviewers must approve
Majority
More than 50% must approve
Minimum
At least minReviewers must approve
Reviewers Object
User Reviewer Properties
id
string
One of id or email
User UUID (format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
email
string
One of id or email
User email address
isRequired
boolean
No
Must participate in review
isRequiredToApprove
boolean
No
Must approve for completion
Note: Each reviewer must have either id (UUID) or email, but not both. Use id when you have the user's UUID, or email for easier configuration.
Stage Actions (resolved, closed, onHold)
Resolution Types
AUTO_CLOSE
Automatically transition to closed
MANUAL_CLOSE
Require manual closure
Notification List
Note: For users in the notification list, use either id (UUID) or email, similar to reviewers.
Complete Example
Validation Rules
The schema enforces these validation rules:
Required Fields: All fields marked as required must have values
Pattern Matching: Field names must match
^[a-zA-Z_][a-zA-Z0-9_]*$Length Limits:
Descriptions: 500 characters
Labels/Names: 100 characters
Placeholders: 200 characters
Type Constraints:
List/Enum fields must have at least one option
Only list fields can use
multiSelect
Stage Requirements:
At least one open stage is required
Each stage must have a name, types array, and default type
Default type must be in the types array
Best Practices
Use Semantic Names: Choose descriptive names for fields and stages
Provide Descriptions: Help users understand field purposes
Set Appropriate Validations: Use min/max for numeric fields
Configure Notifications: Ensure stakeholders are informed
Test Workflows: Validate all paths through your workflow
Version Control: Track changes to workflow templates
Document Decisions: Use the description field to explain workflow design choices
Last updated
Was this helpful?