IntraPositionMovementConfirmation002V09

semt.015.002.09

Scope The IntraPositionMovementConfirmation is sent by an account servicer to an account owner to confirm the movement of securities within its holding from one sub-balance to another, for example, blocking of securities. The account servicer/owner relationship may be:

Usage The message may also be used to:

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
%% IntraPositionMovementConfirmation002V09 recursion level 0 with max 0
IntraPositionMovementConfirmation002V09 *-- "0..1" AdditionalParameters34 : AdditionalParameters
IntraPositionMovementConfirmation002V09 *-- "0..1" IPartyIdentification136Choice : AccountOwner
IntraPositionMovementConfirmation002V09 *-- "0..1" SecuritiesAccount30 : SafekeepingAccount
IntraPositionMovementConfirmation002V09 *-- "0..1" BlockChainAddressWallet7 : BlockChainAddressOrWallet
IntraPositionMovementConfirmation002V09 *-- "0..1" ISafekeepingPlaceFormat39Choice : SafekeepingPlace
IntraPositionMovementConfirmation002V09 *-- "1..1" SecurityIdentification20 : FinancialInstrumentIdentification
IntraPositionMovementConfirmation002V09 *-- "0..1" FinancialInstrumentAttributes119 : FinancialInstrumentAttributes
IntraPositionMovementConfirmation002V09 *-- "1..1" IntraPositionDetails61 : IntraPositionDetails
IntraPositionMovementConfirmation002V09 *-- "0..1" SupplementaryData1 : SupplementaryData
  

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

AdditionalParameters building block

Additional parameters for the transaction. Specifies additional parameters to the message or transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% AdditionalParameters34 recursion level 0 with max 1
class AdditionalParameters34{
    PartialSettlement PartialSettlement2Code
    PreviousPartialConfirmationIdentification IsoRestrictedFINXMax16Text
    AccountOwnerTransactionIdentification IsoRestrictedFINXMax16Text
    AccountServicerTransactionIdentification IsoRestrictedFINXMax16Text
    PoolIdentification IsoRestrictedFINXMax16Text
    CorporateActionEventIdentification IsoRestrictedFINXMax16Text
    MarketInfrastructureTransactionIdentification IsoRestrictedFINXMax16Text
    CounterpartyMarketInfrastructureTransactionIdentification IsoRestrictedFINXMax16Text
    ProcessorTransactionIdentification IsoRestrictedFINXMax16Text
}
  

AdditionalParameters34 members

Member name Description Data Type / Multiplicity
PartialSettlement Specifies partial settlement information. PartialSettlement2Code - Optional 0..1
PreviousPartialConfirmationIdentification Identification of the confirmation previously sent to confirm the partial settlement of a transaction. IsoRestrictedFINXMax16Text - Optional 0..1
AccountOwnerTransactionIdentification Unambiguous identification of the transaction as known by the account owner (or the instructing party managing the account). IsoRestrictedFINXMax16Text - Optional 0..1
AccountServicerTransactionIdentification Unambiguous identification of the transaction as known by the account servicer. IsoRestrictedFINXMax16Text - Optional 0..1
PoolIdentification Collective reference identifying a set of messages. IsoRestrictedFINXMax16Text - Optional 0..1
CorporateActionEventIdentification Identification assigned by the account servicer to unambiguously identify a corporate action event. IsoRestrictedFINXMax16Text - Optional 0..1
MarketInfrastructureTransactionIdentification Identification of a transaction assigned by a market infrastructure other than a central securities depository, for example, Target2-Securities. IsoRestrictedFINXMax16Text - Optional 0..1
CounterpartyMarketInfrastructureTransactionIdentification Identification of a counterparty transaction assigned by a market infrastructure other than a central securities depository, for example, Target2-Securities. IsoRestrictedFINXMax16Text - Optional 0..1
ProcessorTransactionIdentification Identification of the transaction assigned by the processor of the instruction other than the account owner the account servicer and the market infrastructure. IsoRestrictedFINXMax16Text - 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

BlockChainAddressOrWallet building block

Blockchain address or wallet where digital assets are maintained. This is the equivalent of safekeeping account for digital assets. Digital account where digital assets or digital tokens can be stored and where an entry is made. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% BlockChainAddressWallet7 recursion level 0 with max 1
class BlockChainAddressWallet7{
    Identification IsoRestrictedFINXMax140Text
    Name IsoRestrictedFINXMax70Text
}
BlockChainAddressWallet7 *-- "0..1" GenericIdentification47 : Type
%% GenericIdentification47 recursion level 1 with max 1
class GenericIdentification47{
    Identification IsoExact4AlphaNumericText
    Issuer IsoMax4AlphaNumericText
    SchemeName IsoMax4AlphaNumericText
}
  

BlockChainAddressWallet7 members

