IntraPositionMovementInstructionV02

semt.013.001.02

Scope An account owner sends a IntraPositionMovementInstruction to an account servicer to instruct the movement of securities within its holding from one sub-balance to another, for example, blocking of securities. The account owner/servicer relationship may be:

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
%% IntraPositionMovementInstructionV02 recursion level 0 with max 0
class IntraPositionMovementInstructionV02{
    TransactionIdentification IsoMax35Text
}
IntraPositionMovementInstructionV02 *-- "0..1" Identification1 : CorporateActionEventIdentification
IntraPositionMovementInstructionV02 *-- "0..1" Linkages8 : Linkages
IntraPositionMovementInstructionV02 *-- "0..1" IPartyIdentification36Choice : AccountOwner
IntraPositionMovementInstructionV02 *-- "1..1" SecuritiesAccount13 : SafekeepingAccount
IntraPositionMovementInstructionV02 *-- "0..1" ISafekeepingPlaceFormat3Choice : SafekeepingPlace
IntraPositionMovementInstructionV02 *-- "1..1" SecurityIdentification14 : FinancialInstrumentIdentification
IntraPositionMovementInstructionV02 *-- "0..1" FinancialInstrumentAttributes21 : FinancialInstrumentAttributes
IntraPositionMovementInstructionV02 *-- "1..1" IntraPositionDetails11 : IntraPositionDetails
IntraPositionMovementInstructionV02 *-- "0..1" SupplementaryData1 : SupplementaryData
  

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

TransactionIdentification building block

Unambiguous identification of the transaction as know by the instructing party. Specifies a character string with a maximum length of 35 characters. For comparison, see the ISO20022 official specification This message is declared as Max35Text in the ISO specification. In our implementation, it is represented in source code as IsoMax35Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.

CorporateActionEventIdentification building block

Identification assigned by the account servicer to unambiguously identify a corporate action event. Unique identifier of a document, message or transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Identification1 recursion level 0 with max 1
class Identification1{
    Identification IsoMax35Text
}
  

Identification1 members

Member name Description Data Type / Multiplicity
Identification Unique identifier of a document, message or transaction. IsoMax35Text - Required 1..1

Linkages building block

Link to another transaction that must be processed after, before or at the same time. Information related to a linked transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Linkages8 recursion level 0 with max 1
Linkages8 *-- "0..1" IProcessingPosition1Choice : ProcessingPosition
Linkages8 *-- "0..1" IDocumentNumber1Choice : MessageNumber
Linkages8 *-- "1..1" IReferences14Choice : Reference
Linkages8 *-- "0..1" IPartyIdentification36Choice : ReferenceOwner
%% IProcessingPosition1Choice recursion level 1 with max 1
%% IDocumentNumber1Choice recursion level 1 with max 1
%% IReferences14Choice recursion level 1 with max 1
%% IPartyIdentification36Choice recursion level 1 with max 1
  

Linkages8 members

Member name Description Data Type / Multiplicity
ProcessingPosition When the transaction is to be executed relative to a linked transaction. IProcessingPosition1Choice - Optional 0..1
MessageNumber Message type number/message identifier of the message referenced in the linkage sequence. IDocumentNumber1Choice - Optional 0..1
Reference Reference to the linked transaction. IReferences14Choice - Required 1..1
ReferenceOwner Party that generates the reference. IPartyIdentification36Choice - Optional 0..1

AccountOwner building block

Party that legally owns the account. Choice of identification of a party. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IPartyIdentification36Choice recursion level 0 with max 1
  

PartyIdentification36Choice members

Member name Description Data Type / Multiplicity

SafekeepingAccount building block

Account to or from which a securities entry is made. Account to or from which a securities entry is made. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SecuritiesAccount13 recursion level 0 with max 1
class SecuritiesAccount13{
    Identification IsoMax35Text
    Name IsoMax70Text
}
SecuritiesAccount13 *-- "0..1" GenericIdentification20 : Type
%% GenericIdentification20 recursion level 1 with max 1
class GenericIdentification20{
    Identification IsoExact4AlphaNumericText
    Issuer IsoMax35Text
    SchemeName IsoMax35Text
}
  

