Skip to content

Latest commit

 

History

History
56 lines (46 loc) · 7.2 KB

catalog-item-variation.md

File metadata and controls

56 lines (46 loc) · 7.2 KB

Catalog Item Variation

An item variation, representing a product for sale, in the Catalog object model. Each item must have at least one item variation and can have at most 250 item variations.

An item variation can be sellable, stockable, or both if it has a unit of measure for its count for the sold number of the variation, the stocked number of the variation, or both. For example, when a variation representing wine is stocked and sold by the bottle, the variation is both stockable and sellable. But when a variation of the wine is sold by the glass, the sold units cannot be used as a measure of the stocked units. This by-the-glass variation is sellable, but not stockable. To accurately keep track of the wine's inventory count at any time, the sellable count must be converted to stockable count. Typically, the seller defines this unit conversion. For example, 1 bottle equals 5 glasses. The Square API exposes the stockable_conversion property on the variation to specify the conversion. Thus, when two glasses of the wine are sold, the sellable count decreases by 2, and the stockable count automatically decreases by 0.4 bottle according to the conversion.

Structure

Catalog Item Variation

Fields

Name Type Tags Description
item_id String Optional The ID of the CatalogItem associated with this item variation.
name String Optional The item variation's name. This is a searchable attribute for use in applicable query filters.

Its value has a maximum length of 255 Unicode code points. However, when the parent item
uses item options, this attribute is auto-generated, read-only, and can be
longer than 255 Unicode code points.
sku String Optional The item variation's SKU, if any. This is a searchable attribute for use in applicable query filters.
upc String Optional The universal product code (UPC) of the item variation, if any. This is a searchable attribute for use in applicable query filters.

The value of this attribute should be a number of 12-14 digits long. This restriction is enforced on the Square Seller Dashboard,
Square Point of Sale or Retail Point of Sale apps, where this attribute shows in the GTIN field. If a non-compliant UPC value is assigned
to this attribute using the API, the value is not editable on the Seller Dashboard, Square Point of Sale or Retail Point of Sale apps
unless it is updated to fit the expected format.
ordinal Integer Optional The order in which this item variation should be displayed. This value is read-only. On writes, the ordinal
for each item variation within a parent CatalogItem is set according to the item variations's
position. On reads, the value is not guaranteed to be sequential or unique.
pricing_type String (Catalog Pricing Type) Optional Indicates whether the price of a CatalogItemVariation should be entered manually at the time of sale.
price_money Money Hash Optional Represents an amount of money. Money fields can be signed or unsigned.
Fields that do not explicitly define whether they are signed or unsigned are
considered unsigned and can only hold positive amounts. For signed fields, the
sign of the value indicates the purpose of the money transfer. See
Working with Monetary Amounts
for more information.
location_overrides Array<Item Variation Location Overrides Hash> Optional Per-location price and inventory overrides.
track_inventory TrueClass | FalseClass Optional If true, inventory tracking is active for the variation.
inventory_alert_type String (Inventory Alert Type) Optional Indicates whether Square should alert the merchant when the inventory quantity of a CatalogItemVariation is low.
inventory_alert_threshold Integer Optional If the inventory quantity for the variation is less than or equal to this value and inventory_alert_type
is LOW_QUANTITY, the variation displays an alert in the merchant dashboard.

This value is always an integer.
user_data String Optional Arbitrary user metadata to associate with the item variation. This attribute value length is of Unicode code points.
Constraints: Maximum Length: 255
service_duration Integer Optional If the CatalogItem that owns this item variation is of type
APPOINTMENTS_SERVICE, then this is the duration of the service in milliseconds. For
example, a 30 minute appointment would have the value 1800000, which is equal to
30 (minutes) * 60 (seconds per minute) * 1000 (milliseconds per second).
available_for_booking TrueClass | FalseClass Optional If the CatalogItem that owns this item variation is of type
APPOINTMENTS_SERVICE, a bool representing whether this service is available for booking.
item_option_values Array<Catalog Item Option Value for Item Variation Hash> Optional List of item option values associated with this item variation. Listed
in the same order as the item options of the parent item.
measurement_unit_id String Optional ID of the ‘CatalogMeasurementUnit’ that is used to measure the quantity
sold of this item variation. If left unset, the item will be sold in
whole quantities.
sellable TrueClass | FalseClass Optional Whether this variation can be sold. The inventory count of a sellable variation indicates
the number of units available for sale. When a variation is both stockable and sellable,
its sellable inventory count can be smaller than or equal to its stockable count.
stockable TrueClass | FalseClass Optional Whether stock is counted directly on this variation (TRUE) or only on its components (FALSE).
When a variation is both stockable and sellable, the inventory count of a stockable variation keeps track of the number of units of this variation in stock
and is not an indicator of the number of units of the variation that can be sold.
image_ids Array<String> Optional The IDs of images associated with this CatalogItemVariation instance.
These images will be shown to customers in Square Online Store.
team_member_ids Array<String> Optional Tokens of employees that can perform the service represented by this variation. Only valid for
variations of type APPOINTMENTS_SERVICE.
stockable_conversion Catalog Stock Conversion Hash Optional Represents the rule of conversion between a stockable CatalogItemVariation
and a non-stockable sell-by or receive-by CatalogItemVariation that
share the same underlying stock.

Example (as JSON)

{
  "item_id": "item_id4",
  "name": "name4",
  "sku": "sku0",
  "upc": "upc2",
  "ordinal": 76
}