Member name Description Data Type / Multiplicity
Identification Unambiguous identification for the account between the account owner and the account servicer. IsoRestrictedFINXMax140Text - Required 1..1
Type Specifies the type of securities account. GenericIdentification47 - Optional 0..1
Name Description of the account. IsoRestrictedFINXMax70Text - 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
%% FinancialInstrumentAttributes119 recursion level 0 with max 1
class FinancialInstrumentAttributes119{
    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
}
FinancialInstrumentAttributes119 *-- "0..1" IMarketIdentification4Choice : PlaceOfListing
FinancialInstrumentAttributes119 *-- "0..1" IInterestComputationMethodFormat5Choice : DayCountBasis
FinancialInstrumentAttributes119 *-- "0..1" IFormOfSecurity7Choice : RegistrationForm
FinancialInstrumentAttributes119 *-- "0..1" IFrequency27Choice : PaymentFrequency
FinancialInstrumentAttributes119 *-- "0..1" ISecuritiesPaymentStatus6Choice : PaymentStatus
FinancialInstrumentAttributes119 *-- "0..1" IFrequency27Choice : VariableRateChangeFrequency
FinancialInstrumentAttributes119 *-- "0..1" IClassificationType33Choice : ClassificationType
FinancialInstrumentAttributes119 *-- "0..1" IOptionStyle9Choice : OptionStyle
FinancialInstrumentAttributes119 *-- "0..1" IOptionType7Choice : OptionType
FinancialInstrumentAttributes119 *-- "0..1" INumber23Choice : CouponAttachedNumber
FinancialInstrumentAttributes119 *-- "0..1" GenericIdentification39 : PoolNumber
FinancialInstrumentAttributes119 *-- "0..0" QuantityBreakdown64 : QuantityBreakdown
FinancialInstrumentAttributes119 *-- "0..1" IPriceType5Choice : MarketOrIndicativePrice
FinancialInstrumentAttributes119 *-- "0..1" Price3 : ExercisePrice
FinancialInstrumentAttributes119 *-- "0..1" Price3 : SubscriptionPrice
FinancialInstrumentAttributes119 *-- "0..1" Price3 : ConversionPrice
FinancialInstrumentAttributes119 *-- "0..1" Price3 : StrikePrice
FinancialInstrumentAttributes119 *-- "0..1" IFinancialInstrumentQuantity36Choice : MinimumNominalQuantity
FinancialInstrumentAttributes119 *-- "0..1" IFinancialInstrumentQuantity36Choice : ContractSize
FinancialInstrumentAttributes119 *-- "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
}
%% QuantityBreakdown64 recursion level 1 with max 1
QuantityBreakdown64 *-- "1..1" GenericIdentification39 : LotNumber
QuantityBreakdown64 *-- "0..1" IFinancialInstrumentQuantity36Choice : 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
%% IFinancialInstrumentQuantity36Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity36Choice recursion level 1 with max 1
%% SecurityIdentification32 recursion level 1 with max 1
class SecurityIdentification32{
    ISIN IsoISINOct2015Identifier
    Description IsoRestrictedFINXMax140Text
}
SecurityIdentification32 *-- "0..0" OtherIdentification3 : OtherIdentification
  

