semt.013.002.05
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:
- a global custodian which has an account with its local agent (sub-custodian), or
- an investment management institution which manage a fund account opened at a custodian, or
- a broker which has an account with a custodian, or
- a central securities depository participant which has an account with a central securities depository, or
- a central securities depository which has an account with a custodian, another central securities depository or another settlement market infrastructure.
Usage The message may also be used to:
- re-send a message previously sent,
- provide a third party with a copy of a message for information,
- re-send to a third party a copy of a message for information. using the relevant elements in the Business Application Header.
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 %% IntraPositionMovementInstruction002V05 recursion level 0 with max 0 class IntraPositionMovementInstruction002V05{ TransactionIdentification IsoRestrictedFINXMax16Text } IntraPositionMovementInstruction002V05 *-- "0..1" Identification16 : CorporateActionEventIdentification IntraPositionMovementInstruction002V05 *-- "0..1" INumberCount1Choice : NumberCounts IntraPositionMovementInstruction002V05 *-- "0..1" Linkages60 : Linkages IntraPositionMovementInstruction002V05 *-- "0..1" IPartyIdentification136Choice : AccountOwner IntraPositionMovementInstruction002V05 *-- "1..1" SecuritiesAccount30 : SafekeepingAccount IntraPositionMovementInstruction002V05 *-- "0..1" ISafekeepingPlaceFormat39Choice : SafekeepingPlace IntraPositionMovementInstruction002V05 *-- "1..1" SecurityIdentification20 : FinancialInstrumentIdentification IntraPositionMovementInstruction002V05 *-- "0..1" FinancialInstrumentAttributes95 : FinancialInstrumentAttributes IntraPositionMovementInstruction002V05 *-- "1..1" IntraPositionDetails56 : IntraPositionDetails IntraPositionMovementInstruction002V05 *-- "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 known by the instructing party. Specifies a character string with a maximum length of 16 characters. It has a pattern that disables the use of characters that is not part of the character set X, that is, that is not a-z A-Z / - ? : ( ) . , ‘ + , and disable the use of slash “/” at the beginning and end of line and double slash “//” within the line. For comparison, see the ISO20022 official specification This message is declared as RestrictedFINXMax16Text in the ISO specification. In our implementation, it is represented in source code as IsoRestrictedFINXMax16Text. 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 %% Identification16 recursion level 0 with max 1 class Identification16{ Identification IsoRestrictedFINXMax16Text }
Identification16 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Unique identifier of a document, message or transaction. | IsoRestrictedFINXMax16Text - Required 1..1 |
NumberCounts building block
Count of the number of transactions linked. Choice of number count type. For comparison, see the ISO20022 official specification
classDiagram direction tb %% INumberCount1Choice recursion level 0 with max 1
NumberCount1Choice members
Member name | Description | Data Type / Multiplicity |
---|
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 %% Linkages60 recursion level 0 with max 1 Linkages60 *-- "0..1" IProcessingPosition10Choice : ProcessingPosition Linkages60 *-- "0..1" IDocumentNumber6Choice : MessageNumber Linkages60 *-- "1..1" IReferences50Choice : Reference Linkages60 *-- "0..1" IPartyIdentification136Choice : ReferenceOwner %% IProcessingPosition10Choice recursion level 1 with max 1 %% IDocumentNumber6Choice recursion level 1 with max 1 %% IReferences50Choice recursion level 1 with max 1 %% IPartyIdentification136Choice recursion level 1 with max 1
Linkages60 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
ProcessingPosition | When the transaction is to be executed relative to a linked transaction. | IProcessingPosition10Choice - Optional 0..1 |
MessageNumber | Message type number/message identifier of the message referenced in the linkage sequence. | IDocumentNumber6Choice - Optional 0..1 |
Reference | Reference to the linked transaction. | IReferences50Choice - Required 1..1 |
ReferenceOwner | Party that generates the reference. | IPartyIdentification136Choice - 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 %% IPartyIdentification136Choice recursion level 0 with max 1
PartyIdentification136Choice 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 %% SecuritiesAccount30 recursion level 0 with max 1 class SecuritiesAccount30{ Identification IsoRestrictedFINXMax35Text Name IsoMax70Text } SecuritiesAccount30 *-- "0..1" GenericIdentification47 : Type %% GenericIdentification47 recursion level 1 with max 1 class GenericIdentification47{ Identification IsoExact4AlphaNumericText Issuer IsoMax4AlphaNumericText SchemeName IsoMax4AlphaNumericText }
SecuritiesAccount30 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Unambiguous identification for the account between the account owner and the account servicer. | IsoRestrictedFINXMax35Text - Required 1..1 |
Type | Specifies the type of securities account. | GenericIdentification47 - 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 %% ISafekeepingPlaceFormat39Choice recursion level 0 with max 1
SafekeepingPlaceFormat39Choice 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 %% SecurityIdentification20 recursion level 0 with max 1 class SecurityIdentification20{ ISIN IsoISINOct2015Identifier Description IsoRestrictedFINXMax140Text } SecurityIdentification20 *-- "0..0" OtherIdentification2 : OtherIdentification %% OtherIdentification2 recursion level 1 with max 1 class OtherIdentification2{ Identification IsoRestrictedFINXMax31Text Suffix IsoMax16Text } OtherIdentification2 *-- "1..1" IIdentificationSource4Choice : Type
SecurityIdentification20 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. | IsoISINOct2015Identifier - Optional 0..1 |
OtherIdentification | Identification of a security by proprietary or domestic identification scheme. | OtherIdentification2 - Unknown 0..0 |
Description | Textual description of a security instrument. | IsoRestrictedFINXMax140Text - 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 %% FinancialInstrumentAttributes95 recursion level 0 with max 1 class FinancialInstrumentAttributes95{ 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 YieldToMaturityRate IsoPercentageRate NextInterestRate IsoPercentageRate IndexRateBasis IsoPercentageRate VariableRateIndicator IsoYesNoIndicator CallableIndicator IsoYesNoIndicator PutableIndicator IsoYesNoIndicator FinancialInstrumentAttributeAdditionalDetails IsoRestrictedFINXMax350Text } FinancialInstrumentAttributes95 *-- "0..1" IMarketIdentification4Choice : PlaceOfListing FinancialInstrumentAttributes95 *-- "0..1" IInterestComputationMethodFormat5Choice : DayCountBasis FinancialInstrumentAttributes95 *-- "0..1" IFormOfSecurity7Choice : RegistrationForm FinancialInstrumentAttributes95 *-- "0..1" IFrequency27Choice : PaymentFrequency FinancialInstrumentAttributes95 *-- "0..1" ISecuritiesPaymentStatus6Choice : PaymentStatus FinancialInstrumentAttributes95 *-- "0..1" IFrequency27Choice : VariableRateChangeFrequency FinancialInstrumentAttributes95 *-- "0..1" IClassificationType33Choice : ClassificationType FinancialInstrumentAttributes95 *-- "0..1" IOptionStyle9Choice : OptionStyle FinancialInstrumentAttributes95 *-- "0..1" IOptionType7Choice : OptionType FinancialInstrumentAttributes95 *-- "0..1" INumber23Choice : CouponAttachedNumber FinancialInstrumentAttributes95 *-- "0..1" GenericIdentification39 : PoolNumber FinancialInstrumentAttributes95 *-- "0..0" QuantityBreakdown33 : QuantityBreakdown FinancialInstrumentAttributes95 *-- "0..1" IPriceType5Choice : MarketOrIndicativePrice FinancialInstrumentAttributes95 *-- "0..1" Price3 : ExercisePrice FinancialInstrumentAttributes95 *-- "0..1" Price3 : SubscriptionPrice FinancialInstrumentAttributes95 *-- "0..1" Price3 : ConversionPrice FinancialInstrumentAttributes95 *-- "0..1" Price3 : StrikePrice FinancialInstrumentAttributes95 *-- "0..1" IFinancialInstrumentQuantity15Choice : MinimumNominalQuantity FinancialInstrumentAttributes95 *-- "0..1" IFinancialInstrumentQuantity15Choice : ContractSize FinancialInstrumentAttributes95 *-- "0..0" SecurityIdentification32 : UnderlyingFinancialInstrumentIdentification %% IMarketIdentification4Choice recursion level 1 with max 1 %% IInterestComputationMethodFormat5Choice recursion level 1 with max 1 %% IFormOfSecurity7Choice recursion level 1 with max 1 %% IFrequency27Choice recursion level 1 with max 1 %% ISecuritiesPaymentStatus6Choice recursion level 1 with max 1 %% IFrequency27Choice recursion level 1 with max 1 %% IClassificationType33Choice recursion level 1 with max 1 %% IOptionStyle9Choice recursion level 1 with max 1 %% IOptionType7Choice recursion level 1 with max 1 %% INumber23Choice recursion level 1 with max 1 %% GenericIdentification39 recursion level 1 with max 1 class GenericIdentification39{ Identification IsoRestrictedFINMax30Text Issuer IsoRestrictedFINMax8Text } %% QuantityBreakdown33 recursion level 1 with max 1 QuantityBreakdown33 *-- "1..1" GenericIdentification39 : LotNumber QuantityBreakdown33 *-- "0..1" IFinancialInstrumentQuantity15Choice : LotQuantity %% IPriceType5Choice recursion level 1 with max 1 %% Price3 recursion level 1 with max 1 Price3 *-- "1..1" IYieldedOrValueType1Choice : Type Price3 *-- "1..1" IPriceRateOrAmount1Choice : Value %% Price3 recursion level 1 with max 1 Price3 *-- "1..1" IYieldedOrValueType1Choice : Type Price3 *-- "1..1" IPriceRateOrAmount1Choice : Value %% Price3 recursion level 1 with max 1 Price3 *-- "1..1" IYieldedOrValueType1Choice : Type Price3 *-- "1..1" IPriceRateOrAmount1Choice : Value %% Price3 recursion level 1 with max 1 Price3 *-- "1..1" IYieldedOrValueType1Choice : Type Price3 *-- "1..1" IPriceRateOrAmount1Choice : Value %% IFinancialInstrumentQuantity15Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity15Choice recursion level 1 with max 1 %% SecurityIdentification32 recursion level 1 with max 1 class SecurityIdentification32{ ISIN IsoISINOct2015Identifier Description IsoRestrictedFINXMax140Text } SecurityIdentification32 *-- "0..0" OtherIdentification3 : OtherIdentification
FinancialInstrumentAttributes95 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
PlaceOfListing | Market(s) on which the security is listed. | IMarketIdentification4Choice - Optional 0..1 |
DayCountBasis | Specifies the computation method of (accrued) interest of the security. | IInterestComputationMethodFormat5Choice - Optional 0..1 |
RegistrationForm | Specifies the form, this is, ownership, of the security. | IFormOfSecurity7Choice - Optional 0..1 |
PaymentFrequency | Specifies the frequency of an interest payment. | IFrequency27Choice - Optional 0..1 |
PaymentStatus | Status of payment of a security at a particular time. | ISecuritiesPaymentStatus6Choice - Optional 0..1 |
VariableRateChangeFrequency | Specifies the frequency of change to the variable rate of an interest bearing instrument. | IFrequency27Choice - 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. | IClassificationType33Choice - Optional 0..1 |
OptionStyle | Specifies how an option can be exercised (American, European, Bermudan). | IOptionStyle9Choice - 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). | IOptionType7Choice - 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 |
YieldToMaturityRate | Rate of return anticipated on a bond when held until maturity date. | 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. | INumber23Choice - Optional 0..1 |
PoolNumber | Number identifying a group of underlying assets assigned by the issuer of a factored security. | GenericIdentification39 - Optional 0..1 |
QuantityBreakdown | Breakdown of a quantity into lots such as tax lots, instrument series. | QuantityBreakdown33 - 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. | IPriceType5Choice - Optional 0..1 |
ExercisePrice | Predetermined price at which the holder of a derivative will buy or sell the underlying instrument. | Price3 - Optional 0..1 |
SubscriptionPrice | Pre-determined price at which the holder of a right is entitled to buy the underlying instrument. | Price3 - Optional 0..1 |
ConversionPrice | Price of one target security in the conversion. | Price3 - Optional 0..1 |
StrikePrice | Predetermined price at which the holder will have to buy or sell the underlying instrument. | Price3 - Optional 0..1 |
MinimumNominalQuantity | Minimum nominal quantity of financial instrument. | IFinancialInstrumentQuantity15Choice - Optional 0..1 |
ContractSize | Ratio or multiplying factor used to convert one contract into a quantity. | IFinancialInstrumentQuantity15Choice - Optional 0..1 |
UnderlyingFinancialInstrumentIdentification | Identification of the underlying security. | SecurityIdentification32 - Unknown 0..0 |
FinancialInstrumentAttributeAdditionalDetails | Provides additional information about the financial instrument in narrative form. | IsoRestrictedFINXMax350Text - 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 %% IntraPositionDetails56 recursion level 0 with max 1 class IntraPositionDetails56{ InstructionProcessingAdditionalDetails IsoRestrictedFINXMax350Text } IntraPositionDetails56 *-- "0..1" IPriorityNumeric5Choice : Priority IntraPositionDetails56 *-- "1..1" IFinancialInstrumentQuantity15Choice : SettlementQuantity IntraPositionDetails56 *-- "0..1" GenericIdentification39 : SecuritiesSubBalanceIdentification IntraPositionDetails56 *-- "1..1" IDateAndDateTime2Choice : SettlementDate IntraPositionDetails56 *-- "1..1" SecuritiesSubBalanceTypeAndQuantityBreakdown4 : BalanceFrom IntraPositionDetails56 *-- "1..1" SecuritiesSubBalanceTypeAndQuantityBreakdown4 : BalanceTo %% IPriorityNumeric5Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity15Choice recursion level 1 with max 1 %% GenericIdentification39 recursion level 1 with max 1 class GenericIdentification39{ Identification IsoRestrictedFINMax30Text Issuer IsoRestrictedFINMax8Text } %% IDateAndDateTime2Choice recursion level 1 with max 1 %% SecuritiesSubBalanceTypeAndQuantityBreakdown4 recursion level 1 with max 1 SecuritiesSubBalanceTypeAndQuantityBreakdown4 *-- "1..1" ISecuritiesBalanceType8Choice : Type SecuritiesSubBalanceTypeAndQuantityBreakdown4 *-- "0..0" QuantityBreakdown34 : QuantityBreakdown %% SecuritiesSubBalanceTypeAndQuantityBreakdown4 recursion level 1 with max 1 SecuritiesSubBalanceTypeAndQuantityBreakdown4 *-- "1..1" ISecuritiesBalanceType8Choice : Type SecuritiesSubBalanceTypeAndQuantityBreakdown4 *-- "0..0" QuantityBreakdown34 : QuantityBreakdown
IntraPositionDetails56 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Priority | Specifies whether the transaction is to be executed with a high priority. | IPriorityNumeric5Choice - Optional 0..1 |
SettlementQuantity | Total quantity of securities to be settled. | IFinancialInstrumentQuantity15Choice - Required 1..1 |
SecuritiesSubBalanceIdentification | Number identifying a securities sub balance type (for example, restriction identification etc…). | GenericIdentification39 - Optional 0..1 |
SettlementDate | Date and time at which the securities are to be moved. | IDateAndDateTime2Choice - Required 1..1 |
BalanceFrom | Balance from which the securities are moving. | SecuritiesSubBalanceTypeAndQuantityBreakdown4 - Required 1..1 |
BalanceTo | Balance to which the securities are moving. | SecuritiesSubBalanceTypeAndQuantityBreakdown4 - Required 1..1 |
InstructionProcessingAdditionalDetails | Provides additional settlement processing information which cannot be included within the structured fields of the message. | IsoRestrictedFINXMax350Text - 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 IntraPositionMovementInstruction002V05 implementation follows a specific implementaiton pattern. First of all, IntraPositionMovementInstruction002V05 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, IntraPositionMovementInstruction002V05Document implements IOuterDocument. Because IntraPositionMovementInstruction002V05 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type IntraPositionMovementInstruction002V05.
classDiagram class IOuterRecord IntraPositionMovementInstruction002V05 --|> IOuterRecord : Implements IntraPositionMovementInstruction002V05Document --|> IOuterDocument~IntraPositionMovementInstruction002V05~ : Implements class IOuterDocument~IntraPositionMovementInstruction002V05~ { IntraPositionMovementInstruction002V05 Message }
Document wrapper for serialization
The only real purpose IntraPositionMovementInstruction002V05Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:semt.013.002.05’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using IntraPositionMovementInstruction002V05.ToDocument() method. The returned IntraPositionMovementInstruction002V05Document value will serialize correctly according to ISO 20022 standards.
classDiagram IntraPositionMovementInstruction002V05Document *-- IntraPositionMovementInstruction002V05 : 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.002.05">
<IntraPosMvmntInstr>
<TxId>
<!-- TransactionIdentification inner content -->
</TxId>
<CorpActnEvtId>
<!-- CorporateActionEventIdentification inner content -->
</CorpActnEvtId>
<NbCounts>
<!-- NumberCounts inner content -->
</NbCounts>
<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="_jJPNoyAZEeu4a6pNulzZ4Q"
nextVersions="_cboTszi8Eeydid5dcNPKvg"
previousVersion="_5PaGo5NLEeWGlc8L7oPDIg"
name="IntraPositionMovementInstruction002V05"
definition="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:
- a global custodian which has an account with its local agent (sub-custodian), or
- an investment management institution which manage a fund account opened at a custodian, or
- a broker which has an account with a custodian, or
- a central securities depository participant which has an account with a central securities depository, or
- a central securities depository which has an account with a custodian, another central securities depository or another settlement market infrastructure.

