Redirect 301 redirect from GET @news_single (7612c7)

GET https://b2c-leobro.url.org.ua/dzherela-bezperebynogo-zhivlennya/c345

GraphQL requests

No HTTP queries on GraphQL endpoint(s)

Refresh with latest query

No GraphQL queries stored.

Schema: default

"""Accessory data"""
type Accessory {
  """Accessory product data"""
  product: Product!

  """Accessory section data"""
  section: AccessorySection!
}

"""The way accessories can be ordered."""
input AccessoryOrder {
  """The field in which to order accessories by."""
  field: AccessoryOrderField!

  """The direction in which to order accessories by the specified field."""
  direction: OrderDirection!
}

"""Properties by which accesories can be ordered."""
enum AccessoryOrderField {
  """Order accesories by product ID."""
  ID

  """Order accesories by product name."""
  NAME
}

"""Accessory section data"""
type AccessorySection {
  """The id of the accessory section"""
  id: ID!

  """Accessory section name"""
  name: String!

  """Is the accessory section active?"""
  isActive: Boolean
}

"""The ways in which accessory sections can be ordered."""
input AccessorySectionOrder {
  """The field in which to order accessory sections by."""
  field: AccessorySectionOrderField!

  """
  The direction in which to order accessory sections by the specified field.
  """
  direction: OrderDirection!
}

"""Properties by which accessory sections can be ordered."""
enum AccessorySectionOrderField {
  """Order accessory sections by ID."""
  ID

  """Order accessory sections by name."""
  NAME
}

"""Product accessory pagination"""
type AccessoryWithPagination {
  """Items of the pagination"""
  items: [Accessory]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Additional product data to cart product"""
type AdditionalCartProduct {
  """Cart product quantity"""
  quantity: Int!

  """Product price data"""
  price: Price!
  product: Product!
}

"""The user physical address"""
type Address implements UserContact {
  """The raw id of the record"""
  rawId: Int!

  """The record is default"""
  isDefault: Boolean!

  """The record value"""
  value: String!
}

input AddressInput {
  value: String!
  isDefault: Boolean
}

"""Article data"""
type Article {
  """Article SEO data"""
  seo: Seo!

  """The id of the article"""
  id: ID!

  """The raw id of the article"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Article name"""
  name: String!

  """Article slug"""
  slug: String!

  """Article description"""
  description: String

  """Article short description"""
  shortDescription: String

  """Is the article active?"""
  isActive: Boolean

  """Article weight"""
  weight: Int

  """Article num views"""
  views: Int!

  """Article date"""
  articleDate: DateTime!

  """Article show date start"""
  showDateStart: DateTime

  """Article show date end"""
  showDateEnd: DateTime

  """Chain of parent article sections"""
  parentsChain: [ArticleSection]

  """Article images list"""
  images: [ArticleImage!]
}

"""Article image data"""
type ArticleImage {
  """Article image"""
  file: String!

  """Article image mime type"""
  mimeType: String!
}

"""The ways in which article sections can be ordered."""
input ArticleOrder {
  """The field in which to order article sections by."""
  field: ArticleOrderField!

  """
  The direction in which to order article sections by the specified field.
  """
  direction: OrderDirection!
}

"""Properties by which articles can be ordered."""
enum ArticleOrderField {
  """Order articles by ID."""
  ID

  """Order articles by weight."""
  WEIGHT

  """Order articles by name."""
  NAME

  """Order articles by created at date."""
  DATE

  """Order articles by views count."""
  VIEWS
}

"""Article section data"""
type ArticleSection {
  """Article section SEO data"""
  seo: Seo!

  """The id of the article section"""
  id: ID!

  """The raw id of the article section"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Article section name"""
  name: String!

  """Article section slug"""
  slug: String!

  """Article section description"""
  description: String

  """Is the article section active?"""
  isActive: Boolean

  """Article section weight"""
  weight: Int

  """Chain of parent article sections"""
  parentsChain: [ArticleSection]

  """List of child article sections"""
  childSections: [ArticleSection]

  """List of child articles"""
  articles(
    page: Int = 1
    limit: Int = 10

    """Ordering options for article list."""
    orderBy: ArticleOrder = {field: WEIGHT, direction: ASC}
  ): ArticlesWithPagination

  """Article images list"""
  images: [ArticleImage!]
}

"""The ways in which article sections can be ordered."""
input ArticleSectionOrder {
  """The field in which to order article sections by."""
  field: ArticleSectionOrderField!

  """
  The direction in which to order article sections by the specified field.
  """
  direction: OrderDirection!
}

"""Properties by which article sections can be ordered."""
enum ArticleSectionOrderField {
  """Order article sections by ID."""
  ID

  """Order article sections by weight."""
  WEIGHT

  """Order article sections by name."""
  NAME
}

"""Article pagination"""
type ArticlesWithPagination {
  """Items of the pagination"""
  items: [Article]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Authorization data"""
type Authorization {
  """Authorized user data"""
  user: User

  """JWT tokens pair"""
  tokens: TokenPair!
}

"""Credit bank data"""
type Bank {
  """The id of the bank"""
  id: ID!

  """Bank name"""
  name: String!

  """Is the credit bank active?"""
  isActive: Boolean!

  """Credit extra fields"""
  fields: [CheckoutField!]!

  """Label images"""
  image: BankImage
}

"""Bank image data"""
type BankImage {
  """Image url"""
  file: String!

  """Image mime type"""
  mimeType: String!
}

"""Banner data"""
type Banner {
  """The id of the banner"""
  id: ID!

  """Banner name"""
  name: String!

  """Banner type"""
  type: BannerType!

  """Is the banner active?"""
  isActive: Boolean

  """Banner weight"""
  weight: Int

  """Banner alternative name"""
  altName: String

  """Banner title"""
  title: String

  """Banner link"""
  link: String

  """Banner images"""
  images: [BannerImage]
}

"""Banner image data"""
type BannerImage {
  """Banner image url"""
  file: String!

  """Banner image mime type"""
  mimeType: String!

  """Screen width points for displaying banner image"""
  screenWidthPoints: Int
}

"""The ways in which banners can be ordered."""
input BannerOrder {
  """The field in which to order banners by."""
  field: BannerOrderField!

  """The direction in which to order banners by the specified field."""
  direction: OrderDirection!
}

"""Properties by which banners can be ordered."""
enum BannerOrderField {
  """Order articles by ID."""
  ID

  """Order articles by weight."""
  WEIGHT

  """Order articles by name."""
  NAME
}

"""Banner type data"""
type BannerType {
  """The id of the banner type"""
  id: ID!

  """Banner type name"""
  name: String!

  """Banner type code"""
  code: String!
}

"""Boolean specification data"""
type BooleanSpecification implements Specification {
  """The id of the specification"""
  id: ID!

  """Specification slug"""
  slug: String!

  """Specification section"""
  section: SpecificationSection!

  """Specification name"""
  name: String!

  """Specification useed as"""
  useAs: String

  """Specification description"""
  description: String

  """Specification image"""
  image: SpecificationImage

  """List of specification values"""
  values(
    page: Int = 1
    limit: Int = 10

    """Ordering options for specification values list."""
    orderBy: SpecificationValuesOrder = {field: WEIGHT, direction: ASC}

    """Specifications values data filter"""
    filter: SpecificationValuesFilter
  ): SpecificationValuesWithPagination
}

input CallbackInput {
  name: String!
  email: String
  phone: String
  question: String!
}

"""Cart data"""
type Cart {
  """Saved checkout data"""
  checkoutData: CheckoutData

  """Cart available credits"""
  credits: [Credit]

  """The id of the cart"""
  id: ID!

  """The raw id of the cart"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Cart code"""
  code: String

  """Applied promo-code"""
  promoCode: String

  """Cart amount without rebates"""
  subtotalAmount: Price!

  """Cart rebate amount"""
  rebateAmount: Price!

  """Cart total amount"""
  totalAmount: Price!

  """Cart total weight"""
  totalWeight: Float!

  """Cart's owner"""
  owner: Customer

  """Cart's products list"""
  products: [CartProduct]
}

"""Results of cart merging"""
enum CartMergeResponse {
  """Cart was not found"""
  NOT_FOUND

  """Carts were successfully merged"""
  MERGED

  """Cart was assigned to the User"""
  MOVED
}