FinancialInstrumentAttributes119 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. QuantityBreakdown64 - 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. IFinancialInstrumentQuantity36Choice - Optional 0..1
ContractSize Ratio or multiplying factor used to convert one contract into a quantity. IFinancialInstrumentQuantity36Choice - 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
%% IntraPositionDetails61 recursion level 0 with max 1
class IntraPositionDetails61{
    InstructionProcessingAdditionalDetails IsoRestrictedFINXMax350Text
}
IntraPositionDetails61 *-- "1..1" IFinancialInstrumentQuantity36Choice : SettledQuantity
IntraPositionDetails61 *-- "0..1" GenericIdentification39 : SecuritiesSubBalanceIdentification
IntraPositionDetails61 *-- "0..1" AmountAndDirection55 : CollateralMonitorAmount
IntraPositionDetails61 *-- "0..1" IFinancialInstrumentQuantity36Choice : PreviouslySettledQuantity
IntraPositionDetails61 *-- "0..1" IFinancialInstrumentQuantity36Choice : RemainingToBeSettledQuantity
IntraPositionDetails61 *-- "1..1" IDateAndDateTime2Choice : SettlementDate
IntraPositionDetails61 *-- "0..1" IDateAndDateTime2Choice : AvailableDate
IntraPositionDetails61 *-- "0..1" ICorporateActionEventType101Choice : CorporateActionEventType
IntraPositionDetails61 *-- "1..1" SecuritiesSubBalanceTypeAndQuantityBreakdown6 : BalanceFrom
IntraPositionDetails61 *-- "1..1" SecuritiesSubBalanceTypeAndQuantityBreakdown6 : BalanceTo
%% IFinancialInstrumentQuantity36Choice recursion level 1 with max 1
%% GenericIdentification39 recursion level 1 with max 1
class GenericIdentification39{
    Identification IsoRestrictedFINMax30Text
    Issuer IsoRestrictedFINMax8Text
}
%% AmountAndDirection55 recursion level 1 with max 1
class AmountAndDirection55{
    Amount IsoRestrictedFINActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoRestrictedFINActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection55 *-- "0..1" ForeignExchangeTerms23 : ForeignExchangeDetails
%% IFinancialInstrumentQuantity36Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity36Choice recursion level 1 with max 1
%% IDateAndDateTime2Choice recursion level 1 with max 1
%% IDateAndDateTime2Choice recursion level 1 with max 1
%% ICorporateActionEventType101Choice recursion level 1 with max 1
%% SecuritiesSubBalanceTypeAndQuantityBreakdown6 recursion level 1 with max 1
SecuritiesSubBalanceTypeAndQuantityBreakdown6 *-- "1..1" ISecuritiesBalanceType8Choice : Type
SecuritiesSubBalanceTypeAndQuantityBreakdown6 *-- "0..0" QuantityBreakdown65 : QuantityBreakdown
%% SecuritiesSubBalanceTypeAndQuantityBreakdown6 recursion level 1 with max 1
SecuritiesSubBalanceTypeAndQuantityBreakdown6 *-- "1..1" ISecuritiesBalanceType8Choice : Type
SecuritiesSubBalanceTypeAndQuantityBreakdown6 *-- "0..0" QuantityBreakdown65 : QuantityBreakdown
  

IntraPositionDetails61 members

Member name Description Data Type / Multiplicity
SettledQuantity Quantity of financial instrument effectively settled. IFinancialInstrumentQuantity36Choice - Required 1..1
SecuritiesSubBalanceIdentification Number identifying a Securities Sub balance Type for example restriction identification. GenericIdentification39 - Optional 0..1
CollateralMonitorAmount Value of the collateral available for the delivery settlement process at the account level. AmountAndDirection55 - Optional 0..1
PreviouslySettledQuantity Quantity of financial instrument previously settled. IFinancialInstrumentQuantity36Choice - Optional 0..1
RemainingToBeSettledQuantity Quantity of financial instrument remaining to be settled. IFinancialInstrumentQuantity36Choice - Optional 0..1
SettlementDate Date and time at which the securities were moved. IDateAndDateTime2Choice - Required 1..1
AvailableDate Date/time securities become available for sale (if securities become unavailable, this specifies the date/time at which they will become available again). IDateAndDateTime2Choice - Optional 0..1
CorporateActionEventType Specifies the type of corporate event. ICorporateActionEventType101Choice - Optional 0..1
BalanceFrom Balance from which the securities are moving. SecuritiesSubBalanceTypeAndQuantityBreakdown6 - Required 1..1
BalanceTo Balance to which the securities are moving. SecuritiesSubBalanceTypeAndQuantityBreakdown6 - Required 1..1
InstructionProcessingAdditionalDetails Provides additional settlement processing information which can not 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 IntraPositionMovementConfirmation002V09 implementation follows a specific implementaiton pattern. First of all, IntraPositionMovementConfirmation002V09 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, IntraPositionMovementConfirmation002V09Document implements IOuterDocument. Because IntraPositionMovementConfirmation002V09 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type IntraPositionMovementConfirmation002V09.

classDiagram
    class IOuterRecord
    IntraPositionMovementConfirmation002V09 --|> IOuterRecord : Implements
    IntraPositionMovementConfirmation002V09Document --|> IOuterDocument~IntraPositionMovementConfirmation002V09~ : Implements
    class IOuterDocument~IntraPositionMovementConfirmation002V09~ {
        IntraPositionMovementConfirmation002V09 Message
     }
  

Document wrapper for serialization

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

classDiagram
    IntraPositionMovementConfirmation002V09Document *-- IntraPositionMovementConfirmation002V09 : 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.015.002.09">
    <IntraPosMvmntConf>
        <AddtlParams>
            <!-- AdditionalParameters inner content -->
        </AddtlParams>
        <AcctOwnr>
            <!-- AccountOwner inner content -->
        </AcctOwnr>
        <SfkpgAcct>
            <!-- SafekeepingAccount inner content -->
        </SfkpgAcct>
        <BlckChainAdrOrWllt>
            <!-- BlockChainAddressOrWallet inner content -->
        </BlckChainAdrOrWllt>
        <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>
    </IntraPosMvmntConf>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_caYWgzi8Eeydid5dcNPKvg"
  previousVersion="__64NkwVUEeqjd8n6wD9JVw"
  name="IntraPositionMovementConfirmation002V09"
  definition="Scope&#xD;&#xA;The IntraPositionMovementConfirmation is sent by an account servicer to an account owner to confirm the movement of securities within its holding from one sub-balance to another, for example, blocking of securities. &#xD;&#xA;The account servicer/owner relationship may be:&#xD;&#xA;- a central securities depository or another settlement market infrastructure acting on behalf of its participant&#xD;&#xA;- an agent (sub-custodian) acting on behalf of  its global custodian customer, or &#xD;&#xA;- a custodian acting on behalf of an investment management institution or a broker/dealer.&#xD;&#xA;&#xD;&#xA;Usage&#xD;&#xA;The message may also be used to:&#xD;&#xA;- re-send a message previously sent,&#xD;&#xA;- provide a third party with a copy of a message for information,&#xD;&#xA;- re-send to a third party a copy of a message for information&#xD;&#xA;using the relevant elements in the Business Application Header."
  registrationStatus="Registered"
  messageSet="_KoChkKS_EeWiN6v48CBCXg _26G2kVI3EeyUbfjRDFS84A"
  xmlTag="IntraPosMvmntConf"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <constraint
    xmi:id="_caY9kTi8Eeydid5dcNPKvg"
    name="SafekeepingAccountOrBlockChainAddress1Rule"
    definition="If SafekeepingAccount is present, BlockChainAddressOrWallet must be absent."
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;ComplexRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;ComplexRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Absence&quot;&gt;&lt;leftOperand&gt;/BlockChainAddressOrWallet&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/mustBe&gt;&lt;onCondition&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/SafekeepingAccount&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/onCondition&gt;&lt;/ComplexRule&gt;&lt;/RuleDefinition&gt;" />
  <constraint
    xmi:id="_caY9kzi8Eeydid5dcNPKvg"
    name="SafekeepingAccountOrBlockChainAddress2Rule"
    definition="If BlockChainAddressOrWallet is present, SafekeepingAccount must be absent."
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;ComplexRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;ComplexRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Absence&quot;&gt;&lt;leftOperand&gt;/SafekeepingAccount&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/mustBe&gt;&lt;onCondition&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/BlockChainAddressOrWallet&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/onCondition&gt;&lt;/ComplexRule&gt;&lt;/RuleDefinition&gt;" />
  <constraint
    xmi:id="_caY9lTi8Eeydid5dcNPKvg"
    name="SafekeepingAccountOrBlockChainAddress3Rule"
    definition="Either SafekeepingAccount or BlockChainAddressOrWallet must be present but not both."
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;SimpleRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;SimpleRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;OR&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/SafekeepingAccount&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/BlockChainAddressOrWallet&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/mustBe&gt;&lt;/SimpleRule&gt;&lt;/RuleDefinition&gt;" />
  <messageBuildingBlock
    xmi:id="_caY9mji8Eeydid5dcNPKvg"
    name="AdditionalParameters"
    definition="Additional parameters for the transaction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="AddtlParams"
    complexType="_caY9rji8Eeydid5dcNPKvg" />
  <messageBuildingBlock
    xmi:id="_caY9nDi8Eeydid5dcNPKvg"
    name="AccountOwner"
    definition="Party that legally owns the account."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="AcctOwnr"
    complexType="__2Yt9ffDEeiNZp_PtLohLw" />
  <messageBuildingBlock
    xmi:id="_caY9nji8Eeydid5dcNPKvg"
    name="SafekeepingAccount"
    definition="Account to or from which a securities entry is made."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="SfkpgAcct"
    complexType="_5SG1s5NLEeWGlc8L7oPDIg" />
  <messageBuildingBlock
    xmi:id="_caY9oDi8Eeydid5dcNPKvg"
    name="BlockChainAddressOrWallet"
    definition="Blockchain address or wallet where digital assets are maintained. This is the equivalent of safekeeping account for digital assets."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="BlckChainAdrOrWllt"
    complexType="_nL5-4UYvEeyIDL5Gtobnyw" />
  <messageBuildingBlock
    xmi:id="_caY9oji8Eeydid5dcNPKvg"
    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="_caY9pDi8Eeydid5dcNPKvg"
    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="_caY9pji8Eeydid5dcNPKvg"
    name="FinancialInstrumentAttributes"
    definition="Elements characterising a financial instrument."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="FinInstrmAttrbts"
    complexType="_caaLszi8Eeydid5dcNPKvg" />
  <messageBuildingBlock
    xmi:id="_caY9qDi8Eeydid5dcNPKvg"
    name="IntraPositionDetails"
    definition="Intra-position movement transaction details."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="IntraPosDtls"
    complexType="_cacoEzi8Eeydid5dcNPKvg" />
  <messageBuildingBlock
    xmi:id="_caY9qji8Eeydid5dcNPKvg"
    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="015"
    flavour="002"
    version="09" />
</messageDefinition>

ISO Building Blocks

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