setr.016.001.03
Scope An executing party, for example, a transfer agent, sends the OrderInstructionStatusReport to the instructing party, for example, an investment manager or its authorised representative to report the status of an order from the time the executing party receives the order until the time the order is executed. Usage The OrderInstructionStatusReport message is used to report on the status of a subscription, redemption or a switch order. The OrderInstructionStatusReport message may be used to give the status of:
- one order message by using OrderDetailsReport or,
- one or more individual order instructions by using IndividualOrderDetailsReport, or
- one or more switch orders by using SwitchOrderDetailsReport. If the OrderInstructionStatusReport message is used to report the status of an individual order, then IndividualOrderDetailsReport is used and the order reference of the individual order is quoted in OrderReference. The message identification of the message in which the individual order was conveyed may also be quoted in RelatedReference. If the OrderInstructionStatusReport message is used to report the status of a switch order, then SwitchOrderDetailsReport is used and the order reference of the switch order is quoted in OrderReference. The message identification of the message in which the switch order was conveyed may also be quoted in RelatedReference. If the OrderInstructionStatusReport message is used to report the status of an entire order message, for example, the SubscriptionBulkOrder, or a SubscriptionOrder containing several orders, then OrderDetailsReport is used and the message identification of the order message is quoted in RelatedReference. All the orders within the message must have the same status. One of the following statuses can be reported:
- an accepted status, or,
- an already executed status, or,
- a sent to next party status, or,
- a received status, or,
- a settled status, or,
- a communication problem with next party status, or,
- a confirmation amendment status, or,
- a done for the day status, or,
- a partially done status, or,
- an open status, or,
- a cancelled status, or
- a conditionally accepted status, or,
- a rejected status, or,
- a suspended status, or,
- a partially settled status, or,
- an in-repair status (only for an individual or switch order). For a switch order, the OrderInstructionStatusReport message provides the status of the whole switch order, that is, it is not possible to accept one leg and to reject the other leg: the entire switch order has to be rejected. In order to identify the legs within the switch that are causing the problem, the leg is identified in either the RedemptionLegIdentification or SubscriptionLegIdentification elements. When the OrderInstructionStatusReport is used to give the status of an individual or a switch order, the following can be specified:
- repaired conditions (for a switch, this is at the level of a leg),
- information related to the order, for example, settlement amount, number of units, expected trade date, etc.
Message Construction
Every ISO20022 message has at the highest level what we call ‘building blocks’. Because the message is constructed as immutable records, the association is by composition. Below you can see the relationship between the message and its constituent building blocks: For comparison, see the ISO20022 official specification
classDiagram direction LR %% OrderInstructionStatusReportV03 recursion level 0 with max 0 OrderInstructionStatusReportV03 *-- "1..1" MessageIdentification1 : MessageIdentification OrderInstructionStatusReportV03 *-- "0..2" AdditionalReference3 : OtherReference OrderInstructionStatusReportV03 *-- "0..2" AdditionalReference3 : RelatedReference OrderInstructionStatusReportV03 *-- "1..1" OrderStatusAndReason7 : OrderDetailsReport OrderInstructionStatusReportV03 *-- "1..1" IndividualOrderStatusAndReason2 : IndividualOrderDetailsReport OrderInstructionStatusReportV03 *-- "1..1" SwitchOrderStatusAndReason1 : SwitchOrderDetailsReport OrderInstructionStatusReportV03 *-- "0..1" Extension1 : Extension
Now, we will zero-in one-by-one on each of these building blocks.
MessageIdentification building block
Reference that uniquely identifies a message from a business application standpoint. Identifies a message by a unique identifier and the date and time when the message was created by the sender. For comparison, see the ISO20022 official specification
classDiagram direction tb %% MessageIdentification1 recursion level 0 with max 1 class MessageIdentification1{ Identification IsoMax35Text CreationDateTime IsoISODateTime }
MessageIdentification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Identification of the message. | IsoMax35Text - Required 1..1 |
CreationDateTime | Date of creation of the message. | IsoISODateTime - Required 1..1 |
OtherReference building block
Reference to a linked message sent in a proprietary way or reference of a system. References a related message or provides another reference, such as a pool reference, linking a set of messages. The party which issued the related reference may be the Sender of the referenced message or a party other than the Sender. For comparison, see the ISO20022 official specification
classDiagram direction tb %% AdditionalReference3 recursion level 0 with max 1 class AdditionalReference3{ Reference IsoMax35Text MessageName IsoMax35Text } AdditionalReference3 *-- "0..1" IPartyIdentification2Choice : ReferenceIssuer %% IPartyIdentification2Choice recursion level 1 with max 1
AdditionalReference3 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Reference | Business reference of a message assigned by the party issuing the message. This reference must be unique amongst all messages of the same name sent by the same party. | IsoMax35Text - Required 1..1 |
ReferenceIssuer | Issuer of the reference. | IPartyIdentification2Choice - Optional 0..1 |
MessageName | Name of a message. | IsoMax35Text - Optional 0..1 |
RelatedReference building block
Reference to a linked message that was previously received. References a related message or provides another reference, such as a pool reference, linking a set of messages. The party which issued the related reference may be the Sender of the referenced message or a party other than the Sender. For comparison, see the ISO20022 official specification
classDiagram direction tb %% AdditionalReference3 recursion level 0 with max 1 class AdditionalReference3{ Reference IsoMax35Text MessageName IsoMax35Text } AdditionalReference3 *-- "0..1" IPartyIdentification2Choice : ReferenceIssuer %% IPartyIdentification2Choice recursion level 1 with max 1
AdditionalReference3 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Reference | Business reference of a message assigned by the party issuing the message. This reference must be unique amongst all messages of the same name sent by the same party. | IsoMax35Text - Required 1..1 |
ReferenceIssuer | Issuer of the reference. | IPartyIdentification2Choice - Optional 0..1 |
MessageName | Name of a message. | IsoMax35Text - Optional 0..1 |
OrderDetailsReport building block
Status report details of all the individual orders conveyed in a bulk or multiple order message. Can be used if all the individual orders conveyed in a bulk or multiple order message have the same status. Status report of a bulk or multiple or switch order that was previously received. For comparison, see the ISO20022 official specification
classDiagram direction tb %% OrderStatusAndReason7 recursion level 0 with max 1 class OrderStatusAndReason7{ MasterReference IsoMax35Text Status OrderStatus4Code } OrderStatusAndReason7 *-- "1..1" CancelledStatus2 : Cancelled OrderStatusAndReason7 *-- "1..1" ConditionallyAcceptedStatus2 : ConditionallyAccepted OrderStatusAndReason7 *-- "1..10" RejectedStatus6 : Rejected OrderStatusAndReason7 *-- "1..1" SuspendedStatus2 : Suspended OrderStatusAndReason7 *-- "1..1" PartiallySettledStatus1 : PartiallySettled OrderStatusAndReason7 *-- "0..1" IPartyIdentification2Choice : StatusInitiator %% CancelledStatus2 recursion level 1 with max 1 class CancelledStatus2{ Reason CancelledStatusReason2Code ExtendedReason IsoExtended350Code NoSpecifiedReason NoReasonCode } CancelledStatus2 *-- "1..1" GenericIdentification1 : DataSourceScheme %% ConditionallyAcceptedStatus2 recursion level 1 with max 1 class ConditionallyAcceptedStatus2{ NoSpecifiedReason NoReasonCode } ConditionallyAcceptedStatus2 *-- "1..5" ConditionallyAcceptedStatusReason2 : ReasonDetails %% RejectedStatus6 recursion level 1 with max 1 class RejectedStatus6{ Reason RejectedStatusReason7Code ExtendedReason IsoExtended350Code AdditionalInformation IsoMax350Text } RejectedStatus6 *-- "1..1" GenericIdentification1 : DataSourceScheme %% SuspendedStatus2 recursion level 1 with max 1 class SuspendedStatus2{ NoSpecifiedReason NoReasonCode } SuspendedStatus2 *-- "1..5" SuspendedStatusReason2 : ReasonDetails %% PartiallySettledStatus1 recursion level 1 with max 1 class PartiallySettledStatus1{ Reason SettledStatusReason1Code ExtendedReason IsoExtended350Code AdditionalInformation IsoMax350Text } PartiallySettledStatus1 *-- "1..1" GenericIdentification1 : DataSourceScheme %% IPartyIdentification2Choice recursion level 1 with max 1
OrderStatusAndReason7 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
MasterReference | Reference assigned to a set of orders or trades in order to link them together. | IsoMax35Text - Optional 0..1 |
Status | Status of all the orders in the order message. There is no reason attached. | OrderStatus4Code - Required 1..1 |
Cancelled | Status of all the orders in the order message is cancelled. This status is used for orders that have been accepted or that have been entered in an order book but that can not be executed. | CancelledStatus2 - Required 1..1 |
ConditionallyAccepted | Status of all the orders in the order message is conditionally accepted. | ConditionallyAcceptedStatus2 - Required 1..1 |
Rejected | Status of all the orders in the order message is rejected. This status is used for orders that have not been accepted or entered in an order book. | RejectedStatus6 - Collection 1..10 |
Suspended | Status of all the orders in the order message is suspended. | SuspendedStatus2 - Required 1..1 |
PartiallySettled | Status of all the orders in the order message is partially settled. | PartiallySettledStatus1 - Required 1..1 |
StatusInitiator | Party that initiates the status of the order. | IPartyIdentification2Choice - Optional 0..1 |
IndividualOrderDetailsReport building block
Status report details of an individual order. Status report of the individual orders of a bulk or multiple order that was previously received. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IndividualOrderStatusAndReason2 recursion level 0 with max 1 class IndividualOrderStatusAndReason2{ MasterReference IsoMax35Text OrderReference IsoMax35Text ClientReference IsoMax35Text DealReference IsoMax35Text CancellationReference IsoMax35Text Status OrderStatus4Code } IndividualOrderStatusAndReason2 *-- "1..1" CancelledStatus2 : Cancelled IndividualOrderStatusAndReason2 *-- "1..1" ConditionallyAcceptedStatus2 : ConditionallyAccepted IndividualOrderStatusAndReason2 *-- "1..10" RejectedStatus6 : Rejected IndividualOrderStatusAndReason2 *-- "1..1" SuspendedStatus2 : Suspended IndividualOrderStatusAndReason2 *-- "1..1" InRepairStatus2 : InRepair IndividualOrderStatusAndReason2 *-- "1..1" PartiallySettledStatus1 : PartiallySettled IndividualOrderStatusAndReason2 *-- "0..1" RepairedConditions3 : RepairedConditions IndividualOrderStatusAndReason2 *-- "0..1" IPartyIdentification2Choice : StatusInitiator IndividualOrderStatusAndReason2 *-- "0..1" FundOrderData1 : OrderData IndividualOrderStatusAndReason2 *-- "0..1" ExpectedExecutionDetails2 : NewDetails %% CancelledStatus2 recursion level 1 with max 1 class CancelledStatus2{ Reason CancelledStatusReason2Code ExtendedReason IsoExtended350Code NoSpecifiedReason NoReasonCode } CancelledStatus2 *-- "1..1" GenericIdentification1 : DataSourceScheme %% ConditionallyAcceptedStatus2 recursion level 1 with max 1 class ConditionallyAcceptedStatus2{ NoSpecifiedReason NoReasonCode } ConditionallyAcceptedStatus2 *-- "1..5" ConditionallyAcceptedStatusReason2 : ReasonDetails %% RejectedStatus6 recursion level 1 with max 1 class RejectedStatus6{ Reason RejectedStatusReason7Code ExtendedReason IsoExtended350Code AdditionalInformation IsoMax350Text } RejectedStatus6 *-- "1..1" GenericIdentification1 : DataSourceScheme %% SuspendedStatus2 recursion level 1 with max 1 class SuspendedStatus2{ NoSpecifiedReason NoReasonCode } SuspendedStatus2 *-- "1..5" SuspendedStatusReason2 : ReasonDetails %% InRepairStatus2 recursion level 1 with max 1 class InRepairStatus2{ NoSpecifiedReason NoReasonCode } InRepairStatus2 *-- "1..1" InRepairStatusReason3 : ReasonDetails %% PartiallySettledStatus1 recursion level 1 with max 1 class PartiallySettledStatus1{ Reason SettledStatusReason1Code ExtendedReason IsoExtended350Code AdditionalInformation IsoMax350Text } PartiallySettledStatus1 *-- "1..1" GenericIdentification1 : DataSourceScheme %% RepairedConditions3 recursion level 1 with max 1 RepairedConditions3 *-- "0..10" Charge19 : RepairedCharge RepairedConditions3 *-- "0..10" Commission11 : RepairedCommission %% IPartyIdentification2Choice recursion level 1 with max 1 %% FundOrderData1 recursion level 1 with max 1 class FundOrderData1{ NetAmount IsoActiveOrHistoricCurrencyAndAmount GrossAmount IsoActiveOrHistoricCurrencyAndAmount HoldingsRedemptionRate IsoPercentageRate SettlementAmount IsoActiveCurrencyAndAmount UnitCurrency ActiveOrHistoricCurrencyCode QuotedCurrency ActiveOrHistoricCurrencyCode } FundOrderData1 *-- "0..1" InvestmentAccount13 : InvestmentAccountDetails FundOrderData1 *-- "0..1" FinancialInstrument10 : FinancialInstrumentDetails FundOrderData1 *-- "0..1" FinancialInstrumentQuantity1 : UnitsNumber %% ExpectedExecutionDetails2 recursion level 1 with max 1 class ExpectedExecutionDetails2{ ExpectedCashSettlementDate IsoISODate } ExpectedExecutionDetails2 *-- "0..1" IDateAndDateTimeChoice : ExpectedTradeDateTime
IndividualOrderStatusAndReason2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
MasterReference | Reference assigned to a set of orders or trades in order to link them together. | IsoMax35Text - Optional 0..1 |
OrderReference | Unique and unambiguous identifier for an order, as assigned by the instructing party. | IsoMax35Text - Required 1..1 |
ClientReference | Unique and unambiguous investor’s identification of an order. This reference can typically be used in a hub scenario to give the reference of the order as assigned by the underlying client. | IsoMax35Text - Optional 0..1 |
DealReference | Unique and unambiguous identifier for an order execution, as assigned by a confirming party. | IsoMax35Text - Optional 0..1 |
CancellationReference | Unique and unambiguous identifier for an order cancellation, as assigned by the instructing party. | IsoMax35Text - Optional 0..1 |
Status | Status of the individual order is accepted or already executed or sent to next party or received. There is no reason attached. | OrderStatus4Code - Required 1..1 |
Cancelled | Status of the individual order is cancelled. This status is used for an order that has been accepted or that has been entered in an order book but that can not be executed. | CancelledStatus2 - Required 1..1 |
ConditionallyAccepted | Status of the individual order is conditionally accepted. | ConditionallyAcceptedStatus2 - Required 1..1 |
Rejected | Status of the individual order is rejected. This status is used for an order that has not been accepted or entered in an order book. | RejectedStatus6 - Collection 1..10 |
Suspended | Status of the individual order is suspended. | SuspendedStatus2 - Required 1..1 |
InRepair | Status of the individual order is in repair. | InRepairStatus2 - Required 1..1 |
PartiallySettled | Status of the individual order is partially settled. | PartiallySettledStatus1 - Required 1..1 |
RepairedConditions | Elements from the original individual order that have been repaired so that the order can be accepted. | RepairedConditions3 - Optional 0..1 |
StatusInitiator | Party that initiates the status of the order cancellation. | IPartyIdentification2Choice - Optional 0..1 |
OrderData | Order data. | FundOrderData1 - Optional 0..1 |
NewDetails | Information that has been added to the original order. | ExpectedExecutionDetails2 - Optional 0..1 |
SwitchOrderDetailsReport building block
Status report details of a switch order. Status report of the individual orders of a bulk or multiple order that was previously received. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SwitchOrderStatusAndReason1 recursion level 0 with max 1 class SwitchOrderStatusAndReason1{ MasterReference IsoMax35Text OrderReference IsoMax35Text ClientReference IsoMax35Text DealReference IsoMax35Text CancellationReference IsoMax35Text Status OrderStatus4Code } SwitchOrderStatusAndReason1 *-- "1..1" CancelledStatus2 : Cancelled SwitchOrderStatusAndReason1 *-- "1..1" ConditionallyAcceptedStatus2 : ConditionallyAccepted SwitchOrderStatusAndReason1 *-- "1..10" RejectedStatus6 : Rejected SwitchOrderStatusAndReason1 *-- "1..1" SuspendedStatus2 : Suspended SwitchOrderStatusAndReason1 *-- "1..1" InRepairStatus2 : InRepair SwitchOrderStatusAndReason1 *-- "1..1" PartiallySettledStatus1 : PartiallySettled SwitchOrderStatusAndReason1 *-- "0..0" SwitchLegReferences1 : LegInformation SwitchOrderStatusAndReason1 *-- "0..1" IPartyIdentification2Choice : StatusInitiator SwitchOrderStatusAndReason1 *-- "0..1" FundOrderData2 : OrderData SwitchOrderStatusAndReason1 *-- "0..1" ExpectedExecutionDetails2 : NewDetails %% CancelledStatus2 recursion level 1 with max 1 class CancelledStatus2{ Reason CancelledStatusReason2Code ExtendedReason IsoExtended350Code NoSpecifiedReason NoReasonCode } CancelledStatus2 *-- "1..1" GenericIdentification1 : DataSourceScheme %% ConditionallyAcceptedStatus2 recursion level 1 with max 1 class ConditionallyAcceptedStatus2{ NoSpecifiedReason NoReasonCode } ConditionallyAcceptedStatus2 *-- "1..5" ConditionallyAcceptedStatusReason2 : ReasonDetails %% RejectedStatus6 recursion level 1 with max 1 class RejectedStatus6{ Reason RejectedStatusReason7Code ExtendedReason IsoExtended350Code AdditionalInformation IsoMax350Text } RejectedStatus6 *-- "1..1" GenericIdentification1 : DataSourceScheme %% SuspendedStatus2 recursion level 1 with max 1 class SuspendedStatus2{ NoSpecifiedReason NoReasonCode } SuspendedStatus2 *-- "1..5" SuspendedStatusReason2 : ReasonDetails %% InRepairStatus2 recursion level 1 with max 1 class InRepairStatus2{ NoSpecifiedReason NoReasonCode } InRepairStatus2 *-- "1..1" InRepairStatusReason3 : ReasonDetails %% PartiallySettledStatus1 recursion level 1 with max 1 class PartiallySettledStatus1{ Reason SettledStatusReason1Code ExtendedReason IsoExtended350Code AdditionalInformation IsoMax350Text } PartiallySettledStatus1 *-- "1..1" GenericIdentification1 : DataSourceScheme %% SwitchLegReferences1 recursion level 1 with max 1 class SwitchLegReferences1{ RedemptionLegIdentification IsoMax35Text SubscriptionLegIdentification IsoMax35Text LegRejectionReason IsoMax350Text } SwitchLegReferences1 *-- "0..1" RepairedConditions3 : RepairedConditions SwitchLegReferences1 *-- "0..1" InvestmentAccount13 : InvestmentAccountDetails SwitchLegReferences1 *-- "0..1" FinancialInstrument10 : FinancialInstrumentDetails %% IPartyIdentification2Choice recursion level 1 with max 1 %% FundOrderData2 recursion level 1 with max 1 class FundOrderData2{ TotalRedemptionAmount IsoActiveOrHistoricCurrencyAndAmount TotalSubscriptionAmount IsoActiveOrHistoricCurrencyAndAmount SettlementAmount IsoActiveCurrencyAndAmount SettlementMethod DeliveryReceiptType2Code AdditionalCashIn IsoActiveOrHistoricCurrencyAndAmount ResultingCashOut IsoActiveOrHistoricCurrencyAndAmount UnitCurrency ActiveOrHistoricCurrencyCode QuotedCurrency ActiveOrHistoricCurrencyCode } %% ExpectedExecutionDetails2 recursion level 1 with max 1 class ExpectedExecutionDetails2{ ExpectedCashSettlementDate IsoISODate } ExpectedExecutionDetails2 *-- "0..1" IDateAndDateTimeChoice : ExpectedTradeDateTime
SwitchOrderStatusAndReason1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
MasterReference | Reference assigned to a set of orders or trades in order to link them together. | IsoMax35Text - Optional 0..1 |
OrderReference | Unique and unambiguous identifier for an order, as assigned by the instructing party. | IsoMax35Text - Required 1..1 |
ClientReference | Unique and unambiguous investor’s identification of an order. This reference can typically be used in a hub scenario to give the reference of the order as assigned by the underlying client. | IsoMax35Text - Optional 0..1 |
DealReference | Unique and unambiguous identifier for an order execution, as assigned by a confirming party. | IsoMax35Text - Optional 0..1 |
CancellationReference | Unique and unambiguous identifier for an order cancellation, as assigned by the instructing party. | IsoMax35Text - Optional 0..1 |
Status | Status of the switch order is accepted or already executed or sent to next party or received. There is no reason attached. | OrderStatus4Code - Required 1..1 |
Cancelled | Status of the switch order is cancelled. This status is used for an order that has been accepted or that has been entered in an order book but that can not be executed. | CancelledStatus2 - Required 1..1 |
ConditionallyAccepted | Status of the switch order is conditionally accepted. | ConditionallyAcceptedStatus2 - Required 1..1 |
Rejected | Status of the switch order is rejected. | RejectedStatus6 - Collection 1..10 |
Suspended | Status of the switch order is suspended. | SuspendedStatus2 - Required 1..1 |
InRepair | Status of the switch order is in repair. | InRepairStatus2 - Required 1..1 |
PartiallySettled | Status of the switch order is partially settled. | PartiallySettledStatus1 - Required 1..1 |
LegInformation | Information about a switch leg that is rejected or repaired. | SwitchLegReferences1 - Unknown 0..0 |
StatusInitiator | Party that initiates the status of the order. | IPartyIdentification2Choice - Optional 0..1 |
OrderData | Order data. | FundOrderData2 - Optional 0..1 |
NewDetails | Information that has been added to the original order. | ExpectedExecutionDetails2 - Optional 0..1 |
Extension building block
Additional information that cannot be captured in the structured elements and/or any other specific block. Additional information that can not be captured in the structured fields and/or any other specific block. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Extension1 recursion level 0 with max 1 class Extension1{ PlaceAndName IsoMax350Text Text IsoMax350Text }
Extension1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
PlaceAndName | Name qualifying the information provided in the Text field, and place where this information should be inserted. | IsoMax350Text - Required 1..1 |
Text | Text of the extension. | IsoMax350Text - Required 1..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the OrderInstructionStatusReportV03 implementation follows a specific implementaiton pattern. First of all, OrderInstructionStatusReportV03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, OrderInstructionStatusReportV03Document implements IOuterDocument. Because OrderInstructionStatusReportV03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type OrderInstructionStatusReportV03.
classDiagram class IOuterRecord OrderInstructionStatusReportV03 --|> IOuterRecord : Implements OrderInstructionStatusReportV03Document --|> IOuterDocument~OrderInstructionStatusReportV03~ : Implements class IOuterDocument~OrderInstructionStatusReportV03~ { OrderInstructionStatusReportV03 Message }
Document wrapper for serialization
The only real purpose OrderInstructionStatusReportV03Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:setr.016.001.03’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using OrderInstructionStatusReportV03.ToDocument() method. The returned OrderInstructionStatusReportV03Document value will serialize correctly according to ISO 20022 standards.
classDiagram OrderInstructionStatusReportV03Document *-- OrderInstructionStatusReportV03 : Document
Sample of message format
This is an abbreviated version of what the message should look like.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:setr.016.001.03">
<OrdrInstrStsRptV03>
<MsgId>
<!-- MessageIdentification inner content -->
</MsgId>
<OthrRef>
<!-- OtherReference inner content -->
</OthrRef>
<RltdRef>
<!-- RelatedReference inner content -->
</RltdRef>
<OrdrDtlsRpt>
<!-- OrderDetailsReport inner content -->
</OrdrDtlsRpt>
<IndvOrdrDtlsRpt>
<!-- IndividualOrderDetailsReport inner content -->
</IndvOrdrDtlsRpt>
<SwtchOrdrDtlsRpt>
<!-- SwitchOrderDetailsReport inner content -->
</SwtchOrdrDtlsRpt>
<Xtnsn>
<!-- Extension inner content -->
</Xtnsn>
</OrdrInstrStsRptV03>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_jk5cZdE7Ed-BzquC8wXy7w_-141988055"
nextVersions="_Aab7JTbLEead9bDRE_1DAQ"
previousVersion="_jH1s-NE7Ed-BzquC8wXy7w_1853868190"
name="OrderInstructionStatusReportV03"
definition="Scope
An executing party, for example, a transfer agent, sends the OrderInstructionStatusReport to the instructing party, for example, an investment manager or its authorised representative to report the status of an order from the time the executing party receives the order until the time the order is executed.
Usage
The OrderInstructionStatusReport message is used to report on the status of a subscription, redemption or a switch order.
The OrderInstructionStatusReport message may be used to give the status of:
- one order message by using OrderDetailsReport or,
- one or more individual order instructions by using IndividualOrderDetailsReport, or
- one or more switch orders by using SwitchOrderDetailsReport.
If the OrderInstructionStatusReport message is used to report the status of an individual order, then IndividualOrderDetailsReport is used and the order reference of the individual order is quoted in OrderReference. The message identification of the message in which the individual order was conveyed may also be quoted in RelatedReference.
If the OrderInstructionStatusReport message is used to report the status of a switch order, then SwitchOrderDetailsReport is used and the order reference of the switch order is quoted in OrderReference. The message identification of the message in which the switch order was conveyed may also be quoted in RelatedReference.
If the OrderInstructionStatusReport message is used to report the status of an entire order message, for example, the SubscriptionBulkOrder, or a SubscriptionOrder containing several orders, then OrderDetailsReport is used and the message identification of the order message is quoted in RelatedReference. All the orders within the message must have the same status.
One of the following statuses can be reported:
- an accepted status, or,
- an already executed status, or,
- a sent to next party status, or,
- a received status, or,
- a settled status, or,
- a communication problem with next party status, or,
- a confirmation amendment status, or,
- a done for the day status, or,
- a partially done status, or,
- an open status, or,
- a cancelled status, or
- a conditionally accepted status, or,
- a rejected status, or,
- a suspended status, or,
- a partially settled status, or,
- an in-repair status (only for an individual or switch order).
For a switch order, the OrderInstructionStatusReport message provides the status of the whole switch order, that is, it is not possible to accept one leg and to reject the other leg: the entire switch order has to be rejected. In order to identify the legs within the switch that are causing the problem, the leg is identified in either the RedemptionLegIdentification or SubscriptionLegIdentification elements.
When the OrderInstructionStatusReport is used to give the status of an individual or a switch order, the following can be specified:
- repaired conditions (for a switch, this is at the level of a leg),
- information related to the order, for example, settlement amount, number of units, expected trade date, etc."
registrationStatus="Registered"
messageSet="_wFQdsE2rEeG_I4xRYCA_7g"
xmlTag="OrdrInstrStsRptV03"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<constraint
xmi:id="_jlDNadE7Ed-BzquC8wXy7w_514323009"
nextVersions="_Aab7JzbLEead9bDRE_1DAQ"
name="MessageNameAndReferenceGuideline"
definition="If RelatedReference/MessageName or OtherReference/MessageName is present, it must contain 502 or must start with setr.001, setr.004, setr.007, setr.010, setr.013, setr.019 or setr.018 and RelatedReference/Reference must contain the message reference of a message in this list."
registrationStatus="Provisionally Registered" />
<constraint
xmi:id="_jlDNbNE7Ed-BzquC8wXy7w_1903300086"
nextVersions="_Aab7KTbLEead9bDRE_1DAQ"
name="OtherReferenceGuideline"
definition="OtherReference should be used to reference an order instruction or cancellation 'message' sent in a proprietary way or used for a system reference. If OtherReference is present, OtherReference/MessageName must contain 'fax' or 'phone' or 'email', etc."
registrationStatus="Provisionally Registered" />
<xors
xmi:id="_jlDNY9E7Ed-BzquC8wXy7w_-1913896062"
name="RelatedReferenceOrOtherReferenceRule"
definition="Occurrences of either RelatedReference or OtherReference may be present, but not occurrences of both."
registrationStatus="Provisionally Registered"
impactedMessageBuildingBlocks="_jk5cZ9E7Ed-BzquC8wXy7w_-1984080310 _jk5caNE7Ed-BzquC8wXy7w_-1831700378" />
<xors
xmi:id="_jlDNZtE7Ed-BzquC8wXy7w_-1121625521"
name="OrderDetailsOrIndividualOrSwitchOrderDetailsRule"
definition="Either OrderDetailsReport or occurrences of IndividualOrderDetailsReport or occurrences of SwitchOrderDetailsReport must be present.

