Skip to content

Class: LegalAgreement

The specification of a legal agreement between two parties, being negotiated or having been executed. This includes the baseline information and the optional specialised elections

URI: common_domain_model:LegalAgreement

 classDiagram
    class LegalAgreement
    click LegalAgreement href "../LegalAgreement/"
      LegalAgreementBase <|-- LegalAgreement
        click LegalAgreementBase href "../LegalAgreementBase/"

      LegalAgreement : agreementDate

      LegalAgreement : agreementTerms





        LegalAgreement --> "0..1" AgreementTerms : agreementTerms
        click AgreementTerms href "../AgreementTerms/"



      LegalAgreement : attachment





        LegalAgreement --> "*" Resource : attachment
        click Resource href "../Resource/"



      LegalAgreement : contractualParty





        LegalAgreement --> "1..*" Party : contractualParty
        click Party href "../Party/"



      LegalAgreement : effectiveDate

      LegalAgreement : identifier





        LegalAgreement --> "*" Identifier : identifier
        click Identifier href "../Identifier/"



      LegalAgreement : legalAgreementIdentification





        LegalAgreement --> "1" LegalAgreementIdentification : legalAgreementIdentification
        click LegalAgreementIdentification href "../LegalAgreementIdentification/"



      LegalAgreement : otherParty





        LegalAgreement --> "*" PartyRole : otherParty
        click PartyRole href "../PartyRole/"



      LegalAgreement : relatedAgreements





        LegalAgreement --> "*" LegalAgreement : relatedAgreements
        click LegalAgreement href "../LegalAgreement/"



      LegalAgreement : umbrellaAgreement





        LegalAgreement --> "0..1" UmbrellaAgreement : umbrellaAgreement
        click UmbrellaAgreement href "../UmbrellaAgreement/"



Inheritance

Class Properties

Property Value
Tree Root Yes

Slots

Name Cardinality and Range Description Inheritance
agreementTerms 0..1
AgreementTerms
Specification of the content of the legal agreement direct
relatedAgreements *
LegalAgreement
Specifies the agreement(s) that govern the agreement, either as a reference t... direct
umbrellaAgreement 0..1
UmbrellaAgreement
Specifies a set of legal entities which are part of a legal agreement beyond ... direct
agreementDate 0..1
date
The date on which the legal agreement has been agreed between the parties LegalAgreementBase
effectiveDate 0..1
date
The date on which, or as of which, the agreement is effective, if different f... LegalAgreementBase
identifier *
Identifier
The legal agreement identifier LegalAgreementBase
legalAgreementIdentification 1
LegalAgreementIdentification
The type of legal agreement, identified via a set of composable attributes: a... LegalAgreementBase
contractualParty 1..*
Party
The two contractual parties to the legal agreement, which reference informati... LegalAgreementBase
otherParty *
PartyRole
The role(s) that other party(ies) may have in relation to the legal agreement... LegalAgreementBase
attachment *
Resource
A human readable document, for example a confirmation LegalAgreementBase

Usages

used by used in type used
ContractFormationInstruction legalAgreement range LegalAgreement
ContractDetails documentation range LegalAgreement
CollateralPortfolio legalAgreement range LegalAgreement
LegalAgreement relatedAgreements range LegalAgreement
CreditSupportDocumentElection creditSupportDocument range LegalAgreement

Rules

Rule Applied Preconditions Postconditions Elseconditions

In Subsets

Comments

  • Rosetta condition: ConsistentlyExecutedAgreements — if relatedAgreements exists and agreementDate exists then relatedAgreements -> agreementDate exists
  • Rosetta condition: AgreementVerification — if agreementTerms -> agreement -> securityAgreementElections exists then legalAgreementIdentification -> agreementName -> agreementType = LegalAgreementTypeEnum -> SecurityAgreement else if agreementTerms -> agreement -> creditSupportAgreementElections exists then legalAgreementIdentification -> agreementName -> creditSupportAgreementType = CreditSupportAgreementTypeEnum -> CreditSupportAnnex or legalAgreementIdentification -> agreementName -> creditSupportAgreementType = CreditSupportAgreementTypeEnum -> CreditSupportDeed else if agreementTerms -> agreement -> collateralTransferAgreementElections exists then legalAgreementIdentification -> agreementName -> creditSupportAgreementType = CreditSupportAgreementTypeEnum -> CollateralTransferAgreement else if agreementTerms -> agreement -> masterAgreementSchedule exists then legalAgreementIdentification -> agreementName -> agreementType = LegalAgreementTypeEnum -> MasterAgreement
  • Rosetta condition: AgreementType — required choice agreementTerms, umbrellaAgreement

