export interface Product {
  id: number
  link_rewrite: string
  name: string
  cover_picture_uuid: string
  description: string
  price: number
  formatted_price: string
  in_stock: number
  is_sale_active: boolean
  applied_tax_rate: number
  tax_name: string
}

export interface CartProduct {
  cart_item_id: number
  link_rewrite: string
  name: string
  picture_uuid: string
  product_id: number
  quantity: number
  single_item_price: number
  total_price: number
}

export interface UserCart {
  cart_items: CartProduct[]
  checkout_in_progress: boolean
  currency_iso: string
  id: number
  total_value: number
}

export interface ProductItem {
  id: number
  cover_picture_uuid: string
  name: string
  price: number
  applied_tax_rate: number
  tax_name: string
  buyout_price: number
  buyout_price_reduction: number
  sale_active: boolean
  in_stock: number
  reference: string
  description: string
  description_short: string
  link_rewrite: string
  meta_title: string
  meta_description: string
  weight: number
  features: FeatureProductItem[]
  categories: CategoryProductItem[]
  picture_uuids: string[]
  video_uuids: string[]
  recommendations: RecommendationProductItem[]
}

export interface FeatureProductItem {
  feature_id: number
  feature: string
  value_id: number
  value: string
}

export interface CategoryProductItem {
  id: number
  name: string
  link_rewrite: string
  parent_id: number
}

export interface RecommendationProductItem {
  id: number
  link_rewrite: string
  name: string
  cover_picture_uuid: string
  description: string
  price: number
  formatted_price: string
  in_stock: number
  is_sale_active: boolean
  applied_tax_rate: number
  tax_name: string
}
