Voucher
Vouchers allow giving discounts to particular customers on categories, collections or specific products. They can be used during checkout by providing valid voucher codes.
type Voucher implements Node, ObjectWithMetadata {
id: ID!
privateMetadata: [MetadataItem!]!
privateMetafield(key: String!): String
privateMetafields(keys: [String!]): Metadata
metadata: [MetadataItem!]!
metafield(key: String!): String
metafields(keys: [String!]): Metadata
name: String
code: String!
usageLimit: Int
used: Int!
startDate: DateTime!
endDate: DateTime
applyOncePerOrder: Boolean!
applyOncePerCustomer: Boolean!
onlyForStaff: Boolean!
minCheckoutItemsQuantity: Int
categories(
before: String
after: String
first: Int
last: Int
): CategoryCountableConnection
collections(
before: String
after: String
first: Int
last: Int
): CollectionCountableConnection
products(
before: String
after: String
first: Int
last: Int
): ProductCountableConnection
variants(
before: String
after: String
first: Int
last: Int
): ProductVariantCountableConnection
countries: [CountryDisplay!]
translation(languageCode: LanguageCodeEnum!): VoucherTranslation
discountValueType: DiscountValueTypeEnum!
discountValue: Float
currency: String
minSpent: Money
type: VoucherTypeEnum!
channelListings: [VoucherChannelListing!]
}
Fields
Voucher.id
● ID!
non-null scalar
The ID of the voucher.
Voucher.privateMetadata
● [MetadataItem!]!
non-null object
List of private metadata items. Requires staff permissions to access.
Voucher.privateMetafield
● String
scalar
A single key from private metadata. Requires staff permissions to access.
Tip: Use GraphQL aliases to fetch multiple keys.
Added in Saleor 3.3
Voucher.privateMetafield.key
●String!
non-null scalar
Voucher.privateMetafields
● Metadata
scalar
Private metadata. Requires staff permissions to access. Use
Added in Saleor 3.3keys
to control which fields you want to include. The default is to include everything.
Voucher.privateMetafields.keys
●[String!]
list scalar
Voucher.metadata
● [MetadataItem!]!
non-null object
List of public metadata items. Can be accessed without permissions.
Voucher.metafield
● String
scalar
A single key from public metadata.
Tip: Use GraphQL aliases to fetch multiple keys.
Added in Saleor 3.3
Voucher.metafield.key
●String!
non-null scalar
Voucher.metafields
● Metadata
scalar
Public metadata. Use
Added in Saleor 3.3keys
to control which fields you want to include. The default is to include everything.
Voucher.metafields.keys
●[String!]
list scalar
Voucher.name
● String
scalar
The name of the voucher.
Voucher.code
● String!
non-null scalar
The code of the voucher.
Voucher.usageLimit
● Int
scalar
The number of times a voucher can be used.
Voucher.used
● Int!
non-null scalar
Usage count of the voucher.
Voucher.startDate
● DateTime!
non-null scalar
The start date and time of voucher.
Voucher.endDate
● DateTime
scalar
The end date and time of voucher.
Voucher.applyOncePerOrder
● Boolean!
non-null scalar
Determine if the voucher should be applied once per order. If set to True, the voucher is applied to a single cheapest eligible product in checkout.
Voucher.applyOncePerCustomer
● Boolean!
non-null scalar
Determine if the voucher usage should be limited to one use per customer.
Voucher.onlyForStaff
● Boolean!
non-null scalar
Determine if the voucher is available only for staff members.
Voucher.minCheckoutItemsQuantity
● Int
scalar
Determine minimum quantity of items for checkout.
Voucher.categories
● CategoryCountableConnection
object
List of categories this voucher applies to.
Voucher.categories.before
●String
scalarReturn the elements in the list that come before the specified cursor.
Voucher.categories.after
● String
scalar
Return the elements in the list that come after the specified cursor.
Voucher.categories.first
● Int
scalar
Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
Voucher.categories.last
● Int
scalar
Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
Voucher.collections
● CollectionCountableConnection
object
List of collections this voucher applies to.
Voucher.collections.before
●String
scalarReturn the elements in the list that come before the specified cursor.
Voucher.collections.after
● String
scalar
Return the elements in the list that come after the specified cursor.
Voucher.collections.first
● Int
scalar
Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
Voucher.collections.last
● Int
scalar
Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
Voucher.products
● ProductCountableConnection
object
List of products this voucher applies to.
Voucher.products.before
●String
scalarReturn the elements in the list that come before the specified cursor.
Voucher.products.after
● String
scalar
Return the elements in the list that come after the specified cursor.
Voucher.products.first
● Int
scalar
Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
Voucher.products.last
● Int
scalar
Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
Voucher.variants
● ProductVariantCountableConnection
object
List of product variants this voucher applies to.
Added in Saleor 3.1
Voucher.variants.before
●String
scalarReturn the elements in the list that come before the specified cursor.
Voucher.variants.after
● String
scalar
Return the elements in the list that come after the specified cursor.
Voucher.variants.first
● Int
scalar
Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
Voucher.variants.last
● Int
scalar
Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
Voucher.countries
● [CountryDisplay!]
list object
List of countries available for the shipping voucher.
Voucher.translation
● VoucherTranslation
object
Returns translated voucher fields for the given language code.
Voucher.translation.languageCode
●LanguageCodeEnum!
non-null enumA language code to return the translation for voucher.
Voucher.discountValueType
● DiscountValueTypeEnum!
non-null enum
Determines a type of discount for voucher - value or percentage
Voucher.discountValue
● Float
scalar
Voucher value.
Voucher.currency
● String
scalar
Currency code for voucher.
Voucher.minSpent
● Money
object
Minimum order value to apply voucher.
Voucher.type
● VoucherTypeEnum!
non-null enum
Determines a type of voucher.
Voucher.channelListings
● [VoucherChannelListing!]
list object
List of availability in channels for the voucher.
Interfaces
Node
interface
An object with an ID
ObjectWithMetadata
interface
Returned by
voucher
query
Member of
Order
object ● VoucherAddCatalogues
object ● VoucherChannelListingUpdate
object ● VoucherCountableEdge
object ● VoucherCreate
object ● VoucherCreated
object ● VoucherDelete
object ● VoucherDeleted
object ● VoucherMetadataUpdated
object ● VoucherRemoveCatalogues
object ● VoucherTranslatableContent
object ● VoucherTranslate
object ● VoucherUpdate
object ● VoucherUpdated
object