SecuritiesAccount13 members

Member name Description Data Type / Multiplicity
Identification Unambiguous identification for the account between the account owner and the account servicer.”. IsoMax35Text - Required 1..1
Type Specifies the type of securities account. GenericIdentification20 - Optional 0..1
Name Description of the account. IsoMax70Text - Optional 0..1

SafekeepingPlace building block

Place where the securities are safe-kept, physically or notionally. This place can be, for example, a local custodian, a Central Securities Depository (CSD) or an International Central Securities Depository (ICSD). Choice between formats for the place of safekeeping. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% ISafekeepingPlaceFormat3Choice recursion level 0 with max 1
  

SafekeepingPlaceFormat3Choice members

Member name Description Data Type / Multiplicity

FinancialInstrumentIdentification building block

Financial instrument representing a sum of rights of the investor vis-a-vis the issuer. Identification of a security. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SecurityIdentification14 recursion level 0 with max 1
class SecurityIdentification14{
    ISIN IsoISINIdentifier
    Description IsoMax140Text
}
SecurityIdentification14 *-- "0..0" OtherIdentification1 : OtherIdentification
%% OtherIdentification1 recursion level 1 with max 1
class OtherIdentification1{
    Identification IsoMax35Text
    Suffix IsoMax16Text
}
OtherIdentification1 *-- "1..1" IIdentificationSource3Choice : Type
  

SecurityIdentification14 members

Member name Description Data Type / Multiplicity
ISIN International Securities Identification Number (ISIN). A numbering system designed by the United Nation’s International Organisation for Standardisation (ISO). The ISIN is composed of a 2-character prefix representing the country of issue, followed by the national security number (if one exists), and a check digit. Each country has a national numbering agency that assigns ISIN numbers for securities in that country. IsoISINIdentifier - Optional 0..1
OtherIdentification Identification of a security by proprietary or domestic identification scheme. OtherIdentification1 - Unknown 0..0
Description Textual description of a security instrument. IsoMax140Text - Optional 0..1

FinancialInstrumentAttributes building block

