# OrderConstraintsType (Complex Type)

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

Constraint that defines the range of "orders" and relations when this assignment/inducement should be applied. Set of orderConstraint definitions are evaluated together. Each orderConstraint item specifies number (or number range) of assignment path elements with a given relation. Therefore assignment path containing one manager relation and two default relations should be specified by two orderConstraint items. First one specifying relation manager and order 1, the other specifying default relation and order 2 - even though the total "order" of the assignment path is three. This is rather counter-intuitive, but it is current implementation.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
order | property int | [0,1] | Exact order to match.
orderMin | property string | [0,1] | Minimum matching order.
orderMax | property string | [0,1] | Maximum matching order.
resetOrder | property int | [0,1] | The new value for order for this relation (or summary order), to be used when evaluating subsequent inducements.
relation | property QName | [0,1] | Relation to which the order constraints apply.

- ### Items

  - #### order

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Exact order to match. This is a short-hand for setting both orderMin and orderMax to the same value. Value of 0 (zero) means that no element with specified relation must appear in assignemnt path. NOTE: This is not matching actual "order", rather than number of elements of this relation in the assignment path. This is rather counter-intuitive, but it is current implementation.

  - #### orderMin

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Minimum matching order. Applicable only if "order" element is not set. Numeric value or string "unbounded". NOTE: This is not matching actual "order", rather than number of elements of this relation in the assignment path. This is rather counter-intuitive, but it is current implementation.

  - #### orderMax

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Maximum matching order. Applicable only if "order" element is not set. Numeric value or string "unbounded". NOTE: This is not matching actual "order", rather than number of elements of this relation in the assignment path. This is rather counter-intuitive, but it is current implementation.

  - #### resetOrder

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    The new value for order for this relation (or summary order), to be used when evaluating subsequent inducements.

  - #### relation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Relation to which the order constraints apply. If none present, summary (i.e. non-delegation) order is considered.