flamingo.me/flamingo-commerce/v3@v3.11.0/product/product_model.puml (about)

     1  @startuml
     2  scale max 1024 width
     3  
     4  title
     5      = Product Model
     6  end title
     7  
     8  interface BasicProduct {
     9      BaseData()
    10      TeaserData()
    11      GetSpecifications()
    12      IsSaleable()
    13      Type()
    14      HasMedia()
    15  }
    16  interface Configurable {
    17      ConfigurableProductWithActiveVariant GetConfigurableWithActiveVariant()
    18      []Variant Variant()
    19      Variant GetDefaultVariant()
    20      bool HasVariant()
    21  }
    22  class ConfigurableProductWithActiveVariant {
    23      ActiveVariant
    24  }
    25  class ConfigurableProduct
    26  class SimpleProduct
    27  class BasicProductData {
    28      Title
    29      Attributes
    30      MarketPlaceCode
    31      RetailerCode
    32      RetailerSku
    33      Categories
    34      MainCategory
    35      Keywords
    36  }
    37  class Saleable {
    38      IsSaleable
    39      SaleableFrom
    40      SaleableTo
    41      ActivePrice
    42      AvailablePrices
    43      LoyaltyPrices
    44      LoyaltyEarnings
    45  }
    46  class PriceInfo {
    47      Default Price
    48      Discounted Price
    49      TaxClass
    50      Context
    51      Price GetFinalPrice()
    52  }
    53  class PriceContext {
    54      CustomerGroup
    55      ChannelCode
    56      Locale
    57  }
    58  class CategoryTeaser {
    59      Code
    60      Name
    61  }
    62  class Attribute {
    63      Code
    64      Label
    65  }
    66  class TeaserData {
    67      ShortTitle
    68      ShortDescription
    69      URLSlug
    70      TeaserPrice
    71      TeaserPriceIsFromPrice
    72      PreSelectedVariantSku
    73      Media
    74      MarketPlaceCode
    75      TeaserAvailablePrices
    76      TeaserLoyaltyPriceInfo
    77      TeaserLoyaltyEarningInfo
    78  }
    79  
    80  BasicProduct --> BasicProductData : BaseData()
    81  BasicProduct --> TeaserData : TeaserData()
    82  BasicProduct -down-> Saleable : SaleableData
    83  BasicProductData --> CategoryTeaser : MainCategory()
    84  BasicProductData o-- Attribute : Attributes
    85  CategoryTeaser --o BasicProductData : Categories
    86  CategoryTeaser --> CategoryTeaser : parent
    87  ConfigurableProduct .up> BasicProduct
    88  ConfigurableProduct .up.> Configurable
    89  ConfigurableProductWithActiveVariant .up.> Configurable
    90  ConfigurableProductWithActiveVariant .up.> BasicProduct
    91  SimpleProduct .up.> BasicProduct
    92  PriceInfo --> PriceContext : Context
    93  Saleable o-- PriceInfo : AvailablePrices
    94  Saleable o-- PriceInfo : LoyaltyPrices
    95  Saleable --> PriceInfo : ActivePrice
    96  
    97  @enduml