Skip to Content

ProductVariant

Describes a product variant.

Type Definition

type ProductVariant { product: Product productId: Int measureUnit: String weightUnit: String unit: String selected: Boolean image: Image featuredImage: Image previousPrices: PreviousPriceConnection previousLowerPrice: PreviousPrice isNew: Boolean option1: ProductVariantOption option2: ProductVariantOption option3: ProductVariantOption options: [ProductVariantOption] url: String id: Int title: String hasCustomizationsWithPrice: Boolean customizations: [CustomizationGroup] inPreview: Boolean isAvailable: Boolean isDirectlyBuyable: Boolean gtin: String modelNumber: String rate: Float bundleContents: [ProductBundleContent] discountInformation: ProductDiscount promotion: ProductPromotion bulkRates: [ProductBulkRate] originalNetPrice: Float originalPrice: Float netPrice: Float price: Float tax: Float isOutOfStock: Boolean stockAlarm: Boolean discontinuedProduct: Boolean inventoryManagement: String notificationsSupported: Boolean inventoryPolicy: String attributeBasedInventory: Boolean stock: Int stockInOtherInventories: Boolean quantitiesInOtherInventories: [InventoryQuantity] sku: String deliveryTime: DeliveryTime weight: Float length: Float height: Float width: Float inCustomersWishlist: Boolean customerHasPurchased: Boolean additionalBuyButtons: Boolean contentForAdditionalBuyButtons: String financingOffers: Boolean contentForFinancingOffers: String createdAt: String updatedAt: String requiresShipping: Boolean minQuantity: Int maxQuantity: Int }

Fields

FieldTypeDescription
productProductReturns the product object.
productIdIntReturns the variant product id.
measureUnitStringReturns the measure unit name
weightUnitStringReturns the weight unit name
unitStringReturns the product quantity unit
selectedBooleanReturns true if this variant is selected in the product page.
imageImageReturns the image of the product variant. Alias for featured_image.
featuredImageImageReturns the featured image of the product variant.
previousPricesPreviousPriceConnectionReturns information about the previous prices in GraphQL format.
previousLowerPricePreviousPriceReturns information about the previous lower price in GraphQL format.
isNewBooleanReturns true if products in considered as new.
option1ProductVariantOptionReturns the first option with its selected value in GraphQL format.
option2ProductVariantOptionReturns the second option with its selected value in GraphQL format.
option3ProductVariantOptionReturns the third option with its selected value in GraphQL format.
options[ProductVariantOption]Returns all options with their selected values in GraphQL format.
urlStringReturns the url.
idIntReturns the id.
titleStringReturns the title.
hasCustomizationsWithPriceBooleanReturns true if some of the customizations are increasing product price.
customizations[CustomizationGroup]The product customization groups for this variant.
inPreviewBooleanReturns true if product is in preview.
isAvailableBooleanReturns true if product is available for purchase.
isDirectlyBuyableBooleanReturns true if product can be bought without selecting any attributes.
gtinStringReturns the GTIN number.
modelNumberStringReturns the product model number.
rateFloatReturns the tax rate. This is same as product tax rate.
bundleContents[ProductBundleContent]Returns the bundle contents.
discountInformationProductDiscountReturns the discount if any.
promotionProductPromotionReturns the promotion if any.
bulkRates[ProductBulkRate]Returns the bulk rates if any.
originalNetPriceFloatReturns the original net price without any discounts
originalPriceFloatReturns the original price without any discounts
netPriceFloatReturns the net price
priceFloatReturns the price
taxFloatReturns the tax amount
isOutOfStockBooleanReturns true if product is out of stock
stockAlarmBooleanReturns true if product is low on stock.
discontinuedProductBooleanReturns true if product won’t be restocked when it runs out of stock.
inventoryManagementStringReturns the inventory management.
notificationsSupportedBooleanReturns true if product supports availability notifications.
inventoryPolicyStringReturns the inventory policy, continue or deny.
attributeBasedInventoryBooleanReturns true if inventory is based on attributes rather than on product itself.
stockIntReturns the stock quantity
stockInOtherInventoriesBooleanReturns true if product has stock set in other inventories.
quantitiesInOtherInventories[InventoryQuantity]Returns the stock quantity in other inventories in GraphQL format.
skuStringReturns the SKU
deliveryTimeDeliveryTimeReturns the delivery time in GraphQL format.
weightFloatReturns the weight
lengthFloatReturns the length
heightFloatReturns the height
widthFloatReturns the width
inCustomersWishlistBooleanReturns true if products is in customers wishlist.
customerHasPurchasedBooleanReturns true if customer has purchased the product.
additionalBuyButtonsBooleanReturns true if there are additional buy buttons.
contentForAdditionalBuyButtonsStringReturns the content for the additional buy buttons.
financingOffersBooleanReturns the financing offers.
contentForFinancingOffersStringReturns the content for the financing offers.
createdAtStringReturns the creation date.
updatedAtStringReturns the last updated date.
requiresShippingBooleanReturns true if product requires shipping.
minQuantityIntReturns the minimum quantity that can be bought.
maxQuantityIntReturns the maximum quantity that can be bought.

Relationships

ProductVariant represents a specific variant of a product and maintains relationships with several key types. It references a parent Product object, allowing access to product-level information. The variant can contain multiple ProductVariantOption objects representing customizable attributes. It also relates to pricing and promotional information through PreviousPrice, ProductDiscount, ProductPromotion, and ProductBulkRate types. The variant can include visual content via Image and shipping details through DeliveryTime. For products with bundles, it references ProductBundleContent, and for customizable products, it contains CustomizationGroup objects. Inventory information across multiple locations is accessible through InventoryQuantity.

Example

{ productVariant(id: 12345) { id title sku price netPrice originalPrice isAvailable isOutOfStock stock product { id title } featuredImage { url alt } options { name value } deliveryTime { min max } } }

Implements

This type does not implement any interfaces.