"""Cart product data"""
type CartProduct {
  """Product Cart"""
  cart: Cart!

  """Cart product quantity"""
  quantity: Int!

  """Product price data"""
  price: Price!

  """Product total price data"""
  totalPrice: Price!

  """Product weight"""
  weight: Float!

  """Product total weight"""
  totalWeight: Float!
  product: Product!

  """Cart product property"""
  property: String!

  """Additional products to cart product"""
  additionalProducts: [AdditionalCartProduct]
}

"""Category pagination"""
type CategoriesWithPagination {
  """Items of the pagination"""
  items: [Category]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Category data"""
type Category {
  """Category SEO data"""
  seo: Seo!

  """The id of the category"""
  id: ID!

  """The raw id of the category"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Category name"""
  name: String!

  """Category slug"""
  slug: String!

  """Chain of the categories slugs"""
  chainSlug: String!

  """Category short description"""
  shortDescription: String

  """Category description"""
  description: String

  """Category image"""
  image: CategoryImage

  """Is the category active?"""
  isActive: Boolean!

  """Chain of parent categories"""
  parentsChain: [Category]

  """Children categories"""
  children: [Category]

  """Are there any subcategories in the category?"""
  hasChildren: Boolean!

  """Category level"""
  level: Int!

  """Show category in top list"""
  isTop: Boolean!
}

"""Represents the category and its filters"""
type CategoryFilters {
  """Represents the category data"""
  category: Category!

  """Represents the category filters"""
  filters: [Filter]
}

"""Category filters data. Applay only if CatalogFiltersBundle active"""
input CategoryFiltersInput {
  """Slug of the selected filter."""
  slug: String!

  """Slug of the selected filter values."""
  values: [String]

  """Is the selected filter data for slider"""
  isSlider: Boolean

  """Selected filter slider value from"""
  from: Float

  """Selected filter slider value to"""
  to: Float
}

"""Category image data"""
type CategoryImage {
  """Category image url"""
  file: String!

  """Banner image mime type"""
  mimeType: String!
}

"""The ways in which categories can be ordered."""
input CategoryOrder {
  """The field in which to order categories by."""
  field: CategoryOrderField!

  """The direction in which to order categories by the specified field."""
  direction: OrderDirection!
}

"""Properties by which categories can be ordered."""
enum CategoryOrderField {
  """Order categories by ID."""
  ID

  """Order categories by weight."""
  WEIGHT

  """Order categories by name."""
  NAME
}

"""Stored checkout data"""
type CheckoutData {
  customer: CustomerCheckoutData
  delivery: DeliveryCheckoutData
  payment: PaymentCheckoutData

  """Delivery city id"""
  city: City
}

"""Checkout field data"""
type CheckoutField {
  """Field name"""
  name: String!

  """Field type"""
  type: CheckoutFieldType!

  """Field title"""
  title: String!

  """Is field required"""
  required: Boolean!

  """Another field that this field depends on"""
  dependsOn: String

  """URL for retriving field data (cities list, for example)"""
  ajaxUrl: String

  """Choices for list field"""
  choices: [KeyValueType!]

  """Field that contains value for autocomplete field"""
  valueField: String
}

"""Types of checkout fields"""
enum CheckoutFieldType {
  """Text input field"""
  TEXT

  """Number input field"""
  NUMBER

  """Textarea field"""
  TEXTAREA

  """Email input field"""
  EMAIL

  """Phone input field"""
  PHONE

  """Date input field"""
  DATE

  """List field"""
  LIST

  """Hidden field"""
  HIDDEN_INPUT

  """Autocomplete input field"""
  AUTOCOMPLETE
}

input CheckoutInput {
  """Comments to the order"""
  comments: String
}