Elements characterising a financial instrument. Elements characterising a financial instrument. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% FinancialInstrumentAttributes21 recursion level 0 with max 1
class FinancialInstrumentAttributes21{
    DenominationCurrency ActiveOrHistoricCurrencyCode
    CouponDate IsoISODate
    ExpiryDate IsoISODate
    FloatingRateFixingDate IsoISODate
    MaturityDate IsoISODate
    IssueDate IsoISODate
    NextCallableDate IsoISODate
    PutableDate IsoISODate
    DatedDate IsoISODate
    FirstPaymentDate IsoISODate
    PreviousFactor IsoBaseOneRate
    CurrentFactor IsoBaseOneRate
    NextFactor IsoBaseOneRate
    InterestRate IsoPercentageRate
    NextInterestRate IsoPercentageRate
    IndexRateBasis IsoPercentageRate
    VariableRateIndicator IsoYesNoIndicator
    CallableIndicator IsoYesNoIndicator
    PutableIndicator IsoYesNoIndicator
    FinancialInstrumentAttributeAdditionalDetails IsoMax350Text
}
FinancialInstrumentAttributes21 *-- "0..1" MarketIdentification5 : PlaceOfListing
FinancialInstrumentAttributes21 *-- "0..1" IInterestComputationMethodFormat1Choice : DayCountBasis
FinancialInstrumentAttributes21 *-- "0..1" IFormOfSecurity2Choice : RegistrationForm
FinancialInstrumentAttributes21 *-- "0..1" IFrequency3Choice : PaymentFrequency
FinancialInstrumentAttributes21 *-- "0..1" ISecuritiesPaymentStatus2Choice : PaymentStatus
FinancialInstrumentAttributes21 *-- "0..1" IPaymentDirection2Choice : PaymentDirection
FinancialInstrumentAttributes21 *-- "0..1" IFrequency3Choice : VariableRateChangeFrequency
FinancialInstrumentAttributes21 *-- "0..1" IPreferenceToIncome2Choice : PreferenceToIncome
FinancialInstrumentAttributes21 *-- "0..1" IClassificationType2Choice : ClassificationType
FinancialInstrumentAttributes21 *-- "0..1" IOptionStyle4Choice : OptionStyle
FinancialInstrumentAttributes21 *-- "0..1" IOptionType2Choice : OptionType
FinancialInstrumentAttributes21 *-- "0..1" INumber2Choice : CouponAttachedNumber
FinancialInstrumentAttributes21 *-- "0..1" INumber2Choice : PoolNumber
FinancialInstrumentAttributes21 *-- "0..0" QuantityBreakdown5 : QuantityBreakdown
FinancialInstrumentAttributes21 *-- "0..1" IPriceType1Choice : MarketOrIndicativePrice
FinancialInstrumentAttributes21 *-- "0..1" Price2 : ExercisePrice
FinancialInstrumentAttributes21 *-- "0..1" Price2 : SubscriptionPrice
FinancialInstrumentAttributes21 *-- "0..1" Price2 : ConversionPrice
FinancialInstrumentAttributes21 *-- "0..1" Price2 : StrikePrice
FinancialInstrumentAttributes21 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumNominalQuantity
FinancialInstrumentAttributes21 *-- "0..1" IFinancialInstrumentQuantity1Choice : ContractSize
FinancialInstrumentAttributes21 *-- "0..0" SecurityIdentification14 : UnderlyingFinancialInstrumentIdentification
%% MarketIdentification5 recursion level 1 with max 1
MarketIdentification5 *-- "0..1" IMarketIdentification1Choice : Identification
MarketIdentification5 *-- "1..1" IMarketType2Choice : Type
%% IInterestComputationMethodFormat1Choice recursion level 1 with max 1
%% IFormOfSecurity2Choice recursion level 1 with max 1
%% IFrequency3Choice recursion level 1 with max 1
%% ISecuritiesPaymentStatus2Choice recursion level 1 with max 1
%% IPaymentDirection2Choice recursion level 1 with max 1
%% IFrequency3Choice recursion level 1 with max 1
%% IPreferenceToIncome2Choice recursion level 1 with max 1
%% IClassificationType2Choice recursion level 1 with max 1
%% IOptionStyle4Choice recursion level 1 with max 1
%% IOptionType2Choice recursion level 1 with max 1
%% INumber2Choice recursion level 1 with max 1
%% INumber2Choice recursion level 1 with max 1
%% QuantityBreakdown5 recursion level 1 with max 1
QuantityBreakdown5 *-- "1..1" INumber2Choice : LotNumber
QuantityBreakdown5 *-- "0..1" IFinancialInstrumentQuantity1Choice : LotQuantity
%% IPriceType1Choice recursion level 1 with max 1
%% Price2 recursion level 1 with max 1
Price2 *-- "1..1" IYieldedOrValueType1Choice : Type
Price2 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price2 recursion level 1 with max 1
Price2 *-- "1..1" IYieldedOrValueType1Choice : Type
Price2 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price2 recursion level 1 with max 1
Price2 *-- "1..1" IYieldedOrValueType1Choice : Type
Price2 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price2 recursion level 1 with max 1
Price2 *-- "1..1" IYieldedOrValueType1Choice : Type
Price2 *-- "1..1" IPriceRateOrAmountChoice : Value
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% SecurityIdentification14 recursion level 1 with max 1
class SecurityIdentification14{
    ISIN IsoISINIdentifier
    Description IsoMax140Text
}
SecurityIdentification14 *-- "0..0" OtherIdentification1 : OtherIdentification
  

FinancialInstrumentAttributes21 members

