Application Load

IProduct

The physical TypeScript declaration from the Nuxt starter, with linked types and field comments.

IProduct

Product details, prices, images and available variants.

app/interfaces/orionplace/products/IProduct.ts
TypeScript
export interface IProduct {
  // Product ID.
  id: number;
  // Product variant-group ID.
  product_group_id: number;
  // ID of the current customer's wishlist entry for this product; null when no
  // entry exists.
  whishlist_id?: number | null;
  // ID of the product’s main category.
  main_category?: number | null;
  // ID of the current customer’s availability-notification subscription for
  // this product; null for guests or when no subscription exists.
  subscription_id?: number | null;
  // `true` — the product requires no shipping.
  is_digital?: boolean;
  // Product translations by language code. Collection records contain
  // `product_name`, `product_slug` and `short_description`; detailed ID records
  // add the translation ID, title, long description and SEO fields.
  locale: Record<string, Partial<IProductLocale>>;
  // Price multiplier: `1` means no discount; `0.8` means 80% of the base price.
  discount: number;
  // Product quantity and totals in the cart; `null` when cart data is
  // unavailable.
  cart_counts?: IProductCartCounts | null;
  // Product price before discount, by currency ID.
  base_price_dict: Record<string, ITransformValue>;
  // Discounted product price by currency ID. The amount is in
  // `transform_value`.
  product_price_dict: Record<string, ITransformValue>;
  // Product images; `null` when there are none.
  images?: IProductImages | null;
  // Product weight by unit ID. Present in detailed `filters.id` and
  // `filters.id_in` responses.
  weight_dict?: Record<string, ITransformValue>;
  // Product length, width and height by unit ID. Present in detailed
  // `filters.id` and `filters.id_in` responses.
  length_dict?: IProductDimensions;
  // Primary product variant type and its values; the object can be empty.
  variants: IProductVariants;
  // Product badge flags.
  flags: IProductFlags;
  // Seller details returned by product endpoints or resolved by the product
  // store from an Application Load `seller_id`.
  seller: IProductSeller;
  // Product publication state and its display text.
  status: IProductStatus;
  // Available product stock.
  c_real_left: number;
  // Time of the product’s last edit (ISO 8601): its names, descriptions, prices
  // or stock settings. Storefront sitemaps use it as the page’s `lastmod`.
  date_updated?: string | null;
  // Number of approved reviews and average product rating in this storefront’s
  // store group.
  feedback_stat: IProductFeedbackStat;
  // Related published products, supplied in individual product details.
  related?: IProductRelated | null;
  // Secondary variant type and products matching this product’s primary value;
  // supplied in individual product details or detailed cart data.
  secondary_variants?: IProductSecondaryVariants | null;
  // Flag returned as true in individual product details. It does not replace
  // permission checks when submitting a review.
  feedback_allowed?: boolean;
  // Product attribute groups supplied in individual product details.
  attributes?: IProductAttribute[] | Record<string, IProductAttribute>;
  // Product videos and their preview URLs, supplied in individual product
  // details.
  videos?: IProductVideo[];
  // Manufacturer ID, name and image URLs, supplied in individual product
  // details.
  manufacture?: IProductManufacture | null;
  // Configured product return periods in days, supplied in individual product
  // details.
  refunds?: IProductRefunds | null;
  // Initial review page, rating distribution, review images and current
  // customer’s review reference, supplied in individual product details.
  feedbacks?: IProductFeedbacks | null;
}