Skip to main content
Version: 3.x

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!]
}
Expand ▼

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 keys to control which fields you want to include. The default is to include everything.

Added in Saleor 3.3
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 keys to control which fields you want to include. The default is to include everything.

Added in Saleor 3.3
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 scalar

Return 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.

Requires MANAGE_DISCOUNTSpermission.
Voucher.collections.before ● String scalar

Return 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.

Requires MANAGE_DISCOUNTSpermission.
Voucher.products.before ● String scalar

Return 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
Requires MANAGE_DISCOUNTSpermission.
Voucher.variants.before ● String scalar

Return 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 enum

A 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.

Requires MANAGE_DISCOUNTSpermission.

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


Was this page helpful?