Published by Galina Vorobyova
February 9th, 2023
Used to define if a product is a Parent.
Required, defaults to false.
When creating a Child product (one with ParentID defined), if you do not specify a value for a given property, that property will be inherited from the Parent.
If a price is assigned to a Parent, it will be inherited by the Children if they do not have other pricing specified.
Child products inherit specs from their Parent
All Product Visibility rules are inherited from the Parent.
If a Parent product has Active = false, all Children are Active = false by default. You cannot override this property at the Child level until the Parent is updated to Active = true
If Child products should not be returned in a product list, filter on ParentID=!*.
To return an entire product family using a product list, filter using ParentID|ID={id}.
XP are also inherited, but only at the top level. See below for additional details.
{
"xp": {
"ShippingInfo": {
"DaysToShip": 3,
"ShippingCost": 5
}
}
}
Calling PATCH v1/products/{childProductID} with the following request body, will result in the Child no longer inheriting xp.ShippingInfo.ShippingCost from the Parent, even though it is not defined on the Child, the entire xp.ShippingInfo property has been overwritten and no inheritance will occur.
{
"xp": {
"ShippingInfo": {
"DaysToShip": 2
}
}
}
Attempting any of these actions will result in an error being returned from OrderCloud
A Parent product cannot be purchased; meaning you cannot create a LineItem with a ProductID of a Product where IsParent = true
A product may only have one Parent, and any product that is a Parent cannot be a Child product. It is a one-to-many relationship.
A Parent product cannot be deleted if a Child product exists.
Parent and Child products must have the same OwnerID.
Neither Parent nor Child product can be assigned to a Spec with DefinesVariant=true
Variants cannot be generated for Parent or Child products
A Child product cannot be assigned to a catalog or category, those assignments can only be inherited from the Parent