A product in a cart. Supply productId to have the catalog fill the rest.
productId
Brand, for products not in a catalog.
Category, for products not in a catalog.
Product name, for products not in a catalog.
Price, for products not in a catalog.
Catalog product id; when set, the backend hydrates the other fields.