Identifier and Mapping Information

Annotations

property value
metadata_key True

Schema Source

Mappings

Mapping Type Mapped Value
self common_domain_model:LegalAgreement
native common_domain_model:LegalAgreement

LinkML Source

Direct

name: LegalAgreement
annotations:
  metadata_key:
    tag: metadata_key
    value: true
description: The specification of a legal agreement between two parties, being negotiated
  or having been executed. This includes the baseline information and the optional
  specialised elections
comments:
- 'Rosetta condition: ConsistentlyExecutedAgreements  if relatedAgreements exists
  and agreementDate exists then relatedAgreements -> agreementDate exists'
- 'Rosetta condition: AgreementVerification  if agreementTerms -> agreement -> securityAgreementElections
  exists then legalAgreementIdentification -> agreementName -> agreementType = LegalAgreementTypeEnum
  -> SecurityAgreement else if agreementTerms -> agreement -> creditSupportAgreementElections
  exists then legalAgreementIdentification -> agreementName -> creditSupportAgreementType
  = CreditSupportAgreementTypeEnum -> CreditSupportAnnex or legalAgreementIdentification
  -> agreementName -> creditSupportAgreementType = CreditSupportAgreementTypeEnum
  -> CreditSupportDeed else if agreementTerms -> agreement -> collateralTransferAgreementElections
  exists then legalAgreementIdentification -> agreementName -> creditSupportAgreementType
  = CreditSupportAgreementTypeEnum -> CollateralTransferAgreement else if agreementTerms
  -> agreement -> masterAgreementSchedule exists then legalAgreementIdentification
  -> agreementName -> agreementType = LegalAgreementTypeEnum -> MasterAgreement'
- 'Rosetta condition: AgreementType  required choice agreementTerms, umbrellaAgreement'
in_subset:
- cdm_legaldocumentation_common
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: LegalAgreementBase
slots:
- agreementTerms
- relatedAgreements
- umbrellaAgreement
tree_root: true
rules:
- postconditions:
    exactly_one_of:
    - slot_conditions:
        agreementTerms:
          name: agreementTerms
          required: true
    - slot_conditions:
        umbrellaAgreement:
          name: umbrellaAgreement
          required: true
  description: Either the Agreement Terms (i.e. a bilateral or one way agreement)
    or an Umbrella Agreement (i.e. an agreement where multiple parties and variations
    of terms are described within a single document but represent multiple agreements
    for operational purposes) should be included, but not both.

Induced

name: LegalAgreement
annotations:
  metadata_key:
    tag: metadata_key
    value: true
description: The specification of a legal agreement between two parties, being negotiated
  or having been executed. This includes the baseline information and the optional
  specialised elections
comments:
- 'Rosetta condition: ConsistentlyExecutedAgreements  if relatedAgreements exists
  and agreementDate exists then relatedAgreements -> agreementDate exists'
- 'Rosetta condition: AgreementVerification  if agreementTerms -> agreement -> securityAgreementElections
  exists then legalAgreementIdentification -> agreementName -> agreementType = LegalAgreementTypeEnum
  -> SecurityAgreement else if agreementTerms -> agreement -> creditSupportAgreementElections
  exists then legalAgreementIdentification -> agreementName -> creditSupportAgreementType
  = CreditSupportAgreementTypeEnum -> CreditSupportAnnex or legalAgreementIdentification
  -> agreementName -> creditSupportAgreementType = CreditSupportAgreementTypeEnum
  -> CreditSupportDeed else if agreementTerms -> agreement -> collateralTransferAgreementElections
  exists then legalAgreementIdentification -> agreementName -> creditSupportAgreementType
  = CreditSupportAgreementTypeEnum -> CollateralTransferAgreement else if agreementTerms
  -> agreement -> masterAgreementSchedule exists then legalAgreementIdentification
  -> agreementName -> agreementType = LegalAgreementTypeEnum -> MasterAgreement'