"""Cities list with pagination"""
type CitiesWithPagination {
  """Items of the pagination"""
  items: [City]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Delivery city data"""
type City {
  """City identifier"""
  id: ID!

  """City ref"""
  ref: String!

  """City type"""
  typeName: String!

  """City name"""
  name: String!

  """City region"""
  region: String!

  """City district"""
  district: String!

  """City full name"""
  fullName: String!
}

"""City courier street"""
type CityCourierStreet {
  """Street id"""
  id: Int!

  """Street name"""
  name: String!
}

"""City courier house"""
type CityCourierStreetAddress {
  """Address ID"""
  id: Int!

  """House number"""
  houseNumber: String!
}

"""City address list with pagination"""
type CityStreetAddressesWithPagination {
  """Items of the pagination"""
  items: [CityCourierStreetAddress]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""City street list with pagination"""
type CityStreetsWithPagination {
  """Items of the pagination"""
  items: [CityCourierStreet]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Color specification data"""
type ColorSpecification implements Specification {
  """Is specification can have multiple values for a single product"""
  isMultiValued: Boolean

  """The id of the specification"""
  id: ID!

  """Specification slug"""
  slug: String!

  """Specification section"""
  section: SpecificationSection!

  """Specification name"""
  name: String!

  """Specification useed as"""
  useAs: String

  """Specification description"""
  description: String

  """Specification image"""
  image: SpecificationImage

  """List of specification values"""
  values(
    page: Int = 1
    limit: Int = 10

    """Ordering options for specification values list."""
    orderBy: SpecificationValuesOrder = {field: WEIGHT, direction: ASC}

    """Specifications values data filter"""
    filter: SpecificationValuesFilter
  ): SpecificationValuesWithPagination
}

"""Company profile"""
type Company implements User {
  """The company enterprise form"""
  enterpriseForm: String

  """The company name"""
  shortName: String

  """TThe company full name"""
  fullName: String!

  """The id of the user"""
  id: ID!

  """The raw id of the user"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """The user name"""
  userName: String!

  """The user email"""
  email: String

  """The user price type"""
  priceType: UserPriceType!

  """The note about user"""
  note: String

  """The list of user phones"""
  phones: [Phone!]

  """The list of user emails"""
  emails: [Email!]

  """The list of user faxes"""
  faxes: [Fax!]

  """The list of physical addresses of the user"""
  addresses: [Address!]

  """The list of delivery addresses of the user"""
  deliveryAddresses: [DeliveryAddress!]

  """The user logo image file path"""
  logo: String
}

input CompanyEditInput {
  enterpriseForm: String
  shortName: String
  fullName: String
  emails: [EmailInput!]
  phones: [PhoneInput!]
  addresses: [AddressInput!]
  deliveryAddresses: [AddressInput!]
  password: String
  passwordConfirm: String
}

input CompanyRegisterInput {
  enterpriseForm: String
  shortName: String
  fullName: String!
  email: String!
  phone: String
  password: String!
  passwordConfirm: String!
}

"""Credit data"""
type Credit {
  """Credit bank data"""
  bank: Bank!

  """Maximal credit term data"""
  maxTerm: CreditTerm!

  """Allowed credit terms data"""
  terms: [CreditTerm!]!
}

"""Credit term data"""
type CreditTerm {
  """Credit term"""
  term: Int!

  """Credit monthly price data"""
  monthlyPrice: Price!

  """Credit total price data"""
  totalPrice: Price!
}

"""Currency data"""
type Currency {
  """Currency id"""
  id: ID!

  """Currency ISO"""
  iso: String!

  """Currency symbol"""
  symbol: String!

  """Currency name"""
  name: String!

  """Currency rate"""
  rate: Float!
}

"""Contragent profile"""
type Customer implements User {
  """The user first name"""
  firstName: String!

  """The user last name"""
  lastName: String

  """The user middle name"""
  middleName: String

  """The user date of birth"""
  dateOfBirth: String

  """The Customer's gender"""
  gender: CustomerGenderType

  """The id of the user"""
  id: ID!

  """The raw id of the user"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """The user name"""
  userName: String!

  """The user email"""
  email: String

  """The user price type"""
  priceType: UserPriceType!

  """The note about user"""
  note: String

  """The list of user phones"""
  phones: [Phone!]

  """The list of user emails"""
  emails: [Email!]

  """The list of user faxes"""
  faxes: [Fax!]

  """The list of physical addresses of the user"""
  addresses: [Address!]

  """The list of delivery addresses of the user"""
  deliveryAddresses: [DeliveryAddress!]

  """The user logo image file path"""
  logo: String
}

"""Customer checkout data"""
type CustomerCheckoutData {
  firstName: String!
  lastName: String!
  email: String
  phone: String
}

"""Customer checkout data"""
input CustomerDataInput {
  firstName: String!
  lastName: String!
  email: String
  phone: String!
}

input CustomerEditInput {
  firstName: String!
  lastName: String
  middleName: String
  gender: CustomerGenderType
  emails: [EmailInput!]
  phones: [PhoneInput!]
  addresses: [AddressInput!]
  deliveryAddresses: [AddressInput!]
  password: String
  passwordConfirm: String
}

"""The list of Customer's genders"""
enum CustomerGenderType {
  """Not selected gender"""
  GENDER_NONE

  """Male gender"""
  GENDER_MALE

  """Female gender"""
  GENDER_FEMALE
}

input CustomerRegisterInput {
  firstName: String!
  lastName: String
  email: String!
  phone: String
  password: String!
  passwordConfirm: String!
}

"""Date specification data"""
type DateSpecification implements Specification {
  """The id of the specification"""
  id: ID!

  """Specification slug"""
  slug: String!

  """Specification section"""
  section: SpecificationSection!

  """Specification name"""
  name: String!

  """Specification useed as"""
  useAs: String

  """Specification description"""
  description: String

  """Specification image"""
  image: SpecificationImage

  """List of specification values"""
  values(
    page: Int = 1
    limit: Int = 10

    """Ordering options for specification values list."""
    orderBy: SpecificationValuesOrder = {field: WEIGHT, direction: ASC}

    """Specifications values data filter"""
    filter: SpecificationValuesFilter
  ): SpecificationValuesWithPagination
}

"""Datetime scalar"""
scalar DateTime

"""The user delivery address"""
type DeliveryAddress implements UserContact {
  """The raw id of the record"""
  rawId: Int!

  """The record is default"""
  isDefault: Boolean!

  """The record value"""
  value: String!
}

"""Checkout delivery data"""
type DeliveryCheckoutData {
  deliveryMethod: String!

  """Additional data to deliveryMethod e.g. city, house"""
  deliveryData: [KeyValueType!]
}

"""Checkout delivery data"""
input DeliveryDataInput {
  deliveryMethod: String!

  """Additional data to deliveryMethod e.g. city, house"""
  deliveryData: [KeyValueInput!]
}

"""Delivery method data"""
type DeliveryMethod {
  """The name of the delivery method"""
  name: String!

  """Delivery method title"""
  title: String!

  """Delivery method extra fields"""
  fields: [CheckoutField!]

  """Delivery price value"""
  price: Float

  """Price is calculated by the delivery service"""
  isPriceByDeliveryService: Boolean

  """Is the delivery method active?"""
  isActive: Boolean!
}

"""Discount data"""
type Discount {
  """Discount amount"""
  amount: Float

  """Discount currency"""
  currency: Currency

  """Is discount in percent?"""
  inPercent: Boolean

  """Discount description"""
  description: String

  """Discount expiration date"""
  dateEnd: DateTime
}

"""The user email address"""
type Email implements UserContact {
  """The raw id of the record"""
  rawId: Int!

  """The record is default"""
  isDefault: Boolean!

  """The record value"""
  value: String!
}

input EmailInput {
  value: String!
  isDefault: Boolean
}

"""The user fax number"""
type Fax implements UserContact {
  """The raw id of the record"""
  rawId: Int!

  """The record is default"""
  isDefault: Boolean!

  """The record value"""
  value: String!
}

"""Filter data"""
interface Filter {
  """The id of the filter"""
  id: ID!

  """Filter slug"""
  slug: String!

  """Filter name"""
  name: String!

  """Filter settings"""
  settings: FilterSettings!

  """If filter has selected values"""
  isSelected: Boolean!
}

"""Category identifier to retrieve the filters"""
input FilterCategory {
  """ID of the category"""
  id: ID

  """Slug of the category."""
  slug: String
}

"""Filter settings data"""
type FilterSettings {
  """Can the filter be collapsed?"""
  isCollapsible: Boolean

  """Is the filter collapsed by default?"""
  isCollapsedByDefault: Boolean

  """Filter name in collapsed state"""
  collapsedName: String

  """Specifies how filter values should be displayed"""
  viewMode: FilterViewMode
}

"""Filter value data"""
type FilterValue {
  """Filter value slug"""
  slug: String!

  """Filter value name"""
  value: String!

  """Filter value description"""
  description: String

  """Is filter value selected"""
  isSelected: Boolean!

  """The number of products matched to filter value"""
  facetSize: Int!

  """The label to number of products matched to filter value"""
  facetSizeLabel: String!

  """Is value visible when filter collapsed"""
  isVisibleWhenCollapsed: Boolean!

  """Filter value image URL"""
  image: String
}

"""Specifies how filter values should be displayed."""
enum FilterViewMode {
  """Display only label of the filter value."""
  LABEL_ONLY

  """Display image nad label of the filter value."""
  LABEL_AND_IMAGE

  """Display only image of the filter value."""
  IMAGE_ONLY
}

"""Gift data"""
type Gift {
  """Gift product price data"""
  price: Price!

  """Gift product data"""
  product: SimpleProduct!

  """Gift action description"""
  description: String
}

"""Group product data"""
type GroupProduct implements Product {
  """Product SEO data"""
  seo: Seo!

  """Product labels"""
  labels: [Label]

  """Product rating"""
  rating: Float

  """Represents the reviews data"""
  reviews(
    page: Int = 1
    limit: Int = 10

    """Ordering options for Reviews list."""
    orderBy: ReviewOrder = {field: ID, direction: DESC}
  ): ReviewsWithPagination

  """Represents the variants of group product"""
  variants: [GroupProductVariantSpecification]!

  """Short list of product specifications"""
  specificationsShortList: [ProductSpecification]

  """Full list of product specifications"""
  specificationsFullList: [ProductSpecification]

  """Product name"""
  name: String!

  """Product full description"""
  description: String

  """Product short description"""
  shortDescription: String

  """Product images"""
  images: [ProductImage]

  """Represent product presence value"""
  presence: Int

  """Represent product presence string value"""
  presenceStr: String

  """List of group products"""
  items(
    """Filtering group products"""
    filter: GroupProductItemsFilter = {onlyAvailable: true}
  ): [Product]

  """Selected item of the group product"""
  selectedItem: Product

  """Group product settings"""
  settings: GroupProductSettings!

  """The id of the Product"""
  id: ID!

  """The raw id of the Product"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Product slug"""
  slug: String!

  """Product SKU"""
  sku: String

  """Main category of the Product"""
  category: Category!

  """Is product sellable"""
  isSellable: Boolean!

  """Step size for the product quantity"""
  purchaseQuantityStep: Float!

  """Unit label for the product quantity"""
  unitLabel: String!

  """Product weight"""
  weight: Float!
}

"""Represent group product data that should be changed."""
enum GroupProductChangeField {
  """Product code should be changed."""
  CODE

  """Product name should be changed."""
  NAME

  """Product presence should be changed."""
  PRESENCE

  """Product price should be changed."""
  PRICE

  """Product images should be changed."""
  IMAGES

  """Short description of the product should be changed."""
  SHORT_DESCRIPTION

  """Full description of the product should be changed."""
  DESCRIPTION

  """Product specifications should be changed."""
  SPECIFICATIONS

  """Product labels should be changed."""
  LABELS
}

"""Represent the group product default item settings"""
type GroupProductDefaultItem {
  """The id of the default item"""
  id: ID

  """The type of the default item of the group product."""
  type: GroupProductDefaultItemType!
}

"""Represents the group product default item type."""
enum GroupProductDefaultItemType {
  """Use item with minimum price as default."""
  MIN

  """Use item with maximum price as default."""
  MAX

  """Do not use any item as default."""
  NONE

  """Use the specific item as default."""
  ITEM
}

"""Data for identify group product"""
input GroupProductIdentifier {
  """Id of the group product."""
  id: ID

  """Raw id of the group product."""
  rawId: Int

  """Slug of the group product."""
  slug: String
}

"""Represents the group product setting for images to show."""
enum GroupProductImagesToShow {
  """Show all images of group product items."""
  ALL

  """Show one image of each item from the group"""
  ONE_OF_EACH_ITEM

  """Show images only the group product"""
  GROUP_IMAGES

  """Show images of item selected by default"""
  DEFAULT_ITEM_IMAGES
}

"""Filter options for getting group product items"""
input GroupProductItemsFilter {
  """Filter group product items by presence."""
  onlyAvailable: Boolean
}

"""Represents the group product setting for presence to show."""
enum GroupProductPresenceToShow {
  """Automatically based on group product items."""
  AUTO

  """Show the presence of the item selected by default."""
  DEFAULT_ITEM_PRICE

  """Do not show presence of the group product."""
  HIDE
}

"""Represents the group product setting for price to show."""
enum GroupProductPriceToShow {
  """Show the minimum price of the group product items."""
  MIN

  """Show the maximum price of the group product items."""
  MAX

  """
  Show the range from the minimum to the maximum price of the group product items.
  """
  FROM_TO

  """
  Show the minimum price of the group product items with the label 'From'.
  """
  FROM

  """
  Show the maximum price of the group product items with the label 'To'.
  """
  TO

  """Show the price of the item selected by default."""
  DEFAULT_ITEM_PRICE

  """Do not show the price of the group product."""
  HIDE
}

"""Group product settings"""
type GroupProductSettings {
  """
  The group product data that should be changed when the group item is changed.
  """
  changeData: [GroupProductChangeField]!

  """The group product images that should be show."""
  imagesToShow: GroupProductImagesToShow!

  """The group product price that should be show."""
  priceToShow: GroupProductPriceToShow!

  """The group product presence that should be show."""
  presenceToShow: GroupProductPresenceToShow!

  """The group product specifications that should be show."""
  specificationsToShow: GroupProductSpecificationsToShow!

  """The group product default item."""
  defaultItem: GroupProductDefaultItem!
}

"""Represents the group product setting for specifications to show."""
enum GroupProductSpecificationsToShow {
  """Show common specifications of group product items."""
  AUTO

  """Show all specifications of group product items."""
  ALL

  """Show specifications only the group product."""
  GROUP_SPECIFICATIONS

  """Show specifications of the item selected by default."""
  DEFAULT_ITEM_SPECIFICATIONS

  """Show specifications manually configured"""
  MANUAL
}

"""
Represent the specification data and values of a group product variants
"""
type GroupProductVariantSpecification {
  """Specification data"""
  specification: Specification!

  """Represents a list of item specifications to form variants"""
  values: [GroupProductVariantSpecificationValue]!
}

"""Represent the specification value of a group product variant"""
type GroupProductVariantSpecificationValue {
  """The group product item data with current specification value"""
  item: SimpleProduct!

  """Specification value data"""
  value: SpecificationValue!

  """Is current specification value active"""
  isActive: Boolean!
}

"""Header notification data"""
type HeaderNotification {
  """Notification text"""
  text: String!

  """Notification link URL"""
  url: String

  """Notification date"""
  date: DateTime
}

input KeyValueInput {
  key: String!
  value: String!
}

type KeyValueType {
  key: String!
  value: String!
}

"""Label data"""
type Label {
  """The id of the Label"""
  id: ID!

  """The raw id of the Label"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Label name"""
  name: String!

  """Label position"""
  position: String!

  """Label description"""
  description: String

  """Label offset"""
  offset: LabelOffset!

  """Label images"""
  image: LabelImage
}

"""Label image data"""
type LabelImage {
  """Image url"""
  file: String!

  """Image mime type"""
  mimeType: String!
}

"""Label offset data"""
type LabelOffset {
  x: Int!
  y: Int!
}

"""The ways in which Labels can be ordered."""
input LabelOrder {
  """The field in which to order Labels by."""
  field: LabelOrderField!

  """The direction in which to order Label by the specified field."""
  direction: OrderDirection!
}

"""Properties by which Labels can be ordered."""
enum LabelOrderField {
  """Order Labels by ID."""
  ID

  """Order Labels by name."""
  NAME
}

"""Label list with pagination"""
type LabelsWithPagination {
  """Items of the pagination"""
  items: [Label]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Menu data"""
type Menu {
  """The id of the category"""
  id: ID!

  """Category name"""
  name: String!

  """Category data"""
  category: Category!

  """Menu image"""
  image: CategoryImage

  """Children menu items"""
  children: [Menu]

  """Menu filters data"""
  filters: [MenuFilter]

  """Are there any subcategories in the menu item?"""
  hasChildren: Boolean!

  """Category level"""
  level: Int!
}

"""Menu fiter data"""
type MenuFilter {
  """Filter code"""
  code: String!

  """Filter values"""
  values: [String]!
}

"""Results of wishlist merging"""
enum MergeWishlistResponse {
  """Wishlist was not found"""
  NOT_FOUND

  """Wishlists were successfully merged"""
  MERGED

  """Wishlist was assigned to the User"""
  MOVED
}

"""API mutations"""
type Mutation {
  """Authorize user via social network"""
  socialAuth(provider: String!, code: String!): Authorization

  """Link social user to authenticated user"""
  linkSocialUser(provider: String!, code: String!): Boolean!

  """Apply promo code to shopping cart"""
  promoCodeApply(code: String!, cartId: String!): Boolean!

  """Remove promo code from shopping cart"""
  promoCodeRemove(cartId: String!): Boolean!

  """Adds email to subscribes list"""
  sendCallback(input: CallbackInput!): Boolean

  """Adds email to subscribes list"""
  addSubscriber(input: SubscribeInput!): Boolean

  """Save checkout customer data to DB"""
  saveCheckoutCustomerData(cartId: String!, input: CustomerDataInput!): Cart!

  """Save checkout delivery data to DB"""
  saveCheckoutDeliveryData(cartId: String!, input: DeliveryDataInput!): Cart!

  """Save checkout delivery city to DB"""
  saveCheckoutCityData(cartId: String!, cityId: String!): Cart!

  """Save checkout payment data to DB"""
  saveCheckoutPaymentData(cartId: String!, input: PaymentDataInput!): Cart!

  """Creates a new order"""
  checkout(cartId: String!, input: CheckoutInput!): [Order!]!

  """Creates a new order"""
  quickCheckout(cartId: String!, input: QuickCheckoutInput!): [Order!]!

  """Creates a new quick order with one product"""
  quickProductCheckout(productId: String!, input: QuickCheckoutInput!, quantity: Int = 1): [Order!]!

  """Add Product to Cart by Cart ID or code"""
  addProductToCart(productId: String!, cartId: String, cartCode: String, quantity: Int = 1, property: String = null): CartProduct

  """Update Product quantity"""
  updateCartProductQuantity(productId: String!, quantity: Int!, cartId: String!, property: String = null): Boolean!

  """Delete Product from Cart"""
  deleteProductFromCart(cartId: String!, productId: String!, property: String = null): Boolean!

  """Clear Cart"""
  clearCart(cartId: String!): Boolean!

  """Merge Cart by given code to User's cart"""
  mergeCart(code: String!): CartMergeResponse!

  """Create new Wishlist"""
  createWishlist(name: String = null): Wishlist

  """Merge given Wishlist to User's default wishlist"""
  mergeWishlist(code: String!): MergeWishlistResponse!

  """Delete Wishlist"""
  deleteWishlist(id: String!): Boolean!

  """Clear Wishlist"""
  clearWishlist(id: String!): Boolean!

  """Add Product to Wishlist"""
  addProductToWishlist(wishlistId: String!, productId: String!): Boolean!

  """Delete Product from Wishlist"""
  deleteProductFromWishlist(wishlistId: String!, productId: String!): Boolean!

  """Add review to an entity"""
  addReview(input: ReviewInput!): Review

  """Increase article num views"""
  viewArticle(id: String = null, rawId: Int = null, slug: String = null): Article

  """Get new tokens pair from the vaild refresh token"""
  refreshTokens(refreshToken: String!): TokenPair

  """Site user authorization"""
  login(login: String!, password: String!): Authorization

  """Request password reset"""
  passResetRequest(email: String!): Boolean!

  """Password reset"""
  passReset(input: PassResetInput!): Authorization

  """Ends user session by the given token"""
  logout: Boolean!

  """Edit customer user data"""
  editMyCustomer(input: CustomerEditInput!): Customer

  """Edit company user data"""
  editMyCompany(input: CompanyEditInput!): Company

  """Create customer user"""
  createCustomer(input: CustomerRegisterInput!): Authorization

  """Create company user"""
  createCompany(input: CompanyRegisterInput!): Authorization

  """Dummy mutation"""
  dummyMutation: String!
}

"""Numeric specification data"""
type NumericSpecification implements Specification {
  """Is specification can have multiple values for a single product"""
  isMultiValued: Boolean

  """Specification values format"""
  format: String!

  """The id of the specification"""
  id: ID!

  """Specification slug"""
  slug: String!

  """Specification section"""
  section: SpecificationSection!

  """Specification name"""
  name: String!

  """Specification useed as"""
  useAs: String

  """Specification description"""
  description: String

  """Specification image"""
  image: SpecificationImage

  """List of specification values"""
  values(
    page: Int = 1
    limit: Int = 10

    """Ordering options for specification values list."""
    orderBy: SpecificationValuesOrder = {field: WEIGHT, direction: ASC}

    """Specifications values data filter"""
    filter: SpecificationValuesFilter
  ): SpecificationValuesWithPagination
}

"""Order data"""
type Order {
  """Order payment data"""
  payment: Payment

  """External order id"""
  externalId: String!

  """The id of the order"""
  id: ID!

  """The raw id of the order"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Order state"""
  state: OrderState!

  """Order comments"""
  customerComments: String

  """Order amount without rebates"""
  subtotalAmount: Price!

  """Order total sum"""
  totalAmount: Price!

  """Order rebate amount"""
  rebateAmount: Price!

  """Order recipient data"""
  recipient: OrderRecipient

  """Date of order creation"""
  created: DateTime

  """Order products data"""
  orderProducts: [OrderProduct]

  """Delivery data"""
  deliveryData: OrderDeliveryData

  """Payment data"""
  paymentData: OrderPaymentData
}

"""Order delivery data"""
type OrderDeliveryData {
  """Delivery method data"""
  deliveryMethod: DeliveryMethod!

  """Delivery method needs shipping or not"""
  isNeedsShipping: Boolean!

  """Delivery method title"""
  deliveryAddress: String
}

"""
Possible directions in which to order a list of items when provided an `orderBy` argument.
"""
enum OrderDirection {
  """Specifies an ascending order for a given `orderBy` argument."""
  ASC

  """Specifies a descending order for a given `orderBy` argument."""
  DESC
}

"""Filtering options for Orders list."""
input OrderFilter {
  """Filter by Order state."""
  state: [OrderState]
}

"""Order payment data"""
type OrderPaymentData {
  """Payment method data"""
  paymentMethod: PaymentMethod!

  """Payment method additional info"""
  info: [KeyValueType]
}

"""Order's product data"""
type OrderProduct {
  """ID of the order product"""
  id: ID!

  """Product quantity"""
  quantity: Float!

  """Product sale price"""
  price: Price!

  """Product total price data"""
  totalPrice: Price!

  """Related order"""
  order: Order

  """Related product"""
  product: Product
}

"""Order recipient data"""
type OrderRecipient {
  """Recipient name"""
  name: String!

  """Recipient phone"""
  phone: String!

  """Recipient email"""
  email: String

  """Delivery address"""
  deliveryAddress: String

  """Delivery city"""
  city: String

  """Delivery time"""
  time: String
}

"""Order states"""
enum OrderState {
  """Completed Order"""
  COMPLETED

  """Canceled Order"""
  CANCELED

  """Accepted Order"""
  ACCEPTED
}

"""The ways in which Orders can be ordered."""
input OrdersOrder {
  """The field in which to order Orders by."""
  field: OrdersOrderField!

  """The direction in which to order Orders by the specified field."""
  direction: OrderDirection!
}

"""Properties by which orders can be ordered."""
enum OrdersOrderField {
  """Order orderss by ID."""
  ID
}

"""Orders list with pagination"""
type OrdersWithPagination {
  """Items of the pagination"""
  items: [Order]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Pagination info"""
type PaginationInfo {
  """The current page"""
  page: Int!

  """Maximum number of results per page"""
  limit: Int

  """Total number of pages"""
  totalPages: Int!

  """Total number of items"""
  totalItems: Int!
}

input PassResetInput {
  login: String!
  code: String!
  password: String!
}

"""Payment data"""
type Payment {
  """Payment status"""
  status: PaymentStatus

  """Payment url"""
  url: String

  """Payment url expiration time"""
  urlExpirationDate: DateTime
}

"""Checkout payment data"""
type PaymentCheckoutData {
  paymentMethod: String!

  """Additional data to paymentMethod e.g. card number"""
  paymentData: [KeyValueType!]
}

"""Checkout payment data"""
input PaymentDataInput {
  paymentMethod: String!

  """Additional data to paymentMethod e.g. card number"""
  paymentData: [KeyValueInput!]
}

"""Payment method data"""
type PaymentMethod {
  """The ID of the payment method"""
  name: String!

  """Payment method title"""
  title: String!

  """Payment method extra fields"""
  fields: [CheckoutField!]!
}

"""Possible statuses of the payment"""
enum PaymentStatus {
  """New payment"""
  NEW

  """Completed payment"""
  PAID

  """Canceled payment"""
  CANCELED

  """Failed payment"""
  FAILED

  """Success hold payment"""
  HOLD

  """Refunded payment"""
  REFUNDED
}

"""The user phone number"""
type Phone implements UserContact {
  """The raw id of the record"""
  rawId: Int!

  """The record is default"""
  isDefault: Boolean!

  """The record value"""
  value: String!
}

input PhoneInput {
  value: String!
  isDefault: Boolean
}

"""Product price data"""
type Price {
  """The price value"""
  price: Float!

  """Formatted price"""
  formattedPrice: String!

  """Price currency"""
  currency: Currency!
}

"""Product data"""
interface Product {
  """Product SEO data"""
  seo: Seo!

  """Product labels"""
  labels: [Label]

  """Product rating"""
  rating: Float

  """Represents the reviews data"""
  reviews(
    page: Int = 1
    limit: Int = 10

    """Ordering options for Reviews list."""
    orderBy: ReviewOrder = {field: ID, direction: DESC}
  ): ReviewsWithPagination

  """The id of the Product"""
  id: ID!

  """The raw id of the Product"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Product slug"""
  slug: String!

  """Product SKU"""
  sku: String

  """Main category of the Product"""
  category: Category!

  """Product name"""
  name: String!

  """Product full description"""
  description: String

  """Product short description"""
  shortDescription: String

  """Product images"""
  images: [ProductImage]

  """Is product sellable"""
  isSellable: Boolean!

  """Represent product presence value"""
  presence: Int

  """Represent product presence string value"""
  presenceStr: String

  """Step size for the product quantity"""
  purchaseQuantityStep: Float!

  """Unit label for the product quantity"""
  unitLabel: String!

  """Product weight"""
  weight: Float!
}

"""Product image data"""
type ProductImage {
  """Image url"""
  file: String!

  """Image mime type"""
  mimeType: String!
}

"""Product kit data"""
type ProductKit {
  """The id of the product kit"""
  id: ID!

  """Product kit code"""
  code: String!

  """Product data"""
  product: SimpleProduct!

  """Product keit items data"""
  items: [ProductKitItem]!

  """Represent product kit total price data"""
  totalPrice: Price!
}

"""Product kit item data"""
type ProductKitItem {
  """Product data"""
  product: SimpleProduct!

  """Represent product kit item price data"""
  price: Price!

  """Represent product kit item discount in percentage"""
  discountPercentage: Int
}

"""Product kits list with pagination"""
type ProductKitsWithPagination {
  """Items of the pagination"""
  items: [ProductKit]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""The ways in which Products can be ordered."""
input ProductOrder {
  """The field in which to order Products by."""
  field: ProductOrderField!

  """The direction in which to order Product by the specified field."""
  direction: OrderDirection!
}

"""Properties by which products can be ordered."""
enum ProductOrderField {
  """Order products by ID."""
  ID

  """Order products by name."""
  NAME

  """Order products by rating."""
  RATING

  """Order products by creation date."""
  CREATED_DATE

  """Order products by presence."""
  PRESENCE

  """Order products by price."""
  PRICE

  """Order products by discount amount."""
  DISCOUNT
}

"""Prodicts search results data"""
type ProductSearchResult {
  """Original query string"""
  queryString: String!

  """Products found"""
  products(
    page: Int = 1
    limit: Int = 10

    """Ordering options for products search"""
    orderBy: ProductOrder = {direction: DESC}
  ): ProductsWithPagination
}

"""Product specification data"""
type ProductSpecification {
  """Specification data"""
  specification: Specification!

  """Specification values list"""
  values: [SpecificationValue!]
}

"""Product's top category"""
enum ProductTopCategory {
  """Products marked as 'we offer'"""
  TOP

  """Latest new products"""
  NOVELTIES

  """Products marked as 'On sale'."""
  ACTIONS
}

"""The ways in which Products can be ordered."""
input ProductTopOrder {
  """The field in which to order Products by."""
  field: ProductTopOrderField!

  """The direction in which to order Products by the specified field."""
  direction: OrderDirection!
}

"""Properties by which products can be ordered."""
enum ProductTopOrderField {
  """Order top products by id."""
  ID

  """Order top products by weight."""
  WEIGHT
}

"""Product list with pagination"""
type ProductsWithPagination {
  """Items of the pagination"""
  items: [Product]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""API queries"""
type Query {
  """Retruns results list for a search query"""
  similarProducts(
    page: Int = 1
    limit: Int = 10

    """Product ID"""
    productId: ID!
  ): ProductsWithPagination!

  """Represents the menu data"""
  mainMenu: [Menu]

  """Represents the hot menu data"""
  hotFilters(categoryId: String = null, categoryRawId: Int = null): [Menu]

  """Return header notification data"""
  headerNotification(activeOnly: Boolean = true): HeaderNotification

  """Retruns results list for a search query"""
  search(query: String!): ProductSearchResult!

  """Retruns a short results list for a search query"""
  quickSearch(query: String!): QuickSearchResult!

  """Search streets for city courier delivery"""
  cityCourierStreets(
    page: Int = 1
    limit: Int = 10

    """City ref"""
    cityRef: String!

    """Search query"""
    query: String
  ): CityStreetsWithPagination!

  """Search house numbers for city courier delivery"""
  cityCourierAddresses(
    page: Int = 1
    limit: Int = 10

    """City street ID"""
    streetId: Int!

    """Search query"""
    query: String
  ): CityStreetAddressesWithPagination!

  """Represents the order data"""
  productDeliveryCost(
    """Product ID"""
    productId: ID!

    """City ref by Nova Poshta API"""
    cityRef: String
  ): [DeliveryMethod!]

  """Returns social auth providers list"""
  getSocialAuthProviders: [SocialAuthProvider]

  """Represents the list of product accessory sections"""
  productAccessorySections(
    """Product ID"""
    productId: ID!

    """Ordering options for product accessory sections list."""
    orderBy: AccessorySectionOrder = {field: NAME, direction: ASC}
  ): [AccessorySection]

  """Represents the list of product accessories"""
  productAccessories(
    page: Int = 1
    limit: Int = 10

    """Product ID"""
    productId: ID!

    """Accessory section ID"""
    sectionId: ID

    """Ordering options for product accessory list."""
    orderBy: AccessoryOrder = {field: NAME, direction: ASC}
  ): AccessoryWithPagination

  """Cities available for delivery"""
  novaPoshtaCities(
    page: Int = 1
    limit: Int = 10

    """Search query"""
    query: String!
  ): CitiesWithPagination!

  """Warehouses available for delivery"""
  novaPoshtaWarehouses(
    page: Int = 1
    limit: Int = 10

    """City ID"""
    cityRef: String!

    """Search query"""
    query: String

    """Type of warehouse to show"""
    types: [WarehouseType!]
  ): WarehousesWithPagination!

  """Search settlements for address delivery"""
  novaPoshtaSettlements(query: String!, limit: Int = 10, page: Int = 1): [Settlement!]

  """Search streets for address delivery"""
  novaPoshtaSettlementStreets(cityRef: String!, query: String!, limit: Int = 10): [SettlementStreet!]

  """Represents the product kits list"""
  productKits(
    page: Int = 1
    limit: Int = 1

    """Product id"""
    productId: ID!
  ): ProductKitsWithPagination

  """Represents the category filters"""
  categoryFilters(
    """Category identifier"""
    category: FilterCategory!

    """Category selected filters"""
    filters: [SelectedFilters]
  ): CategoryFilters!

  """Represents the products top data"""
  topProducts(
    page: Int = 1
    limit: Int = 10
    category: ProductTopCategory!
    supplement: Boolean = false

    """Ordering options for top products list."""
    orderBy: ProductTopOrder = {field: WEIGHT, direction: ASC}
  ): ProductsWithPagination

  """Represents the order data"""
  order(id: String = null, externalId: String = null): Order

  """Current user orders"""
  myOrders(
    page: Int = 1
    limit: Int = 10

    """Filtering options for Orders list."""
    filter: OrderFilter = {}

    """Ordering options for Orders list."""
    orderBy: OrdersOrder = {field: ID, direction: DESC}
  ): OrdersWithPagination

  """Delivery methods list"""
  deliveryMethods(cartId: String!): [DeliveryMethod!]!

  """Delivery methods list"""
  paymentMethods(deliveryMethodName: String!, cartId: String!): [PaymentMethod!]

  """Represents the specification data"""
  specification(
    """Specifications data filter"""
    filter: SpecificationFilter!
  ): Specification

  """Represents the single cart data"""
  cart(id: String = null, code: String = null): Cart

  """Represents the currency data"""
  currency(id: String!): Currency

  """Represents currencies data"""
  currencies: [Currency]

  """Represents the single wishlist data"""
  wishlist(id: String = null, code: String = null): Wishlist

  """Returns list of users Wishlists"""
  wishlists: [Wishlist]

  """Represents the label data"""
  label(id: String = null, rawId: Int = null): Label

  """Represents the labels data"""
  labels(
    page: Int = 1
    limit: Int = 2

    """Ordering options for Labels list."""
    orderBy: LabelOrder = {field: ID, direction: ASC}
  ): LabelsWithPagination

  """Represents the category data"""
  seo(
    """Static page code."""
    page: SeoStaticPage! = HOME
  ): Seo!

  """Represents the review data"""
  review(id: String = null, rawId: Int = null): Review

  """Represents the reviews data"""
  productReviews(
    page: Int = 1
    limit: Int = 10
    entityId: ID!

    """Ordering options for Reviews list."""
    orderBy: ReviewOrder = {field: ID, direction: DESC}
  ): ReviewsWithPagination

  """Current user reviews"""
  myReviews(
    page: Int = 1
    limit: Int = 10

    """Ordering options for Reviews list."""
    orderBy: ReviewOrder = {field: ID, direction: DESC}
  ): ReviewsWithPagination

  """Represents the group product data with selection specified item"""
  groupProductItem(
    """Group product identifier"""
    group: GroupProductIdentifier!

    """Item raw id"""
    itemId: Int!

    """Select data for category"""
    isForCategory: Boolean
  ): GroupProduct

  """Represents the category products data"""
  categoryProducts(
    page: Int = 1
    limit: Int = 12

    """Category id"""
    categoryId: ID!

    """Include products from subcategories"""
    withChildren: Boolean = false

    """Ordering options for Products list."""
    orderBy: ProductOrder = {field: ID, direction: DESC}

    """Category selected filters"""
    filters: [CategoryFiltersInput]
  ): ProductsWithPagination

  """Represents the product data"""
  product(id: String = null, rawId: Int = null, slug: String = null): Product

  """Represents the products data by the given IDs"""
  productsByIds(
    page: Int = 1
    limit: Int = 10

    """Product IDs list."""
    ids: [ID!]!
  ): ProductsWithPagination

  """Represents the simple products data by the given IDs"""
  simpleProductsByIds(
    page: Int = 1
    limit: Int = 10

    """Product IDs list."""
    ids: [ID!]!
  ): ProductsWithPagination

  """Represents the static page data"""
  staticPage(id: String = null, rawId: Int = null, slug: String = null): StaticPage

  """Represents the category data"""
  staticPages(
    page: Int = 1
    limit: Int = 15

    """Ordering options for static pages list."""
    orderBy: StaticPageOrder = {field: WEIGHT, direction: ASC}
  ): StaticPagesWithPagination

  """Represents the banner type data"""
  bannerTypes: [BannerType]

  """Represents the category data"""
  banners(
    """Banner type code."""
    type: String!

    """Ordering options for banners list."""
    orderBy: BannerOrder = {field: WEIGHT, direction: ASC}
  ): [Banner]

  """All categories list"""
  activeCategories(page: Int = 1, limit: Int = 10): CategoriesWithPagination

  """Represents the category data"""
  category(id: String = null, rawId: Int = null, slug: String = null): Category

  """Represents the category data"""
  mainCategories(
    """Ordering options for categories list."""
    orderBy: CategoryOrder = {field: WEIGHT, direction: ASC}
  ): [Category]

  """Represents the categories data by the given IDs"""
  categoriesByIds(
    """Product IDs list."""
    ids: [ID!]!

    """Ordering options for categories list."""
    orderBy: CategoryOrder = {field: ID, direction: ASC}
  ): [Category]

  """Represents the previous article data"""
  previousArticle(id: String = null, slug: String = null): Article

  """Represents the next article data"""
  nextArticle(id: String = null, slug: String = null): Article

  """Represents the article section data"""
  articleSection(id: String = null, rawId: Int = null, slug: String = null): ArticleSection

  """Represents the list of article sections"""
  articleSections(
    """Ordering options for article sections list."""
    orderBy: ArticleSectionOrder = {field: WEIGHT, direction: ASC}
  ): [ArticleSection]

  """Represents the article data"""
  article(id: String = null, rawId: Int = null, slug: String = null): Article

  """Represents the user profile"""
  profile: User
}

input QuickCheckoutInput {
  name: String!
  phone: String!
}

"""Quick search results data"""
type QuickSearchResult {
  """Original query string"""
  queryString: String!

  """Products found"""
  products(page: Int = 1, limit: Int = 10): ProductsWithPagination
}

"""Review data"""
type Review {
  """The id of the Review"""
  id: ID!

  """The raw id of the Review"""
  rawId: Int! @deprecated(reason: "Not recommended to use it")

  """Parent review"""
  parent: Review

  """Children reviews"""
  children(
    page: Int = 1
    limit: Int = 10

    """Ordering options for review list."""
    orderBy: ReviewOrder = {field: ID, direction: DESC}
  ): ReviewsWithPagination!

  """Review text"""
  content: String!

  """Review grade"""
  rate: Int!

  """Review author"""
  author: ReviewAuthor!

  """Reviews's creation date"""
  created: DateTime

  """Review item link URL"""
  url: String

  """Is review published"""
  isActive: Boolean!
}

"""Review author data"""
type ReviewAuthor {
  """User id"""
  id: ID!

  """Author's name"""
  name: String!
}

input ReviewInput {
  """Review type"""
  type: ReviewType!

  """Entity ID to which Review is related"""
  entityId: ID!

  """Review text"""
  content: String!

  """Review grade"""
  rate: Int

  """Review item link URL"""
  url: String!

  """Author's phone"""
  phone: String

  """Author's name"""
  name: String

  """Author's name"""
  email: String

  """The ID of the Review being answered"""
  parentId: ID
}

"""The ways in which Reviews can be ordered."""
input ReviewOrder {
  """The field in which to order Reviews by."""
  field: ReviewOrderField!

  """The direction in which to order Reviews by the specified field."""
  direction: OrderDirection!
}

"""Properties by which products can be ordered."""
enum ReviewOrderField {
  """Order reviews by ID."""
  ID
}

"""Review types"""
enum ReviewType {
  """Review to a Product"""
  PRODUCT
}

"""Reviews list with pagination"""
type ReviewsWithPagination {
  """Items of the pagination"""
  items: [Review]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Selected filters data"""
input SelectedFilters {
  """Slug of the selected filter."""
  slug: String!

  """Slug of the selected filter values."""
  values: [String]

  """Is the selected filter data for slider"""
  isSlider: Boolean

  """Selected filter slider value from"""
  from: Float

  """Selected filter slider value to"""
  to: Float
}

"""SEO data"""
type Seo {
  """H1 title"""
  h1: String

  """Meta title"""
  title: String

  """Meta description"""
  description: String

  """Meta keywords"""
  keywords: String

  """Meta robots"""
  robots: String!

  """Meta canonical"""
  canonical: String

  """Page SEO text"""
  seoText: String
}

"""Possible static page for getting seo data"""
enum SeoStaticPage {
  """Home page"""
  HOME

  """Catalog page"""
  CATALOG
}

"""Settlement data for address delivery"""
type Settlement {
  """Full settlement name"""
  fullName: String!

  """Settlement identifier"""
  ref: String!

  """Settlement city to deliver identifier"""
  cityRef: String!
}

"""Settlement street data for address delivery"""
type SettlementStreet {
  """Settlement street full name"""
  fullName: String!

  """Settlement street identifier"""
  ref: String!
}

"""Simple product data"""
type SimpleProduct implements Product {
  """Product SEO data"""
  seo: Seo!

  """Product labels"""
  labels: [Label]

  """Product rating"""
  rating: Float

  """Represents the reviews data"""
  reviews(
    page: Int = 1
    limit: Int = 10

    """Ordering options for Reviews list."""
    orderBy: ReviewOrder = {field: ID, direction: DESC}
  ): ReviewsWithPagination

  """Product available credits"""
  credits: [Credit]

  """Product discount"""
  discount: Discount

  """Product gift data"""
  gift: Gift

  """Is product has gift"""
  hasGift: Boolean!

  """Product gift action date end"""
  giftDateEnd: DateTime

  """Short list of product specifications"""
  specificationsShortList: [ProductSpecification]

  """Full list of product specifications"""
  specificationsFullList: [ProductSpecification]

  """Represent product price data"""
  price(
    """Currency in which the product price will be represented"""
    currencyId: ID
  ): Price!

  """Represent product old price data"""
  oldPrice(
    """Currency in which the old product price will be represented"""
    currencyId: ID
  ): Price

  """Represent group product data for the product"""
  groupProduct: GroupProduct

  """The id of the Product"""
  id: ID!

  """The raw id of the Product"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Product slug"""
  slug: String!

  """Product SKU"""
  sku: String

  """Main category of the Product"""
  category: Category!

  """Product name"""
  name: String!

  """Product full description"""
  description: String

  """Product short description"""
  shortDescription: String

  """Product images"""
  images: [ProductImage]

  """Is product sellable"""
  isSellable: Boolean!

  """Represent product presence value"""
  presence: Int

  """Represent product presence string value"""
  presenceStr: String

  """Step size for the product quantity"""
  purchaseQuantityStep: Float!

  """Unit label for the product quantity"""
  unitLabel: String!

  """Product weight"""
  weight: Float!
}

"""Slider filter data"""
type SliderFilter implements Filter {
  """Filter slider options"""
  sliderOptions: SliderOptions!

  """The id of the filter"""
  id: ID!

  """Filter slug"""
  slug: String!

  """Filter name"""
  name: String!

  """Filter settings"""
  settings: FilterSettings!

  """If filter has selected values"""
  isSelected: Boolean!
}

"""Options of the slider filter"""
type SliderOptions {
  """The minimum value of the slider"""
  min: Float!

  """The maximum value of the slider"""
  max: Float!

  """The selected value 'from' of the slider"""
  from: Float

  """The selected value 'to' of the slider"""
  to: Float
}

"""Social auth provider"""
type SocialAuthProvider {
  """Provider name"""
  name: String!

  """Provider title"""
  title: String!

  """Auth URL"""
  authUrl: String!
}

"""Specification data"""
interface Specification {
  """The id of the specification"""
  id: ID!

  """Specification slug"""
  slug: String!

  """Specification section"""
  section: SpecificationSection!

  """Specification name"""
  name: String!

  """Specification useed as"""
  useAs: String

  """Specification description"""
  description: String

  """Specification image"""
  image: SpecificationImage

  """List of specification values"""
  values(
    page: Int = 1
    limit: Int = 10

    """Ordering options for specification values list."""
    orderBy: SpecificationValuesOrder = {field: WEIGHT, direction: ASC}

    """Specifications values data filter"""
    filter: SpecificationValuesFilter
  ): SpecificationValuesWithPagination
}

"""Boolean specification value data"""
type SpecificationBooleanValue implements SpecificationValue {
  """The id of the specification value"""
  id: ID!

  """Specification value"""
  value: String!

  """Specification value slug"""
  slug: String!

  """Specification value link to related page"""
  linkToPage: String

  """Specification value description"""
  description: String

  """Value specification data"""
  specification: Specification

  """Specification value image"""
  image: SpecificationImage
}

"""Color specification value data"""
type SpecificationColorValue implements SpecificationValue {
  """Specification value color HEX"""
  color: String

  """The id of the specification value"""
  id: ID!

  """Specification value"""
  value: String!

  """Specification value slug"""
  slug: String!

  """Specification value link to related page"""
  linkToPage: String

  """Specification value description"""
  description: String

  """Value specification data"""
  specification: Specification

  """Specification value image"""
  image: SpecificationImage
}

"""Date specification value"""
type SpecificationDateValue implements SpecificationValue {
  """Specification date value"""
  value: String!

  """The id of the specification value"""
  id: ID!

  """Specification value slug"""
  slug: String!

  """Specification value link to related page"""
  linkToPage: String

  """Specification value description"""
  description: String

  """Value specification data"""
  specification: Specification

  """Specification value image"""
  image: SpecificationImage
}

"""Specifications data filter"""
input SpecificationFilter {
  """Specification ID"""
  id: ID

  """Specification slug"""
  slug: String

  """Specification use as"""
  useAs: SpecificationUseAs
}

"""Specification image data"""
type SpecificationImage {
  """Specification image"""
  file: String!

  """Specification image mime type"""
  mimeType: String!
}

"""Specification numeric value data"""
type SpecificationNumericValue implements SpecificationValue {
  """Specification numeric formated value"""
  value: String!

  """Specification numeric value"""
  numericValue: Float!

  """The id of the specification value"""
  id: ID!

  """Specification value slug"""
  slug: String!

  """Specification value link to related page"""
  linkToPage: String

  """Specification value description"""
  description: String

  """Value specification data"""
  specification: Specification

  """Specification value image"""
  image: SpecificationImage
}

"""Specification section data"""
type SpecificationSection {
  """The id of the specification section"""
  id: ID!

  """Specification section name"""
  name: String!

  """Specification section slug"""
  slug: String!

  """Specification section description"""
  description: String

  """Specification section image"""
  image: SpecificationImage
}

"""String specification value data"""
type SpecificationStringValue implements SpecificationValue {
  """The id of the specification value"""
  id: ID!

  """Specification value"""
  value: String!

  """Specification value slug"""
  slug: String!

  """Specification value link to related page"""
  linkToPage: String

  """Specification value description"""
  description: String

  """Value specification data"""
  specification: Specification

  """Specification value image"""
  image: SpecificationImage
}

"""Text specification value data"""
type SpecificationTextValue implements SpecificationValue {
  """The id of the specification value"""
  id: ID!

  """Specification value"""
  value: String!

  """Specification value slug"""
  slug: String!

  """Specification value link to related page"""
  linkToPage: String

  """Specification value description"""
  description: String

  """Value specification data"""
  specification: Specification

  """Specification value image"""
  image: SpecificationImage
}

"""Properties by which feature values can be ordered."""
enum SpecificationUseAs {
  """Specification defined as product brand"""
  PRODUCT_BRAND

  """Specification defined as product size"""
  PRODUCT_SIZE

  """Specification defined as product type"""
  PRODUCT_TYPE
}

"""Specification value data"""
interface SpecificationValue {
  """The id of the specification value"""
  id: ID!

  """Specification value"""
  value: String!

  """Specification value slug"""
  slug: String!

  """Specification value link to related page"""
  linkToPage: String

  """Specification value description"""
  description: String

  """Value specification data"""
  specification: Specification

  """Specification value image"""
  image: SpecificationImage
}

"""Specifications values data filter"""
input SpecificationValuesFilter {
  """Get specification values that have images"""
  withImage: Boolean

  """Get specification values that have links"""
  withLink: Boolean
}

"""The ways in which specification values can be ordered."""
input SpecificationValuesOrder {
  """The field in which to order specification values by."""
  field: SpecificationValuesOrderField!

  """
  The direction in which to order specification values by the specified field.
  """
  direction: OrderDirection!
}

"""Properties by which specification values can be ordered."""
enum SpecificationValuesOrderField {
  """Order specification values by ID."""
  ID

  """Order specification values by value name."""
  VALUE

  """Order specification values by value name."""
  WEIGHT
}

"""Specification values pagination"""
type SpecificationValuesWithPagination {
  """Items of the pagination"""
  items: [SpecificationValue]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Static page data"""
type StaticPage {
  """Static page SEO data"""
  seo: Seo!

  """The id of the static page"""
  id: ID!

  """The raw id of the static page"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Static page name"""
  name: String!

  """Static page slug"""
  slug: String!

  """Static page short description"""
  shortDescription: String

  """Static page description"""
  description: String

  """Is the Static page active?"""
  isActive: Boolean

  """Static page images"""
  images: [StaticPageImage]
}

"""Static page image data"""
type StaticPageImage {
  """Image url"""
  file: String!

  """Image mime type"""
  mimeType: String!
}

"""The ways in which Static pages can be ordered."""
input StaticPageOrder {
  """The field in which to order static pages by."""
  field: StaticPageOrderField!

  """The direction in which to order static page by the specified field."""
  direction: OrderDirection!
}

"""Properties by which static pages can be ordered."""
enum StaticPageOrderField {
  """Order static pages by ID."""
  ID

  """Order static pages by weight."""
  WEIGHT

  """Order static pages by name."""
  NAME
}

"""Static page pagination"""
type StaticPagesWithPagination {
  """Items of the pagination"""
  items: [StaticPage]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""String specification data"""
type StringSpecification implements Specification {
  """Is specification can have multiple values for a single product"""
  isMultiValued: Boolean

  """The id of the specification"""
  id: ID!

  """Specification slug"""
  slug: String!

  """Specification section"""
  section: SpecificationSection!

  """Specification name"""
  name: String!

  """Specification useed as"""
  useAs: String

  """Specification description"""
  description: String

  """Specification image"""
  image: SpecificationImage

  """List of specification values"""
  values(
    page: Int = 1
    limit: Int = 10

    """Ordering options for specification values list."""
    orderBy: SpecificationValuesOrder = {field: WEIGHT, direction: ASC}

    """Specifications values data filter"""
    filter: SpecificationValuesFilter
  ): SpecificationValuesWithPagination
}

input SubscribeInput {
  email: String!
}

"""Text specification data"""
type TextSpecification implements Specification {
  """The id of the specification"""
  id: ID!

  """Specification slug"""
  slug: String!

  """Specification section"""
  section: SpecificationSection!

  """Specification name"""
  name: String!

  """Specification useed as"""
  useAs: String

  """Specification description"""
  description: String

  """Specification image"""
  image: SpecificationImage

  """List of specification values"""
  values(
    page: Int = 1
    limit: Int = 10

    """Ordering options for specification values list."""
    orderBy: SpecificationValuesOrder = {field: WEIGHT, direction: ASC}

    """Specifications values data filter"""
    filter: SpecificationValuesFilter
  ): SpecificationValuesWithPagination
}

"""JWT tokens pair"""
type TokenPair {
  accessToken: String!
  refreshToken: String!
}

"""User profile"""
interface User {
  """The id of the user"""
  id: ID!

  """The raw id of the user"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """The user name"""
  userName: String!

  """The user email"""
  email: String

  """The user price type"""
  priceType: UserPriceType!

  """The note about user"""
  note: String

  """The list of user phones"""
  phones: [Phone!]

  """The list of user emails"""
  emails: [Email!]

  """The list of user faxes"""
  faxes: [Fax!]

  """The list of physical addresses of the user"""
  addresses: [Address!]

  """The list of delivery addresses of the user"""
  deliveryAddresses: [DeliveryAddress!]

  """The user logo image file path"""
  logo: String
}

"""User contact data"""
interface UserContact {
  """The raw id of the record"""
  rawId: Int!

  """The record is default"""
  isDefault: Boolean!

  """The record value"""
  value: String!
}

"""The list of price types!"""
enum UserPriceType {
  """The retail price type"""
  PRICE_RETAIL

  """The super retail price type"""
  PRICE_SUPER_RETAIL

  """The mini wholesale price type"""
  PRICE_MINI_WHOLESALE

  """The wholesale price type"""
  PRICE_WHOLESALE

  """The super partner price type"""
  PRICE_SUPER_PARTNER
}

"""Value filter data"""
type ValueFilter implements Filter {
  """Filter values"""
  values: [FilterValue]!

  """The id of the filter"""
  id: ID!

  """Filter slug"""
  slug: String!

  """Filter name"""
  name: String!

  """Filter settings"""
  settings: FilterSettings!

  """If filter has selected values"""
  isSelected: Boolean!
}

"""Warehouse data"""
type Warehouse {
  """Warehouse identifier"""
  id: ID!

  """Warehouse ref"""
  ref: String!

  """Warehouse type"""
  type: WarehouseType

  """Warehouse number"""
  number: String!

  """Warehouse description"""
  description: String!
}

"""Warehouse types"""
enum WarehouseType {
  """Post office"""
  POST_OFFICE
  LOCK_BOX
  CARGO_DEPARTAMENT
  PARCEL_SHOP

  """Privat bank post box"""
  PRIVAT_BANK_BOX
}

"""Warehouses list with pagination"""
type WarehousesWithPagination {
  """Items of the pagination"""
  items: [Warehouse]

  """Pagination info"""
  pageInfo: PaginationInfo
}

"""Wishlist data"""
type Wishlist {
  """The id of the wishlist"""
  id: ID!

  """The raw id of the wishlist"""
  rawId: Int! @deprecated(reason: "Not recoment to use it")

  """Wishlist name"""
  name: String

  """Wishlist code"""
  code: String

  """Wishlist's owner"""
  owner: Customer!

  """List of products in Wishlist"""
  products(
    page: Int = 1
    limit: Int = 10

    """Ordering options for Products list."""
    orderBy: ProductOrder = {field: ID, direction: DESC}
  ): ProductsWithPagination
}