Member name Description Data Type / Multiplicity
PlaceOfListing Market(s) on which the security is listed. MarketIdentification5 - Optional 0..1
DayCountBasis Specifies the computation method of (accrued) interest of the security. IInterestComputationMethodFormat1Choice - Optional 0..1
RegistrationForm Specifies the form, this is, ownership, of the security. IFormOfSecurity2Choice - Optional 0..1
PaymentFrequency Specifies the frequency of an interest payment. IFrequency3Choice - Optional 0..1
PaymentStatus Status of payment of a security at a particular time. ISecuritiesPaymentStatus2Choice - Optional 0..1
PaymentDirection Indicates the direction of payment for asset or mortgage backed securities, this is, whether the repaid capital is distributed (payment direction is down) or capitalized (payment direction is up). IPaymentDirection2Choice - Optional 0..1
VariableRateChangeFrequency Specifies the frequency of change to the variable rate of an interest bearing instrument. IFrequency3Choice - Optional 0..1
PreferenceToIncome Indicates the level of priority to claim on income and assets of the company in case of the payment of dividends and in the event of a bankruptcy, for example, ordinary/common stocks, preferred stocks, subordinated debt, etc. IPreferenceToIncome2Choice - Optional 0..1
ClassificationType Classification type of the financial instrument, as per the ISO Classification of Financial Instrument (CFI) codification, for example, common share with voting rights, fully paid, or registered. IClassificationType2Choice - Optional 0..1
OptionStyle Specifies how an option can be exercised (American, European, Bermudan). IOptionStyle4Choice - Optional 0..1
OptionType Specifies whether it is a Call option (right to purchase a specific underlying asset) or a Put option (right to sell a specific underlying asset). IOptionType2Choice - Optional 0..1
DenominationCurrency Currency in which a security is issued or redenominated. ActiveOrHistoricCurrencyCode - Optional 0..1
CouponDate Next payment date of an interest bearing financial instrument. IsoISODate - Optional 0..1
ExpiryDate Date on which a privilege expires. IsoISODate - Optional 0..1
FloatingRateFixingDate Date at which the interest rate of an interest bearing security will be calculated and reset, according to the terms of the issue. IsoISODate - Optional 0..1
MaturityDate Planned final repayment date at the time of issuance. IsoISODate - Optional 0..1
IssueDate Date at which the security was made available. IsoISODate - Optional 0..1
NextCallableDate Next date at which the issuer has the right to pay the security prior to maturity. IsoISODate - Optional 0..1
PutableDate Date at which the holder has the right to ask for redemption of the security prior to final maturity. IsoISODate - Optional 0..1
DatedDate First date at which a security begins to accrue interest. IsoISODate - Optional 0..1
FirstPaymentDate Date at which the first interest payment is due to holders of the security. IsoISODate - Optional 0..1
PreviousFactor Rate expressed as a decimal between 0 and 1 that was applicable before the current factor and defines the outstanding principal of the financial instrument (for factored securities). IsoBaseOneRate - Optional 0..1
CurrentFactor Rate expressed as a decimal between 0 and 1 defining the outstanding principal of the financial instrument (for factored securities). IsoBaseOneRate - Optional 0..1
NextFactor Rate expressed as a decimal between 0 and 1 that will be applicable as of the next factor date and defines the outstanding principal of the financial instrument (for factored securities). IsoBaseOneRate - Optional 0..1
InterestRate Per annum ratio of interest paid to the principal amount of the financial instrument for a specific period of time. IsoPercentageRate - Optional 0..1
NextInterestRate Interest rate applicable to the next interest payment period in relation to variable rate instruments. IsoPercentageRate - Optional 0..1
IndexRateBasis Specifies the reference rate for fixed income instruments where the price of the instrument is indexed to the price of an underlying benchmark.
CouponAttachedNumber Number of the coupon attached to the physical security. INumber2Choice - Optional 0..1
PoolNumber Number identifying a group of underlying assets assigned by the issuer of a factored security. INumber2Choice - Optional 0..1
QuantityBreakdown Breakdown of a quantity into lots such as tax lots, instrument series, etc. QuantityBreakdown5 - Unknown 0..0
VariableRateIndicator Indicates whether the interest rate of an interest bearing instrument is reset periodically. IsoYesNoIndicator - Optional 0..1
CallableIndicator Indicates whether the issuer has the right to pay the security prior to maturity. Also called RetractableIndicator. IsoYesNoIndicator - Optional 0..1
PutableIndicator Indicates whether the holder has the right to ask for redemption of the security prior to final maturity. Also called RedeemableIndicator. IsoYesNoIndicator - Optional 0..1
MarketOrIndicativePrice Value of the price, for example, as a currency and value per unit or as a percentage. IPriceType1Choice - Optional 0..1
ExercisePrice Predetermined price at which the holder of a derivative will buy or sell the underlying instrument. Price2 - Optional 0..1
SubscriptionPrice Pre-determined price at which the holder of a right is entitled to buy the underlying instrument. Price2 - Optional 0..1
ConversionPrice Price of one target security in the conversion. Price2 - Optional 0..1
StrikePrice Predetermined price at which the holder will have to buy or sell the underlying instrument. Price2 - Optional 0..1
MinimumNominalQuantity Indicates the minimum tradable quantity of a security. IFinancialInstrumentQuantity1Choice - Optional 0..1
ContractSize Ratio or multiplying factor used to convert one contract into a quantity. IFinancialInstrumentQuantity1Choice - Optional 0..1
UnderlyingFinancialInstrumentIdentification Identification of the underlying security by an ISIN. SecurityIdentification14 - Unknown 0..0
FinancialInstrumentAttributeAdditionalDetails Provides additional information about the financial instrument in narrative form. IsoMax350Text - Optional 0..1

