1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Copyright © Magento, Inc. All rights reserved.
# See COPYING.txt for license details.
type BundleItem @doc(description: "BundleItem defines an individual item in a bundle product") {
option_id: Int @doc(description: "An ID assigned to each type of item in a bundle product")
title: String @doc(description: "The display name of the item")
required: Boolean @doc(description: "Indicates whether the item must be included in the bundle")
type: String @doc(description: "The input type that the customer uses to select the item. Examples include radio button and checkbox")
position: Int @doc(description: "he relative position of this item compared to the other bundle items")
sku: String @doc(description: "The SKU of the bundle product")
options: [BundleItemOption] @doc(description: "An array of additional options for this bundle item") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\BundleItemLinks")
}
type BundleItemOption @doc(description: "BundleItemOption defines characteristics and options for a specific bundle item") {
id: Int @doc(description: "The ID assigned to the bundled item option")
label: String @doc(description: "The text that identifies the bundled item option") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\Options\\Label")
qty: Float @doc(description: "Indicates the quantity of this specific bundle item")
position: Int @doc(description: "When a bundle item contains multiple options, the relative position of this option compared to the other options")
is_default: Boolean @doc(description: "Indicates whether this option is the default option")
price: Float @doc(description: "The price of the selected option")
price_type: PriceTypeEnum @doc(description: "One of FIXED, PERCENT, or DYNAMIC")
can_change_quantity: Boolean @doc(description: "Indicates whether the customer can change the number of items for this option")
product: ProductInterface @doc(description: "Contains details about this product option") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product")
}
type BundleProduct implements ProductInterface, PhysicalProductInterface, CustomizableProductInterface @doc(description: "BundleProduct defines basic features of a bundle product and contains multiple BundleItems") {
price_view: PriceViewEnum @doc(description: "One of PRICE_RANGE or AS_LOW_AS") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\Product\\Fields\\PriceView")
dynamic_price: Boolean @doc(description: "Indicates whether the bundle product has a dynamic price") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\Product\\Fields\\DynamicPrice")
dynamic_sku: Boolean @doc(description: "Indicates whether the bundle product has a dynamic SK") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\Product\\Fields\\DynamicSku")
ship_bundle_items: ShipBundleItemsEnum @doc(description: "Indicates whether to ship bundle items together or individually") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\Product\\Fields\\ShipBundleItems")
dynamic_weight: Boolean @doc(description: "Indicates whether the bundle product has a dynamically calculated weight") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\Product\\Fields\\DynamicWeight")
items: [BundleItem] @doc(description: "An array containing information about individual bundle items") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\BundleItems")
}
enum PriceViewEnum @doc(description: "This enumeration defines whether a bundle product's price is displayed as the lowest possible value or as a range.") {
PRICE_RANGE
AS_LOW_AS
}
enum ShipBundleItemsEnum @doc(description: "This enumeration defines whether bundle items must be shipped together.") {
TOGETHER
SEPARATELY
}