."
registrationStatus="Provisionally Registered"
impactedMessageBuildingBlocks="_jk5cadE7Ed-BzquC8wXy7w_-1236141352 _jlDNYNE7Ed-BzquC8wXy7w_1516458830 _jlDNYdE7Ed-BzquC8wXy7w_-475245778" />
<messageBuildingBlock
xmi:id="_jk5cZtE7Ed-BzquC8wXy7w_387710946"
nextVersions="_Aab7LzbLEead9bDRE_1DAQ"
name="MessageIdentification"
definition="Reference that uniquely identifies a message from a business application standpoint."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="MsgId"
complexType="_Q7pG5Np-Ed-ak6NoX_4Aeg_-967008570" />
<messageBuildingBlock
xmi:id="_jk5cZ9E7Ed-BzquC8wXy7w_-1984080310"
name="OtherReference"
definition="Reference to a linked message sent in a proprietary way or reference of a system."
registrationStatus="Provisionally Registered"
maxOccurs="2"
minOccurs="0"
xmlTag="OthrRef"
complexType="_Q6vvAdp-Ed-ak6NoX_4Aeg_2101402955" />
<messageBuildingBlock
xmi:id="_jk5caNE7Ed-BzquC8wXy7w_-1831700378"
name="RelatedReference"
definition="Reference to a linked message that was previously received."
registrationStatus="Provisionally Registered"
maxOccurs="2"
minOccurs="0"
xmlTag="RltdRef"
complexType="_Q6vvAdp-Ed-ak6NoX_4Aeg_2101402955" />
<messageBuildingBlock
xmi:id="_jk5cadE7Ed-BzquC8wXy7w_-1236141352"
name="OrderDetailsReport"
definition="Status report details of all the individual orders conveyed in a bulk or multiple order message. Can be used if all the individual orders conveyed in a bulk or multiple order message have the same status."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="OrdrDtlsRpt"
complexType="_RMBsRNp-Ed-ak6NoX_4Aeg_-571096042" />
<messageBuildingBlock
xmi:id="_jlDNYNE7Ed-BzquC8wXy7w_1516458830"
name="IndividualOrderDetailsReport"
definition="Status report details of an individual order."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="IndvOrdrDtlsRpt"
complexType="_TR_TNtp-Ed-ak6NoX_4Aeg_-1985802937" />
<messageBuildingBlock
xmi:id="_jlDNYdE7Ed-BzquC8wXy7w_-475245778"
name="SwitchOrderDetailsReport"
definition="Status report details of a switch order."
registrationStatus="Provisionally Registered"
minOccurs="1"
xmlTag="SwtchOrdrDtlsRpt"
complexType="_TRsYQ9p-Ed-ak6NoX_4Aeg_-871439677" />
<messageBuildingBlock
xmi:id="_jlDNYtE7Ed-BzquC8wXy7w_1340149318"
nextVersions="_Aab7OzbLEead9bDRE_1DAQ"
name="Extension"
definition="Additional information that cannot be captured in the structured elements and/or any other specific block."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="Xtnsn"
complexType="_Q6vvCNp-Ed-ak6NoX_4Aeg_1503007069" />
<messageDefinitionIdentifier
businessArea="setr"
messageFunctionality="016"
flavour="001"
version="03" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.