Usage
The message may also be used to:
- re-send a message previously sent,
- provide a third party with a copy of a message for information,
- re-send to a third party a copy of a message for information.
using the relevant elements in the Business Application Header."
registrationStatus="Registered"
messageSet="_gMCB9OSnEeauk5I89sEP4g"
xmlTag="IntraPosMvmntInstr"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_jJPNpSAZEeu4a6pNulzZ4Q"
name="TransactionIdentification"
definition="Unambiguous identification of the transaction as known by the instructing party."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="TxId"
simpleType="_XZJV2Np-Ed-ak6NoX_4Aeg_-1555155859" />
<messageBuildingBlock
xmi:id="_jJPNpyAZEeu4a6pNulzZ4Q"
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="_5PaGvZNLEeWGlc8L7oPDIg" />
<messageBuildingBlock
xmi:id="_jJPNqSAZEeu4a6pNulzZ4Q"
name="NumberCounts"
definition="Count of the number of transactions linked."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="NbCounts"
complexType="_QrsmZ9p-Ed-ak6NoX_4Aeg_994582654" />
<messageBuildingBlock
xmi:id="_jJPNqyAZEeu4a6pNulzZ4Q"
name="Linkages"
definition="Link to another transaction that must be processed after, before or at the same time."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="Lnkgs"
complexType="_jJP0yyAZEeu4a6pNulzZ4Q" />
<messageBuildingBlock
xmi:id="_jJPNrSAZEeu4a6pNulzZ4Q"
name="AccountOwner"
definition="Party that legally owns the account."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="AcctOwnr"
complexType="__2Yt9ffDEeiNZp_PtLohLw" />
<messageBuildingBlock
xmi:id="_jJPNryAZEeu4a6pNulzZ4Q"
name="SafekeepingAccount"
definition="Account to or from which a securities entry is made."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="SfkpgAcct"
complexType="_5SG1s5NLEeWGlc8L7oPDIg" />
<messageBuildingBlock
xmi:id="_jJP0sSAZEeu4a6pNulzZ4Q"
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="_8GiP_ffREeiNZp_PtLohLw" />
<messageBuildingBlock
xmi:id="_jJP0syAZEeu4a6pNulzZ4Q"
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="_cdRCO5KQEeWHWpTQn1FFVg" />
<messageBuildingBlock
xmi:id="_jJP0tSAZEeu4a6pNulzZ4Q"
name="FinancialInstrumentAttributes"
definition="Elements characterising a financial instrument."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="FinInstrmAttrbts"
complexType="_SKLU183yEee5nJBZsW8MFQ" />
<messageBuildingBlock
xmi:id="_jJP0tyAZEeu4a6pNulzZ4Q"
name="IntraPositionDetails"
definition="Intra-position movement transaction details."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="IntraPosDtls"
complexType="_jJWibiAZEeu4a6pNulzZ4Q" />
<messageBuildingBlock
xmi:id="_jJP0uSAZEeu4a6pNulzZ4Q"
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="002"
version="05" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.