- 'Rosetta condition: AgreementType  required choice agreementTerms, umbrellaAgreement'
in_subset:
- cdm_legaldocumentation_common
from_schema: https://w3id.org/lmodel/common-domain-model
is_a: LegalAgreementBase
attributes:
  agreementTerms:
    name: agreementTerms
    description: Specification of the content of the legal agreement.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - LegalAgreement
    range: AgreementTerms
  relatedAgreements:
    name: relatedAgreements
    description: Specifies the agreement(s) that govern the agreement, either as a
      reference to such agreements when specified as part of the CDM, or through identification
      of some of the key terms of those agreements, such as the type of agreement,
      the publisher, the vintage, the agreement identifier and the agreement date.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - LegalAgreement
    range: LegalAgreement
    multivalued: true
    inlined: true
    inlined_as_list: true
  umbrellaAgreement:
    name: umbrellaAgreement
    description: Specifies a set of legal entities which are part of a legal agreement
      beyond the two contracting parties to that agreement.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - LegalAgreement
    range: UmbrellaAgreement
  agreementDate:
    name: agreementDate
    description: The date on which the legal agreement has been agreed between the
      parties. This corresponds to the Date of Deed in an English Law document.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - LegalAgreementBase
    range: date
  effectiveDate:
    name: effectiveDate
    description: The date on which, or as of which, the agreement is effective, if
      different from the agreement date. It is expected that it will most often correspond
      to the agreement date, although there could be situations where the parties
      will explicitly agree on a distinct effective date.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:CodeValue.effectiveDate
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - CodeValue
    - CounterpartyPositionBusinessEvent
    - IndexTransitionInstruction
    - StockSplitInstruction
    - ClosedState
    - EventInstruction
    - LegalAgreementBase
    - MinimumTransferAmountAmendment
    - TerminationCurrencyAmendment
    - PriceQuantity
    - FallbackRateParameters
    - CalculationPeriodDates
    - EconomicTerms
    - CancelableProvision
    range: date
  identifier:
    name: identifier
    description: The legal agreement identifier. Several identifiers can be specified.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:AssetBase.identifier
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - AssetBase
    - AssetIdentifier
    - ProductIdentifier
    - AssignedIdentifier
    - BusinessUnit
    - PartyIdentifier
    - EntityIdentifier
    - PersonIdentifier
    - TransferBase
    - OtherAgreement
    - LegalAgreementBase
    - NonLegalEntity
    - MasterAgreementClauseVariant
    - Clause
    - ContractualDefinition
    - FloatingRateIndexMap
    - EligibleCollateralSpecification
    - NonTransferableProduct
    range: Identifier
    required: false
    multivalued: true
    inlined: true
    inlined_as_list: true
  legalAgreementIdentification:
    name: legalAgreementIdentification
    description: 'The type of legal agreement, identified via a set of composable
      attributes: agreementName, publisher, governing law and version, e.g. ISDA 2013
      Standard Credit Support Annex English Law.'
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - LegalAgreementBase
    range: LegalAgreementIdentification
    required: true
  contractualParty:
    name: contractualParty
    annotations:
      metadata_reference:
        tag: metadata_reference
        value: true
    description: The two contractual parties to the legal agreement, which reference
      information is positioned as part of the partyInformation attribute.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - LegalAgreementBase
    range: Party
    required: true
    multivalued: true
    inlined: true
    inlined_as_list: true
  otherParty:
    name: otherParty
    description: The role(s) that other party(ies) may have in relation to the legal
      agreement, further to the contractual parties.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - LegalAgreementBase
    - MasterAgreementClause
    - MasterAgreementClauseVariant
    range: PartyRole
    multivalued: true
  attachment:
    name: attachment
    description: A human readable document, for example a confirmation.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: LegalAgreement
    domain_of:
    - LegalAgreementBase
    range: Resource
    multivalued: true
    inlined: true
    inlined_as_list: true
tree_root: true
rules:
- postconditions:
    exactly_one_of:
    - slot_conditions:
        agreementTerms:
          name: agreementTerms
          required: true
    - slot_conditions:
        umbrellaAgreement:
          name: umbrellaAgreement
          required: true
  description: Either the Agreement Terms (i.e. a bilateral or one way agreement)
    or an Umbrella Agreement (i.e. an agreement where multiple parties and variations
    of terms are described within a single document but represent multiple agreements
    for operational purposes) should be included, but not both.