Product Domain Model

Class diagram showing schema relationships — generated from the OpenAPI specification.

100% Scroll to zoom · Drag to pan
classDiagram
  direction TB
  class ProductResponseData {
    Gln manufacturerIdGln✱
    string manufacturerProductNumber✱
    ProductDetails details✱
    array | null descriptions
    array | null etimClassifications
    LcaEnvironmental | null lcaEnvironmental
    array | null attachments
  }
  ProductResponseData --> "1" ProductDetails : details
  ProductResponseData --> "*" ProductDescription : descriptions
  ProductResponseData --> "*" EtimClassification : etimClassifications
  ProductResponseData --> "1" LcaEnvironmental : lcaEnvironmental
  ProductResponseData --> "*" ProductAttachment : attachments
  class ProductDetails {
    array | null productGtins
    boolean | null unbrandedProduct
    string | null brandName
    string | null productAnnouncementDate
    string productValidityDate✱
    string | null productObsolescenceDate
    string | null customsCommodityCode
    number | null factorCustomsCommodityCode
    array | null countryOfOrigin
    ProductStatus productStatus
    ProductType productType
    boolean | null customisableProduct
    boolean | null hasSerialNumber
    integer | null warrantyConsumer
    integer | null warrantyBusiness
    array | null relatedManufacturerProductGroup
  }
  class ProductDescription {
    LanguageCode descriptionLanguage✱
    string minimalProductDescription✱
    string | null uniqueMainProductDescription
    string | null fullProductDescription
    string | null productMarketingText
    string | null productSpecificationText
    string | null productApplicationInstructions
    array | null productKeyword
    string | null productPageUrl
  }
  class EtimClassification {
    string etimClassCode✱
    integer | null etimClassVersion
    string etimReleaseVersion✱
    string | null etimDynamicReleaseDate
    array | null etimFeatures
  }
  EtimClassification --> "*" EtimFeature : etimFeatures
  class EtimFeature {
    string etimFeatureCode✱
    string | null etimValueCode
    number | null etimValueNumeric
    number | null etimValueRangeLower
    number | null etimValueRangeUpper
    boolean | null etimValueLogical
    array | null etimValueDetails
    string | null reasonNoValue
  }
  class LcaEnvironmental {
    string declaredUnitUnit✱
    number declaredUnitQuantity✱
    array | null functionalUnitDescription
    integer lcaReferenceLifetime✱
    string thirdPartyVerification✱
    string epdValidityStartDate✱
    string | null epdValidityExpiryDate
    string | null epdOperatorName
    string | null epdOperatorUri
    string | null operatorEpdId
    string | null manufacturerEpdId
    string | null productCategoryRulesDescription
    string | null productCategoryRulesUri
    string | null productSpecificRulesDescription
    string | null productSpecificRulesUri
    LcaDeclaration[] lcaDeclaration✱
  }
  LcaEnvironmental --> "*" LcaDeclaration : lcaDeclaration
  class LcaDeclaration {
    string lifeCycleStage✱
    string lcaDeclarationIndicator✱
    number | null declaredUnitGwpTotal
    number | null declaredUnitGwpFossil
    number | null declaredUnitGwpBiogenic
    number | null declaredUnitAp
    number | null declaredUnitEpFreshwater
    number | null declaredUnitOdp
    number | null declaredUnitGwpLuluc
    number | null declaredUnitEpMarine
    number | null declaredUnitEpTerrestrial
    number | null declaredUnitPocp
    number | null declaredUnitAdpe
    number | null declaredUnitAdpf
    number | null declaredUnitWdp
    number | null declaredUnitPert
    number | null declaredUnitPenrt
    number | null declaredUnitPm
    number | null declaredUnitIrp
    number | null declaredUnitEtpfw
    number | null declaredUnitHtpc
    number | null declaredUnitHtpnc
    number | null declaredUnitSqp
  }
  class ProductAttachment {
    AttachmentType attachmentType✱
    AttachmentTypeSpecification attachmentTypeSpecification
    integer | null attachmentOrder
    AttachmentDetails[] attachmentDetails✱
  }
  ProductAttachment --> "*" AttachmentDetails : attachmentDetails
  class AttachmentDetails {
    array | null attachmentLanguage
    string | null attachmentFilename
    string attachmentUri✱
    array | null attachmentDescription
    string | null attachmentIssueDate
    string | null attachmentExpiryDate
  }