@avvyr/storefront-sdk - v0.19.0
    Preparing search index...

    Interface OptionProfilePosition

    interface OptionProfilePosition {
        applies?: boolean;
        appliesTo?: { skus: string[] } | null;
        attributeCode: string;
        catalogRef: string;
        catalogVersion?: string | number | null;
        classes?: OptionPriceClass[];
        code: string;
        defaultOptionItemCode?: string | null;
        groups?: OptionCatalogGroup[];
        label: string;
        options: OptionProfileOption[];
        pricing: OptionPricingMode | string & {};
        required: boolean;
    }
    Index
    applies?: boolean

    Only when a variant was asked for (requestedSku ≠ sku): does the position apply to it? Hide a position with applies: false on that variant's page (the footstool has no armrests).

    appliesTo?: { skus: string[] } | null

    "Gäller för": the goods SKUs the position applies to. Since API 2026-10 the rule itself (null = every goods: no list, a list naming the base product, or a matrix/dimension position); an older API sends the list as saved (a parent SKU there means all its variants). Read it through positionApplies, which handles both.

    attributeCode: string
    catalogRef: string
    catalogVersion?: string | number | null

    Slim answer (?slim=1): the options carry no pictures or attributes; read the catalog.

    classes?: OptionPriceClass[]

    Matrix positions: the product's price per class key.

    code: string
    defaultOptionItemCode?: string | null

    The profile's default choice; null for none (the fabric). Missing on an older API.

    Matrix positions: the catalog's groups in catalog order, only those with options here.

    label: string
    pricing: OptionPricingMode | string & {}

    charges: each option adds charge lines. matrix: the option's group prices the product. dimension: the option's code joins the class key ("PG5:FA") and never charges.

    required: boolean