IntraPositionDetails building block

Intra-position movement transaction details. Details of the intra-position movement. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IntraPositionDetails11 recursion level 0 with max 1
class IntraPositionDetails11{
    InstructionProcessingAdditionalDetails IsoMax350Text
}
IntraPositionDetails11 *-- "0..1" IPriorityNumeric1Choice : Priority
IntraPositionDetails11 *-- "1..1" IFinancialInstrumentQuantity1Choice : SettlementQuantity
IntraPositionDetails11 *-- "0..1" INumber2Choice : LotNumber
IntraPositionDetails11 *-- "1..1" IDateAndDateTimeChoice : SettlementDate
IntraPositionDetails11 *-- "1..1" ISecuritiesBalanceType2Choice : BalanceFrom
IntraPositionDetails11 *-- "1..1" ISecuritiesBalanceType2Choice : BalanceTo
%% IPriorityNumeric1Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% INumber2Choice recursion level 1 with max 1
%% IDateAndDateTimeChoice recursion level 1 with max 1
%% ISecuritiesBalanceType2Choice recursion level 1 with max 1
%% ISecuritiesBalanceType2Choice recursion level 1 with max 1
  

IntraPositionDetails11 members

Member name Description Data Type / Multiplicity
Priority Specifies whether the transaction is to be executed with a high priority. IPriorityNumeric1Choice - Optional 0..1
SettlementQuantity Total quantity of securities to be settled. IFinancialInstrumentQuantity1Choice - Required 1..1
LotNumber Number identifying a lot constituting the financial instrument. INumber2Choice - Optional 0..1
SettlementDate Date and time at which the securities are to be moved. IDateAndDateTimeChoice - Required 1..1
BalanceFrom Balance from which the securities are moving. ISecuritiesBalanceType2Choice - Required 1..1
BalanceTo Balance to which the securities are moving. ISecuritiesBalanceType2Choice - Required 1..1
InstructionProcessingAdditionalDetails Provides additional settlement processing information which can not be included within the structured fields of the message. IsoMax350Text - Optional 0..1

SupplementaryData 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
%% SupplementaryData1 recursion level 0 with max 1
class SupplementaryData1{
    PlaceAndName IsoMax350Text
}
SupplementaryData1 *-- "1..1" IsoSupplementaryDataEnvelope1 : Envelope
%% IsoSupplementaryDataEnvelope1 recursion level 1 with max 1
  

SupplementaryData1 members

