# ApprovalPolicyActionType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Supertype: PolicyActionType
Approval action. The operation will be suspended and the approval workflow will be started. If the workflow ends with success the operation will proceed. If the workflow ends with an error the operation will also end with an error.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property string | [0,1] | Name for the action.
description | property string | [0,1] | Free-form description (e.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
condition | property ExpressionType | [0,1] | When should this action be applied?
processSpecification | container WfProcessSpecificationType | [0,1] | TODO
compositionStrategy | container ApprovalCompositionStrategyType | [0,1] | How should be this approval policy action composed with other ones that might be related to the same item (object or assignment)?
approvalDisplayName | property LocalizableMessageTemplateType | [0,1] | Display name for this approval definition.
approverRelation | property QName | [0,-1] | What relation(s) to use when determining approvers? E.
approverRef | reference ObjectReferenceType | [0,-1] | Direct enumeration of the approvers to be used.
approverExpression | property ExpressionType | [0,-1] | Expression(s) that yield approvers to be used.
approvalSchema | container ApprovalSchemaType | [0,1] | More complex (multi-stages) approval schema.
approvalProcess | property string | [0,1] | Name of custom approval process.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Name for the action. It is used for logging and other diagnostic purposes.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Free-form description (e.g. comments about the action purpose)

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Technical documentation for a particular object or construct.

    The purpose of this element is to document system configuration and behavior. The documentation will not be presented to end users. In fact, it will probably not be presented at all in midPoint user interface. This documentation element is supposed to be a part of the technical documentation of midPoint deployment. The tools than generate deployment configuration will look for these elements and combine them to compiled documentation document.

    AsciiDoc formatting is assumed for this element. Any leading or trailing whitespace is skipped. Indentation equivalent to he indentation of the first non-blank line of text is also skipped.

  - #### condition

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    When should this action be applied?

  - #### processSpecification

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    TODO

  - #### compositionStrategy

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    How should be this approval policy action composed with other ones that might be related to the same item (object or assignment)?

  - #### approvalDisplayName

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Display name for this approval definition. If not specified, the name is derived from triggered constraints (short messages).

  - #### approverRelation

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    What relation(s) to use when determining approvers? E.g. "approver", "owner", "securityApprover", and so on.

  - #### approverRef

    Flags: RAM

    Multiplicity: [0,-1]

    Display order:

    Direct enumeration of the approvers to be used. May be used with approverRelation and approverExpression element(s).

  - #### approverExpression

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Display order:

    Expression(s) that yield approvers to be used. If specified, the expression(s) are evaluated and the result is used as a set of approvers (UserType, OrgType, RoleType, or any combination of them). May be used with approverRelation and approverRef element(s).

  - #### approvalSchema

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    More complex (multi-stages) approval schema.

  - #### approvalProcess

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Name of custom approval process.

    THIS PROPERTY (approvalProcess) IS NOT SUPPORTED YET.