Appearance
An alcoholic beverage product available at LCBO stores
graphql
type Product {
externalId: String!
sku: String!
name: String!
primaryCategory: String
producerName: String
origin: String
countryOfManufacture: String
regionName: String
priceInCents: Int!
shortDescription: String
thumbnailUrl: URL
upcNumber: String
alcoholPercent: Float
unitVolumeMl: Int
sellingPackage: String
bottlesPerPack: Int
bottlesPerCase: Int
isBuyable: Boolean
isSeasonal: Boolean
isVqa: Boolean
isKosher: Boolean
sellRankMonthly: Int
sellRankYearly: Int
viewRankYearly: Int
updatedAt: DateTime!
pricePerAlcoholMl: Float
inventories(
filters: InventoryFilterInput
pagination: PaginationInput
sortBy: InventorySortField
sortDirection: SortDirection
): InventoryConnection!
categories: [Category!]!
history(
filters: HistoryFilterInput!
): [ProductHistory!]!
}Fields
Product.externalId ● String! non-null scalar
LCBO internal reference ID (e.g., "123456")
Product.sku ● String! non-null scalar
Stock Keeping Unit - Main identifier for products (e.g., "12345")
Product.name ● String! non-null scalar
Official product name
Product.primaryCategory ● String scalar
Product.producerName ● String scalar
Product.origin ● String scalar
Product.countryOfManufacture ● String scalar
Product.regionName ● String scalar
Product.priceInCents ● Int! non-null scalar
Product.shortDescription ● String scalar
Product.thumbnailUrl ● URL scalar
Product.upcNumber ● String scalar
Product.alcoholPercent ● Float scalar
Product.unitVolumeMl ● Int scalar
Product.sellingPackage ● String scalar
Product.bottlesPerPack ● Int scalar
Product.bottlesPerCase ● Int scalar
Product.isBuyable ● Boolean scalar
Product.isSeasonal ● Boolean scalar
Product.isVqa ● Boolean scalar
Product.isKosher ● Boolean scalar
Product.sellRankMonthly ● Int scalar
Product.sellRankYearly ● Int scalar
Product.viewRankYearly ● Int scalar
Product.updatedAt ● DateTime! non-null scalar
Product.pricePerAlcoholMl ● Float scalar
Price per milliliter of pure alcohol in cents (computed field). Calculated as: priceInCents / (unitVolumeMl * alcoholPercent / 100) Lower values indicate better value for alcohol content. Null if alcoholPercent or unitVolumeMl is not available.
Product.inventories ● InventoryConnection! non-null object
Get inventories for this product with optional filtering, pagination, and sorting. Supports geospatial filtering, minimum quantity filtering, and sorting by quantity, distance, price, or updated_at.
Product.inventories.filters ● InventoryFilterInput input
Product.inventories.pagination ● PaginationInput input
Product.inventories.sortBy ● InventorySortField enum
Product.inventories.sortDirection ● SortDirection enum
Product.categories ● [Category!]! non-null object
Categories this product belongs to
Product.history ● [ProductHistory!]! non-null object
Get historical changes for this product
⚠️ EXPERIMENTAL: History API is in beta. Schema and behavior may change without notice.
Product.history.filters ● HistoryFilterInput! non-null input
Returned By
product query
Member Of
Inventory object ● ProductEdge object