     }
 }
 
-public struct MSAssortmentInfo {
-    // Product fields
-    public let productFolder: MSEntity<MSProductFolder>?
-
-    // Variant fields
-    public let product: MSEntity<MSProduct>?
-    
-    // bundle fields
-    public var components: [MSEntity<MSBundleComponent>]
-    
-    public init(productFolder: MSEntity<MSProductFolder>?,
-                product: MSEntity<MSProduct>?,
-                components: [MSEntity<MSBundleComponent>]) {
-        self.product = product
-        self.productFolder = productFolder
-        self.components = components
-    }
-    
-    func copy() -> MSAssortmentInfo {
-        let componentsCopy = components.flatMap { $0.value() }.map { MSEntity.entity($0.copy()) }
-        return MSAssortmentInfo(productFolder: productFolder, product: product, components: componentsCopy)
-    }
-}
-
 public class MSVariantAttribute: Metable {
     public var meta: MSMeta
     public var id: MSID

    public var localImage: MSLocalImage?
    public var characteristics: [MSEntity<MSVariantAttribute>]?
    // Bundle fields
    public let components: [MSEntity<MSBundleComponent>]
    
    public init(meta: MSMeta,
    id: MSID,

                            reserve: reserve,
                            inTransit: inTransit,
                            quantity: quantity,
                            assortmentInfo: assortmentInfo,
                            attributes: attributes,
                            packs: packs.map { $0.copy() },
                            localImage: localImage,
