/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.2.6 * User agent: apibuilder app.apibuilder.io/bombas/storeback-api/0.2.6/http4s_0_22 */ package bombas.storeback.api.v0.models { /** * @param name The name of the breadcrumb section * @param link Pieces of a collections page url to use for link * @param position Order position */ final case class Breadcrumb( name: _root_.scala.Option[String] = None, link: _root_.scala.Option[String] = None, position: _root_.scala.Option[Int] = None ) /** * @param id The slug id of the color * @param position The order in which the color should be displayed * @param name The name of the color * @param fill A 80x80 url of an image of the swatch to use on FE */ final case class Color( id: _root_.scala.Option[String] = None, position: _root_.scala.Option[Int] = None, name: _root_.scala.Option[String] = None, fill: _root_.scala.Option[String] = None ) /** * @param iconHandle the name used to generate the silhouette icon image for a product detail * @param title the title of the details / set of tech features */ final case class Detail( iconHandle: _root_.scala.Option[String] = None, title: _root_.scala.Option[String] = None, tech: _root_.scala.Option[Seq[bombas.storeback.api.v0.models.Tech]] = None ) /** * @param id A unique numeric identifier for the product image. * @param position The order of the product image in the list. The first product image is at * position 1 and is the 'main' image for the product. * @param alt ALT text * @param src Specifies the location of the product image. This parameter supports URL filters * that you can use to retrieve modified copies of the image. For example, add * _small, to the filename to retrieve a scaled copy of the image at 100 x 100 px * (for example, ipod-nano_small.png), or add _2048x2048 to retrieve a copy of the * image constrained at 2048 x 2048 px resolution (for example, * ipod-nano_2048x2048.png). */ final case class Image( id: _root_.scala.Option[Int] = None, position: _root_.scala.Option[Int] = None, alt: _root_.scala.Option[String] = None, src: _root_.scala.Option[String] = None ) /** * @param msrp The original price of the item before an adjustment or a sale. * @param price The price of the product variant. * @param isDiscounted true If the product is discounted * @param percentOff percentOff which is a whole number as a string, based on the percentage price is * off of msrp prices. */ final case class Price( msrp: _root_.scala.Option[String] = None, price: _root_.scala.Option[String] = None, isDiscounted: _root_.scala.Option[Boolean] = None, percentOff: _root_.scala.Option[String] = None ) /** * @param id An unsigned 64-bit integer that's used as a unique identifier for the product. * Each id is unique across the Shopify system. No two products will have the same * id, even if they're from different shops. * @param title The name of the product. * @param handle A unique human-friendly string for the product. Automatically generated from the * product's title. Used by the Liquid templating language to refer to objects. * @param description A description of the product. * @param descriptionHtml A description of the product. Supports HTML formatting. * @param itemCount The number of units included. If it is > 1, then it is a pack. * @param productType The product type * @param gender The marketed gender of the products * @param createdAt The date and time (ISO 8601 format) when the product was created. * @param updatedAt The date and time (ISO 8601 format) when the product was last modified. */ final case class Product( id: _root_.scala.Option[Long] = None, title: _root_.scala.Option[String] = None, handle: _root_.scala.Option[String] = None, description: _root_.scala.Option[String] = None, descriptionHtml: _root_.scala.Option[String] = None, itemCount: _root_.scala.Option[Int] = None, productType: _root_.scala.Option[String] = None, gender: _root_.scala.Option[String] = None, colors: _root_.scala.Option[Seq[bombas.storeback.api.v0.models.Color]] = None, sizes: _root_.scala.Option[Seq[bombas.storeback.api.v0.models.Size]] = None, images: _root_.scala.Option[Seq[Map[String, _root_.io.circe.Json]]] = None, variants: _root_.scala.Option[Seq[bombas.storeback.api.v0.models.Variant]] = None, breadcrumbs: _root_.scala.Option[Seq[bombas.storeback.api.v0.models.Breadcrumb]] = None, details: _root_.scala.Option[Seq[bombas.storeback.api.v0.models.Detail]] = None, createdAt: _root_.scala.Option[String] = None, updatedAt: _root_.scala.Option[String] = None ) /** * @param requiresShipping This property is deprecated. Use the `requires_shipping` property on the * InventoryItem resource instead. * @param grams The weight of the product variant in grams. * @param weight The weight of the product variant in the unit system specified with weight_unit. * @param weightUnit The unit of measurement that applies to the product variant's weight. If you * don't specify a value for weight_unit, then the shop's default unit of * measurement is applied. Valid values: g, kg, oz, and lb. */ final case class Shipping( requiresShipping: _root_.scala.Option[Boolean] = None, grams: _root_.scala.Option[Int] = None, weight: _root_.scala.Option[Int] = None, weightUnit: _root_.scala.Option[String] = None ) /** * A particular size options for a product * * @param name The name of the option which this size was created from */ final case class Size( name: _root_.scala.Option[String] = None, values: _root_.scala.Option[Seq[bombas.storeback.api.v0.models.SizeValues]] = None ) /** * @param id The internal name of the size * @param name The visual name of the size * @param guidance Size related guidance for more specific examples for the user */ final case class SizeValues( id: _root_.scala.Option[String] = None, name: _root_.scala.Option[String] = None, guidance: _root_.scala.Option[String] = None ) /** * @param title name of the tech feature * @param handle a unique internal name used to identify the tech feature * @param content the copy wrote for the tech feature */ final case class Tech( title: _root_.scala.Option[String] = None, handle: _root_.scala.Option[String] = None, content: _root_.scala.Option[String] = None ) /** * @param id The unique numeric identifier for the product variant. * @param productId The unique numeric identifier for the product. * @param sku A unique identifier for the product variant in the shop. Required in order to * connect to a FulfillmentService. * @param title The title of the product variant. * @param isAvailable If the variant is availabor not * @param createdAt The date and time (ISO 8601 format) when the product was created. * @param updatedAt The date and time (ISO 8601 format) when the product was last modified. */ final case class Variant( id: _root_.scala.Option[Long] = None, productId: _root_.scala.Option[Long] = None, sku: _root_.scala.Option[String] = None, title: _root_.scala.Option[String] = None, isAvailable: _root_.scala.Option[Boolean] = None, price: _root_.scala.Option[bombas.storeback.api.v0.models.Price] = None, shipping: _root_.scala.Option[bombas.storeback.api.v0.models.Shipping] = None, createdAt: _root_.scala.Option[String] = None, updatedAt: _root_.scala.Option[String] = None, sizes: _root_.scala.Option[Seq[bombas.storeback.api.v0.models.Size]] = None ) }