A product variant is the item you actually sell to a customer. Since a product can have one or more variants, a specific variant must be specified when adding an item to a customer's cart. 

Variants have option-specific properties that will inform the customer which version (size, color, etc.) of the product they are choosing to purchase.

Properties

id - Integer - Unique id of the product.

description - String - Brief variant description, usually specifying the specified product options.

on_sale - Boolean - Indicates if the variant is on sale.

sale_price - Decimal - The sale price of the variant.

gsa? - Boolean - Indicates whether or not the variant is eligible for GSA pricing.

status - String - The current status of the variant (e.g. active , inactive ).

images -  [Image] - Array of images.

price - Decimal - The advertised price of the variant. If the variant is on sale the sale price will be returned here.

regular_price - Decimal - The normal/non-sale price of the variant.

inventories - [Inventory] - Array on inventories.

primary_image - Image - The primary image of the variant.

moq - Integer - The minimum order quantity allowed for this variant. If a lower value than this is specified when adding to the cart, the cart quantity will be updated to contain at least the moq.

sold_in_groups_of - Integer - The multiple that quantity of the variant must be ordered in. When adding to the cart, the quantity added will be modified to the least common multiple of this value.

regular_prices - [Price] - An array of regular Prices.

sale_prices - [Price] - An array of sale Prices.

gsa_prices - [Price] - An array of gsa Prices.

part_number - The varian't part number identifier.

selected? - Boolean -Indicates whether or not the variant has been selected. This returns true  if the variant id was present in the url query (e.g. ?variant={{ variant_id }}.

to_json - Hash - Hash representation.

Did this answer your question?