RequestForTransferStatusReport

sese.009.001.01

Scope The RequestForTransferStatusReport is sent by an instructing party to the executing party. This message requests the status of a transfer instruction or the status of a transfer cancellation instruction. Usage The RequestForTransferStatusReport is sent by an instructing party to the executing party to request

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
%% RequestForTransferStatusReport recursion level 0 with max 0
RequestForTransferStatusReport *-- "1..1" MessageAndBusinessReference1 : RequestDetails
  

Now, we will zero-in one-by-one on each of these building blocks.

RequestDetails building block

Information to identify the transfer for which the status is requested. . Information about the message reference of the message for which the status is requested and the business reference of the transfer instruction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% MessageAndBusinessReference1 recursion level 0 with max 1
class MessageAndBusinessReference1{
    TransferReference IsoMax35Text
}
MessageAndBusinessReference1 *-- "1..1" AdditionalReference2 : PreviousReference
MessageAndBusinessReference1 *-- "1..1" AdditionalReference2 : OtherReference
MessageAndBusinessReference1 *-- "0..1" InvestmentAccount10 : InvestmentAccountDetails
%% AdditionalReference2 recursion level 1 with max 1
class AdditionalReference2{
    Reference IsoMax35Text
    MessageName IsoMax35Text
}
AdditionalReference2 *-- "0..1" IPartyIdentification1Choice : ReferenceIssuer
%% AdditionalReference2 recursion level 1 with max 1
class AdditionalReference2{
    Reference IsoMax35Text
    MessageName IsoMax35Text
}
AdditionalReference2 *-- "0..1" IPartyIdentification1Choice : ReferenceIssuer
%% InvestmentAccount10 recursion level 1 with max 1
class InvestmentAccount10{
    AccountName IsoMax35Text
    AccountDesignation IsoMax35Text
    SecuritiesForm FormOfSecurity1Code
    DematerialisedIndicator IsoYesNoIndicator
    IncomePreference IncomePreference1Code
    BeneficiaryCertificationIndicator IsoYesNoIndicator
}
InvestmentAccount10 *-- "0..0" IPartyIdentification1Choice : OwnerIdentification
InvestmentAccount10 *-- "1..1" AccountIdentification1 : AccountIdentification
InvestmentAccount10 *-- "0..0" Intermediary1 : IntermediaryInformation
InvestmentAccount10 *-- "0..1" IPartyIdentification1Choice : SafekeepingPlace
InvestmentAccount10 *-- "0..1" IPartyIdentification1Choice : AccountServicer
  

MessageAndBusinessReference1 members

Member name Description Data Type / Multiplicity
PreviousReference Reference to a linked message that was previously sent. AdditionalReference2 - Required 1..1
OtherReference Reference to a linked message sent in a proprietary way or the reference of a system. AdditionalReference2 - Required 1..1
InvestmentAccountDetails Investment account information of the transfer message for which the status is requested. InvestmentAccount10 - Optional 0..1
TransferReference Business reference of the transfer instruction message. IsoMax35Text - Optional 0..1

Extensibility and generalization considerations

To facilitate generalized design patterns in the system, the RequestForTransferStatusReport implementation follows a specific implementaiton pattern. First of all, RequestForTransferStatusReport impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, RequestForTransferStatusReportDocument implements IOuterDocument. Because RequestForTransferStatusReport implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type RequestForTransferStatusReport.

classDiagram
    class IOuterRecord
    RequestForTransferStatusReport --|> IOuterRecord : Implements
    RequestForTransferStatusReportDocument --|> IOuterDocument~RequestForTransferStatusReport~ : Implements
    class IOuterDocument~RequestForTransferStatusReport~ {
        RequestForTransferStatusReport Message
     }
  

Document wrapper for serialization

The only real purpose RequestForTransferStatusReportDocument serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:sese.009.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using RequestForTransferStatusReport.ToDocument() method. The returned RequestForTransferStatusReportDocument value will serialize correctly according to ISO 20022 standards.

classDiagram
    RequestForTransferStatusReportDocument *-- RequestForTransferStatusReport : 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:sese.009.001.01">
    <sese.009.001.01>
        <ReqDtls>
            <!-- RequestDetails inner content -->
        </ReqDtls>
    </sese.009.001.01>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_nnEjSNE5Ed-BzquC8wXy7w_-788060154"
  nextVersions="_oGN9ZdE5Ed-BzquC8wXy7w_2033838549"
  name="RequestForTransferStatusReport"
  definition="Scope&#xD;&#xA;The RequestForTransferStatusReport is sent by an instructing party to the executing party.&#xD;&#xA;This message requests the status of a transfer instruction or the status of a transfer cancellation instruction.&#xD;&#xA;Usage&#xD;&#xA;The RequestForTransferStatusReport is sent by an instructing party to the executing party to request&#xD;&#xA;- the status of one or several transfer instructions or&#xD;&#xA;- the status of one or several transfer cancellation instructions."
  registrationStatus="Registered"
  messageSet="_urpIICeJEeOCeO5e7islRQ"
  xmlName="sese.009.001.01"
  xmlTag="sese.009.001.01"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_nnEjSdE5Ed-BzquC8wXy7w_-359483453"
    name="RequestDetails"
    definition="Information to identify the transfer for which the status is requested.&#xA;."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="ReqDtls"
    complexType="_VFeqFtp-Ed-ak6NoX_4Aeg_1197711929" />
  <messageDefinitionIdentifier
    businessArea="sese"
    messageFunctionality="009"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

The following items are used as building blocks to construct this message.