1. Product catalogs

Child products

Implementation benefits

Child products provide:

  1. Flexible product hierarchies:

    • Alternative to variant generation
    • Suitable for diverse marketplace needs
  2. Pricing capabilities:

    • Custom pricing per child product
    • Alternative to spec markup complexity
    • Multi-currency support
  3. Enhanced visibility:

    • List view availability
    • Improved product discovery
    • Variant limitations bypass

Configuration properties

Parent product settings

Product.IsParent:

  • Defines parent product status
  • Requires null ParentID
  • Default value: false

Product.ParentID:

  • References parent product ID
  • Optional configuration
  • Requires IsParent = false
  • Parent must exist

Inheritance implementation

Property inheritance

Child products inherit unspecified properties:

  • Description inheritance example:
    1. Undefined child description
    2. Parent description display
    3. Override through updates
    4. Null reset for inheritance

Validation rule: Child property cannot be null if parent property exists

Price inheritance

Price schedule behavior:

  • Parent price inheritance
  • Child-specific pricing override
  • Flexible pricing structure

Specification inheritance

Spec configuration:

  • Parent spec inheritance
  • Additional child specs
  • Independent spec management

Visibility inheritance

Access control inheritance:

  • Parent visibility rules
  • Child visibility inclusion
  • Active status exceptions

Status management

Active status behavior:

  1. Parent status control:

    • Inactive parent = inactive children
    • Override requires active parent
  2. Independent control:

    • Active parent required
    • Individual child deactivation
    • Selective visibility

List management

Product list controls:

  • Filter: ParentID=!* excludes children
  • Family view: ParentID|ID={id}
  • Comprehensive listing options

Extended property inheritance

XP inheritance rules:

  • Top-level inheritance only
  • Override through updates
  • Partial updates possible

Example parent XP:

json
{
  "xp": {
    "ShippingInfo": {
      "DaysToShip": 3,
      "ShippingCost": 5
    }
  }
}

Child update example:

json
{
  "xp": {
    "ShippingInfo": {
      "DaysToShip": 2
    }
  }
}

Note: Complete property override stops inheritance

System constraints

Implementation restrictions:

  1. Parent product limitations:

    • No direct purchase
    • Single parent relationship
    • Deletion protection
    • Owner ID matching
  2. Specification constraints:

    • No variant definitions
    • No variant generation
    • Shared owner requirement
  3. Category management:

    • Parent catalog requirement
    • Additional child categories
    • Inherited assignment behavior
    • List filtering capabilities
If you have suggestions for improving this article, let us know!