Objects

CpqOptionType

One selectable row in an option group

One selectable row in an option group

type CpqOptionType {
  id: String
  instanceId: String
  articleNumber: String
  name: String
  description: String
  selected: Boolean!
  available: Boolean!
  readOnly: Boolean!
  selectionSource: CpqSelectionSource!
  quantity: Decimal!
  defaultQuantity: Decimal!
  minQuantity: Decimal
  maxQuantity: Decimal
  unitPrice: PriceType
  discountPercent: Decimal
  product: ProductType
  messages: [CpqMessageType]
}

Fields

id ● String scalar

The option id

instanceId ● String scalar

Distinguishes repeated copies of the same option within one group

articleNumber ● String scalar

The article number of the product this option adds

name ● String scalar

The ERP's name for this option, in the requested language: the merchant's own label for the row inside this configuration where there is one, and the description of the part this option adds otherwise. An option is a row inside the ERP's configuration, so the ERP names it, and under Monitor, where a part description is mandatory, it is filled for every option whose part is in the register. That is a different lookup from 'product', which resolves the same article number against the Geins catalogue, so an option commonly carries a name with no product beside it. A storefront wanting its own name, images or copy overrides from 'product'; the two disagreeing is ordinary rather than a defect. Empty means the ERP filled neither, and null means a cpq that predates the rename and is still answering 'providerLabel', which is every build until cpq is deployed rather than merely merged.

description ● String scalar

The option description, in the requested language. This is not the part description 'name' can fall back to.

selected ● Boolean! non-null scalar required

'true' when the option is currently selected

available ● Boolean! non-null scalar required

'false' when the shopper's other choices rule this option out

readOnly ● Boolean! non-null scalar required

'true' when the option's selection is fixed and a change to it is refused. A lock the caller set does not make an option read-only: the caller can still change or unlock it. Always 'false' under Monitor.

selectionSource ● CpqSelectionSource! non-null enum required

Why the option is selected or deselected the way it is

quantity ● Decimal! non-null scalar required

How many of this option are selected

defaultQuantity ● Decimal! non-null scalar required

The quantity the option takes when it is selected without one

minQuantity ● Decimal scalar

The lowest quantity this option takes

maxQuantity ● Decimal scalar

The highest quantity this option takes

unitPrice ● PriceType object

What one of this option costs according to the ERP, and what the cart is charged for it. cpq reports net only, so the inc-VAT side is worked out here from the configured article's VAT rate in this market, not this option's own product's, because the configured product is invoiced as one line. It equals the net where the configured article carries no rate. This is not product.unitPrice.

discountPercent ● Decimal scalar

The discount the ERP applied to this option, in percent

product ● ProductType object

The Geins product the article number names, resolved in this same call. Null when no active product in the market carries it, which is ordinary: an ERP part number is not always a sellable article. Its unitPrice is the catalogue price with campaigns, price lists and customer prices applied, which is not what a CPQ account charges for the option.

messages ● [CpqMessageType] list object

Messages about this option

Member Of

CpqOptionGroupType object