Member name Description Data Type / Multiplicity
PlaceAndName Unambiguous reference to the location where the supplementary data must be inserted in the message instance. In the case of XML, this is expressed by a valid XPath. IsoMax350Text - Optional 0..1
Envelope Technical element wrapping the supplementary data. IsoSupplementaryDataEnvelope1 - Required 1..1

Extensibility and generalization considerations

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

classDiagram
    class IOuterRecord
    IntraPositionMovementInstructionV02 --|> IOuterRecord : Implements
    IntraPositionMovementInstructionV02Document --|> IOuterDocument~IntraPositionMovementInstructionV02~ : Implements
    class IOuterDocument~IntraPositionMovementInstructionV02~ {
        IntraPositionMovementInstructionV02 Message
     }
  

Document wrapper for serialization

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

classDiagram
    IntraPositionMovementInstructionV02Document *-- IntraPositionMovementInstructionV02 : 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:semt.013.001.02">
    <IntraPosMvmntInstr>
        <TxId>
            <!-- TransactionIdentification inner content -->
        </TxId>
        <CorpActnEvtId>
            <!-- CorporateActionEventIdentification inner content -->
        </CorpActnEvtId>
        <Lnkgs>
            <!-- Linkages inner content -->
        </Lnkgs>
        <AcctOwnr>
            <!-- AccountOwner inner content -->
        </AcctOwnr>
        <SfkpgAcct>
            <!-- SafekeepingAccount inner content -->
        </SfkpgAcct>
        <SfkpgPlc>
            <!-- SafekeepingPlace inner content -->
        </SfkpgPlc>
        <FinInstrmId>
            <!-- FinancialInstrumentIdentification inner content -->
        </FinInstrmId>
        <FinInstrmAttrbts>
            <!-- FinancialInstrumentAttributes inner content -->
        </FinInstrmAttrbts>
        <IntraPosDtls>
            <!-- IntraPositionDetails inner content -->
        </IntraPosDtls>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </IntraPosMvmntInstr>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_UVeHYdtYEd-RF5yaMAVhAw"
  nextVersions="_tJGM4fvNEeCBQp5TnX1XKQ"
  previousVersion="_MeYVUtFSEd-BzquC8wXy7w_-629757838"
  name="IntraPositionMovementInstructionV02"
  definition="Scope&#xD;&#xA;An account owner sends a IntraPositionMovementInstruction to an account servicer to instruct the movement of securities within its holding from one sub-balance to another, for example, blocking of securities.&#xD;&#xA;The account owner/servicer relationship may be:&#xD;&#xA;- a global custodian which has an account with its local agent (sub-custodian), or&#xD;&#xA;- an investment management institution which manage a fund account opened at a custodian, or&#xD;&#xA;- broker which has an account with a custodian, or&#xD;&#xA;- a central securities depository participant which has an account with a central securities depository, or&#xD;&#xA;- a central securities depository which has an account with a custodian, another central securities depository or another settlement market infrastructure.&#xD;&#xA;Usage&#xA;The message may also be used to:&#xA;- re-send a message previously sent,&#xA;- provide a third party with a copy of a message for information,&#xA;- re-send to a third party a copy of a message for information.&#xA;using the relevant elements in the Business Application Header.&#xA;ISO 15022 - 20022 Coexistence&#xA;This ISO 20022 message is reversed engineered from ISO 15022. Both standards will coexist for a certain number of years. Until this coexistence period ends, the usage of certain data types is restricted to ensure interoperability between ISO 15022 and 20022 users. Compliance to these rules is mandatory in a coexistence environment. The coexistence restrictions are described in a Textual Rule linked to the Message Items they concern. These coexistence textual rules are clearly identified as follows: “CoexistenceXxxxRule”."
  registrationStatus="Registered"
  messageSet="_urpIICeJEeOCeO5e7islRQ"
  xmlTag="IntraPosMvmntInstr"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <constraint
    xmi:id="_UVeHe9tYEd-RF5yaMAVhAw"
    name="CoexistenceCharacterSetXRule"
    definition="During ISO 15022 – 20022 coexistence, characters used in all text fields must correspond to character set X, that is, a-z A-Z / - ? : ( ) . , ‘ + { } CR LF."
    registrationStatus="Provisionally Registered" />
  <constraint
    xmi:id="_UVeHfdtYEd-RF5yaMAVhAw"
    name="CoexistenceIdentificationRule"
    definition="During ISO 15022 – 20022 coexistence, all transaction and document identifications or references must be 16 characters or less. The field must not start or end with a slash ‘/’ or contain two consecutive slashes ‘//’."
    registrationStatus="Provisionally Registered" />
  <messageBuildingBlock
    xmi:id="_We21wfikEd-vs7UL2E0SGw"
    name="TransactionIdentification"
    definition="Unambiguous identification of the transaction as know by the instructing party."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="TxId"
    simpleType="_YW1tKdp-Ed-ak6NoX_4Aeg_1913463446" />
  <messageBuildingBlock
    xmi:id="_UVeHZdtYEd-RF5yaMAVhAw"
    name="CorporateActionEventIdentification"
    definition="Identification assigned by the account servicer to unambiguously identify a corporate action event."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CorpActnEvtId"
    complexType="_QtVlKtp-Ed-ak6NoX_4Aeg_-28410593" />
  <messageBuildingBlock
    xmi:id="_UVeHZ9tYEd-RF5yaMAVhAw"
    name="Linkages"
    definition="Link to another transaction that must be processed after, before or at the same time."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="Lnkgs"
    complexType="_2OKtwdzlEd-tnM7aRm4nqg" />
  <messageBuildingBlock
    xmi:id="_UVeHadtYEd-RF5yaMAVhAw"
    name="AccountOwner"
    definition="Party that legally owns the account."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="AcctOwnr"
    complexType="_qU9DBeaPEd-q8fx_Zl_34A" />
  <messageBuildingBlock
    xmi:id="_UVeHa9tYEd-RF5yaMAVhAw"
    name="SafekeepingAccount"
    definition="Account to or from which a securities entry is made."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="SfkpgAcct"
    complexType="_T_vKAdp-Ed-ak6NoX_4Aeg_-178975462" />
  <messageBuildingBlock
    xmi:id="_UVeHbdtYEd-RF5yaMAVhAw"
    name="SafekeepingPlace"
    definition="Place where the securities are safe-kept, physically or notionally. This place can be, for example, a local custodian, a Central Securities Depository (CSD) or an International Central Securities Depository (ICSD)."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="SfkpgPlc"
    complexType="_SfeRKdp-Ed-ak6NoX_4Aeg_-955186669" />
  <messageBuildingBlock
    xmi:id="_UVeHb9tYEd-RF5yaMAVhAw"
    name="FinancialInstrumentIdentification"
    definition="Financial instrument representing a sum of rights of the investor vis-a-vis the issuer."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="FinInstrmId"
    complexType="_TBAQ7dp-Ed-ak6NoX_4Aeg_896067631" />
  <messageBuildingBlock
    xmi:id="_UVeHcdtYEd-RF5yaMAVhAw"
    name="FinancialInstrumentAttributes"
    definition="Elements characterising a financial instrument."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="FinInstrmAttrbts"
    complexType="_DhRdMeaXEd-q8fx_Zl_34A" />
  <messageBuildingBlock
    xmi:id="_UVeHc9tYEd-RF5yaMAVhAw"
    name="IntraPositionDetails"
    definition="Intra-position movement transaction details."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="IntraPosDtls"
    complexType="_jjm1wfFiEd-Vb-3Q5jpLDA" />
  <messageBuildingBlock
    xmi:id="_UVeHedtYEd-RF5yaMAVhAw"
    name="SupplementaryData"
    definition="Additional information that cannot be captured in the structured elements and/or any other specific block."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="SplmtryData"
    complexType="_Qn0zC9p-Ed-ak6NoX_4Aeg_468227563" />
  <messageDefinitionIdentifier
    businessArea="semt"
    messageFunctionality="013"
    flavour="001"
    version="02" />
</messageDefinition>

ISO Building Blocks

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