export type Maybe = T | null export type InputMaybe = Maybe export type Exact = { [K in keyof T]: T[K] } export type MakeOptional = Omit & { [SubKey in K]?: Maybe } export type MakeMaybe = Omit & { [SubKey in K]: Maybe } /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string String: string Boolean: boolean Int: number Float: number /** A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. */ DateTime: any /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any /** The `Upload` scalar type represents a file upload. */ Upload: any } export type ActiveOrderResult = NoActiveOrderError | Order export type AddPaymentToOrderResult = | IneligiblePaymentMethodError | NoActiveOrderError | Order | OrderPaymentStateError | OrderStateTransitionError | PaymentDeclinedError | PaymentFailedError export type Address = Node & { __typename?: 'Address' city?: Maybe company?: Maybe country: Country createdAt: Scalars['DateTime'] customFields?: Maybe defaultBillingAddress?: Maybe defaultShippingAddress?: Maybe fullName?: Maybe id: Scalars['ID'] phoneNumber?: Maybe postalCode?: Maybe province?: Maybe streetLine1: Scalars['String'] streetLine2?: Maybe updatedAt: Scalars['DateTime'] } export type Adjustment = { __typename?: 'Adjustment' adjustmentSource: Scalars['String'] amount: Scalars['Int'] description: Scalars['String'] type: AdjustmentType } export enum AdjustmentType { DistributedOrderPromotion = 'DISTRIBUTED_ORDER_PROMOTION', Other = 'OTHER', Promotion = 'PROMOTION', } /** Returned when attempting to set the Customer for an Order when already logged in. */ export type AlreadyLoggedInError = ErrorResult & { __typename?: 'AlreadyLoggedInError' errorCode: ErrorCode message: Scalars['String'] } export type ApplyCouponCodeResult = | CouponCodeExpiredError | CouponCodeInvalidError | CouponCodeLimitError | Order export type Asset = Node & { __typename?: 'Asset' createdAt: Scalars['DateTime'] customFields?: Maybe fileSize: Scalars['Int'] focalPoint?: Maybe height: Scalars['Int'] id: Scalars['ID'] mimeType: Scalars['String'] name: Scalars['String'] preview: Scalars['String'] source: Scalars['String'] type: AssetType updatedAt: Scalars['DateTime'] width: Scalars['Int'] } export type AssetList = PaginatedList & { __typename?: 'AssetList' items: Array totalItems: Scalars['Int'] } export enum AssetType { Binary = 'BINARY', Image = 'IMAGE', Video = 'VIDEO', } export type AuthenticationInput = { native?: InputMaybe } export type AuthenticationMethod = Node & { __typename?: 'AuthenticationMethod' createdAt: Scalars['DateTime'] id: Scalars['ID'] strategy: Scalars['String'] updatedAt: Scalars['DateTime'] } export type AuthenticationResult = | CurrentUser | InvalidCredentialsError | NotVerifiedError export type BooleanCustomFieldConfig = CustomField & { __typename?: 'BooleanCustomFieldConfig' description?: Maybe> internal?: Maybe label?: Maybe> list: Scalars['Boolean'] name: Scalars['String'] nullable?: Maybe readonly?: Maybe type: Scalars['String'] ui?: Maybe } /** Operators for filtering on a list of Boolean fields */ export type BooleanListOperators = { inList: Scalars['Boolean'] } /** Operators for filtering on a Boolean field */ export type BooleanOperators = { eq?: InputMaybe } export type Channel = Node & { __typename?: 'Channel' code: Scalars['String'] createdAt: Scalars['DateTime'] currencyCode: CurrencyCode customFields?: Maybe defaultLanguageCode: LanguageCode defaultShippingZone?: Maybe defaultTaxZone?: Maybe id: Scalars['ID'] pricesIncludeTax: Scalars['Boolean'] token: Scalars['String'] updatedAt: Scalars['DateTime'] } export type Collection = Node & { __typename?: 'Collection' assets: Array breadcrumbs: Array children?: Maybe> createdAt: Scalars['DateTime'] customFields?: Maybe description: Scalars['String'] featuredAsset?: Maybe filters: Array id: Scalars['ID'] languageCode?: Maybe name: Scalars['String'] parent?: Maybe position: Scalars['Int'] productVariants: ProductVariantList slug: Scalars['String'] translations: Array updatedAt: Scalars['DateTime'] } export type CollectionProductVariantsArgs = { options?: InputMaybe } export type CollectionBreadcrumb = { __typename?: 'CollectionBreadcrumb' id: Scalars['ID'] name: Scalars['String'] slug: Scalars['String'] } export type CollectionFilterParameter = { createdAt?: InputMaybe description?: InputMaybe id?: InputMaybe languageCode?: InputMaybe name?: InputMaybe position?: InputMaybe slug?: InputMaybe updatedAt?: InputMaybe } export type CollectionList = PaginatedList & { __typename?: 'CollectionList' items: Array totalItems: Scalars['Int'] } export type CollectionListOptions = { /** Allows the results to be filtered */ filter?: InputMaybe /** Specifies whether multiple "filter" arguments should be combines with a logical AND or OR operation. Defaults to AND. */ filterOperator?: InputMaybe /** Skips the first n results, for use in pagination */ skip?: InputMaybe /** Specifies which properties to sort the results by */ sort?: InputMaybe /** Takes n results, for use in pagination */ take?: InputMaybe } /** * Which Collections are present in the products returned * by the search, and in what quantity. */ export type CollectionResult = { __typename?: 'CollectionResult' collection: Collection count: Scalars['Int'] } export type CollectionSortParameter = { createdAt?: InputMaybe description?: InputMaybe id?: InputMaybe name?: InputMaybe position?: InputMaybe slug?: InputMaybe updatedAt?: InputMaybe } export type CollectionTranslation = { __typename?: 'CollectionTranslation' createdAt: Scalars['DateTime'] description: Scalars['String'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] slug: Scalars['String'] updatedAt: Scalars['DateTime'] } export type ConfigArg = { __typename?: 'ConfigArg' name: Scalars['String'] value: Scalars['String'] } export type ConfigArgDefinition = { __typename?: 'ConfigArgDefinition' defaultValue?: Maybe description?: Maybe label?: Maybe list: Scalars['Boolean'] name: Scalars['String'] required: Scalars['Boolean'] type: Scalars['String'] ui?: Maybe } export type ConfigArgInput = { name: Scalars['String'] /** A JSON stringified representation of the actual value */ value: Scalars['String'] } export type ConfigurableOperation = { __typename?: 'ConfigurableOperation' args: Array code: Scalars['String'] } export type ConfigurableOperationDefinition = { __typename?: 'ConfigurableOperationDefinition' args: Array code: Scalars['String'] description: Scalars['String'] } export type ConfigurableOperationInput = { arguments: Array code: Scalars['String'] } export type Coordinate = { __typename?: 'Coordinate' x: Scalars['Float'] y: Scalars['Float'] } export type Country = Node & { __typename?: 'Country' code: Scalars['String'] createdAt: Scalars['DateTime'] customFields?: Maybe enabled: Scalars['Boolean'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] translations: Array updatedAt: Scalars['DateTime'] } export type CountryList = PaginatedList & { __typename?: 'CountryList' items: Array totalItems: Scalars['Int'] } export type CountryTranslation = { __typename?: 'CountryTranslation' createdAt: Scalars['DateTime'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] updatedAt: Scalars['DateTime'] } /** Returned if the provided coupon code is invalid */ export type CouponCodeExpiredError = ErrorResult & { __typename?: 'CouponCodeExpiredError' couponCode: Scalars['String'] errorCode: ErrorCode message: Scalars['String'] } /** Returned if the provided coupon code is invalid */ export type CouponCodeInvalidError = ErrorResult & { __typename?: 'CouponCodeInvalidError' couponCode: Scalars['String'] errorCode: ErrorCode message: Scalars['String'] } /** Returned if the provided coupon code is invalid */ export type CouponCodeLimitError = ErrorResult & { __typename?: 'CouponCodeLimitError' couponCode: Scalars['String'] errorCode: ErrorCode limit: Scalars['Int'] message: Scalars['String'] } export type CreateAddressInput = { city?: InputMaybe company?: InputMaybe countryCode: Scalars['String'] customFields?: InputMaybe defaultBillingAddress?: InputMaybe defaultShippingAddress?: InputMaybe fullName?: InputMaybe phoneNumber?: InputMaybe postalCode?: InputMaybe province?: InputMaybe streetLine1: Scalars['String'] streetLine2?: InputMaybe } export type CreateCustomerInput = { customFields?: InputMaybe emailAddress: Scalars['String'] firstName: Scalars['String'] lastName: Scalars['String'] phoneNumber?: InputMaybe title?: InputMaybe } /** * @description * ISO 4217 currency code * * @docsCategory common */ export enum CurrencyCode { /** United Arab Emirates dirham */ Aed = 'AED', /** Afghan afghani */ Afn = 'AFN', /** Albanian lek */ All = 'ALL', /** Armenian dram */ Amd = 'AMD', /** Netherlands Antillean guilder */ Ang = 'ANG', /** Angolan kwanza */ Aoa = 'AOA', /** Argentine peso */ Ars = 'ARS', /** Australian dollar */ Aud = 'AUD', /** Aruban florin */ Awg = 'AWG', /** Azerbaijani manat */ Azn = 'AZN', /** Bosnia and Herzegovina convertible mark */ Bam = 'BAM', /** Barbados dollar */ Bbd = 'BBD', /** Bangladeshi taka */ Bdt = 'BDT', /** Bulgarian lev */ Bgn = 'BGN', /** Bahraini dinar */ Bhd = 'BHD', /** Burundian franc */ Bif = 'BIF', /** Bermudian dollar */ Bmd = 'BMD', /** Brunei dollar */ Bnd = 'BND', /** Boliviano */ Bob = 'BOB', /** Brazilian real */ Brl = 'BRL', /** Bahamian dollar */ Bsd = 'BSD', /** Bhutanese ngultrum */ Btn = 'BTN', /** Botswana pula */ Bwp = 'BWP', /** Belarusian ruble */ Byn = 'BYN', /** Belize dollar */ Bzd = 'BZD', /** Canadian dollar */ Cad = 'CAD', /** Congolese franc */ Cdf = 'CDF', /** Swiss franc */ Chf = 'CHF', /** Chilean peso */ Clp = 'CLP', /** Renminbi (Chinese) yuan */ Cny = 'CNY', /** Colombian peso */ Cop = 'COP', /** Costa Rican colon */ Crc = 'CRC', /** Cuban convertible peso */ Cuc = 'CUC', /** Cuban peso */ Cup = 'CUP', /** Cape Verde escudo */ Cve = 'CVE', /** Czech koruna */ Czk = 'CZK', /** Djiboutian franc */ Djf = 'DJF', /** Danish krone */ Dkk = 'DKK', /** Dominican peso */ Dop = 'DOP', /** Algerian dinar */ Dzd = 'DZD', /** Egyptian pound */ Egp = 'EGP', /** Eritrean nakfa */ Ern = 'ERN', /** Ethiopian birr */ Etb = 'ETB', /** Euro */ Eur = 'EUR', /** Fiji dollar */ Fjd = 'FJD', /** Falkland Islands pound */ Fkp = 'FKP', /** Pound sterling */ Gbp = 'GBP', /** Georgian lari */ Gel = 'GEL', /** Ghanaian cedi */ Ghs = 'GHS', /** Gibraltar pound */ Gip = 'GIP', /** Gambian dalasi */ Gmd = 'GMD', /** Guinean franc */ Gnf = 'GNF', /** Guatemalan quetzal */ Gtq = 'GTQ', /** Guyanese dollar */ Gyd = 'GYD', /** Hong Kong dollar */ Hkd = 'HKD', /** Honduran lempira */ Hnl = 'HNL', /** Croatian kuna */ Hrk = 'HRK', /** Haitian gourde */ Htg = 'HTG', /** Hungarian forint */ Huf = 'HUF', /** Indonesian rupiah */ Idr = 'IDR', /** Israeli new shekel */ Ils = 'ILS', /** Indian rupee */ Inr = 'INR', /** Iraqi dinar */ Iqd = 'IQD', /** Iranian rial */ Irr = 'IRR', /** Icelandic króna */ Isk = 'ISK', /** Jamaican dollar */ Jmd = 'JMD', /** Jordanian dinar */ Jod = 'JOD', /** Japanese yen */ Jpy = 'JPY', /** Kenyan shilling */ Kes = 'KES', /** Kyrgyzstani som */ Kgs = 'KGS', /** Cambodian riel */ Khr = 'KHR', /** Comoro franc */ Kmf = 'KMF', /** North Korean won */ Kpw = 'KPW', /** South Korean won */ Krw = 'KRW', /** Kuwaiti dinar */ Kwd = 'KWD', /** Cayman Islands dollar */ Kyd = 'KYD', /** Kazakhstani tenge */ Kzt = 'KZT', /** Lao kip */ Lak = 'LAK', /** Lebanese pound */ Lbp = 'LBP', /** Sri Lankan rupee */ Lkr = 'LKR', /** Liberian dollar */ Lrd = 'LRD', /** Lesotho loti */ Lsl = 'LSL', /** Libyan dinar */ Lyd = 'LYD', /** Moroccan dirham */ Mad = 'MAD', /** Moldovan leu */ Mdl = 'MDL', /** Malagasy ariary */ Mga = 'MGA', /** Macedonian denar */ Mkd = 'MKD', /** Myanmar kyat */ Mmk = 'MMK', /** Mongolian tögrög */ Mnt = 'MNT', /** Macanese pataca */ Mop = 'MOP', /** Mauritanian ouguiya */ Mru = 'MRU', /** Mauritian rupee */ Mur = 'MUR', /** Maldivian rufiyaa */ Mvr = 'MVR', /** Malawian kwacha */ Mwk = 'MWK', /** Mexican peso */ Mxn = 'MXN', /** Malaysian ringgit */ Myr = 'MYR', /** Mozambican metical */ Mzn = 'MZN', /** Namibian dollar */ Nad = 'NAD', /** Nigerian naira */ Ngn = 'NGN', /** Nicaraguan córdoba */ Nio = 'NIO', /** Norwegian krone */ Nok = 'NOK', /** Nepalese rupee */ Npr = 'NPR', /** New Zealand dollar */ Nzd = 'NZD', /** Omani rial */ Omr = 'OMR', /** Panamanian balboa */ Pab = 'PAB', /** Peruvian sol */ Pen = 'PEN', /** Papua New Guinean kina */ Pgk = 'PGK', /** Philippine peso */ Php = 'PHP', /** Pakistani rupee */ Pkr = 'PKR', /** Polish złoty */ Pln = 'PLN', /** Paraguayan guaraní */ Pyg = 'PYG', /** Qatari riyal */ Qar = 'QAR', /** Romanian leu */ Ron = 'RON', /** Serbian dinar */ Rsd = 'RSD', /** Russian ruble */ Rub = 'RUB', /** Rwandan franc */ Rwf = 'RWF', /** Saudi riyal */ Sar = 'SAR', /** Solomon Islands dollar */ Sbd = 'SBD', /** Seychelles rupee */ Scr = 'SCR', /** Sudanese pound */ Sdg = 'SDG', /** Swedish krona/kronor */ Sek = 'SEK', /** Singapore dollar */ Sgd = 'SGD', /** Saint Helena pound */ Shp = 'SHP', /** Sierra Leonean leone */ Sll = 'SLL', /** Somali shilling */ Sos = 'SOS', /** Surinamese dollar */ Srd = 'SRD', /** South Sudanese pound */ Ssp = 'SSP', /** São Tomé and Príncipe dobra */ Stn = 'STN', /** Salvadoran colón */ Svc = 'SVC', /** Syrian pound */ Syp = 'SYP', /** Swazi lilangeni */ Szl = 'SZL', /** Thai baht */ Thb = 'THB', /** Tajikistani somoni */ Tjs = 'TJS', /** Turkmenistan manat */ Tmt = 'TMT', /** Tunisian dinar */ Tnd = 'TND', /** Tongan paʻanga */ Top = 'TOP', /** Turkish lira */ Try = 'TRY', /** Trinidad and Tobago dollar */ Ttd = 'TTD', /** New Taiwan dollar */ Twd = 'TWD', /** Tanzanian shilling */ Tzs = 'TZS', /** Ukrainian hryvnia */ Uah = 'UAH', /** Ugandan shilling */ Ugx = 'UGX', /** United States dollar */ Usd = 'USD', /** Uruguayan peso */ Uyu = 'UYU', /** Uzbekistan som */ Uzs = 'UZS', /** Venezuelan bolívar soberano */ Ves = 'VES', /** Vietnamese đồng */ Vnd = 'VND', /** Vanuatu vatu */ Vuv = 'VUV', /** Samoan tala */ Wst = 'WST', /** CFA franc BEAC */ Xaf = 'XAF', /** East Caribbean dollar */ Xcd = 'XCD', /** CFA franc BCEAO */ Xof = 'XOF', /** CFP franc (franc Pacifique) */ Xpf = 'XPF', /** Yemeni rial */ Yer = 'YER', /** South African rand */ Zar = 'ZAR', /** Zambian kwacha */ Zmw = 'ZMW', /** Zimbabwean dollar */ Zwl = 'ZWL', } export type CurrentUser = { __typename?: 'CurrentUser' channels: Array id: Scalars['ID'] identifier: Scalars['String'] } export type CurrentUserChannel = { __typename?: 'CurrentUserChannel' code: Scalars['String'] id: Scalars['ID'] permissions: Array token: Scalars['String'] } export type CustomField = { description?: Maybe> internal?: Maybe label?: Maybe> list: Scalars['Boolean'] name: Scalars['String'] nullable?: Maybe readonly?: Maybe type: Scalars['String'] ui?: Maybe } export type CustomFieldConfig = | BooleanCustomFieldConfig | DateTimeCustomFieldConfig | FloatCustomFieldConfig | IntCustomFieldConfig | LocaleStringCustomFieldConfig | RelationCustomFieldConfig | StringCustomFieldConfig | TextCustomFieldConfig export type Customer = Node & { __typename?: 'Customer' addresses?: Maybe> createdAt: Scalars['DateTime'] customFields?: Maybe emailAddress: Scalars['String'] firstName: Scalars['String'] id: Scalars['ID'] lastName: Scalars['String'] orders: OrderList phoneNumber?: Maybe title?: Maybe updatedAt: Scalars['DateTime'] user?: Maybe } export type CustomerOrdersArgs = { options?: InputMaybe } export type CustomerFilterParameter = { createdAt?: InputMaybe emailAddress?: InputMaybe firstName?: InputMaybe id?: InputMaybe lastName?: InputMaybe phoneNumber?: InputMaybe title?: InputMaybe updatedAt?: InputMaybe } export type CustomerGroup = Node & { __typename?: 'CustomerGroup' createdAt: Scalars['DateTime'] customFields?: Maybe customers: CustomerList id: Scalars['ID'] name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type CustomerGroupCustomersArgs = { options?: InputMaybe } export type CustomerList = PaginatedList & { __typename?: 'CustomerList' items: Array totalItems: Scalars['Int'] } export type CustomerListOptions = { /** Allows the results to be filtered */ filter?: InputMaybe /** Specifies whether multiple "filter" arguments should be combines with a logical AND or OR operation. Defaults to AND. */ filterOperator?: InputMaybe /** Skips the first n results, for use in pagination */ skip?: InputMaybe /** Specifies which properties to sort the results by */ sort?: InputMaybe /** Takes n results, for use in pagination */ take?: InputMaybe } export type CustomerSortParameter = { createdAt?: InputMaybe emailAddress?: InputMaybe firstName?: InputMaybe id?: InputMaybe lastName?: InputMaybe phoneNumber?: InputMaybe title?: InputMaybe updatedAt?: InputMaybe } /** Operators for filtering on a list of Date fields */ export type DateListOperators = { inList: Scalars['DateTime'] } /** Operators for filtering on a DateTime field */ export type DateOperators = { after?: InputMaybe before?: InputMaybe between?: InputMaybe eq?: InputMaybe } export type DateRange = { end: Scalars['DateTime'] start: Scalars['DateTime'] } /** * Expects the same validation formats as the `` HTML element. * See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional_attributes */ export type DateTimeCustomFieldConfig = CustomField & { __typename?: 'DateTimeCustomFieldConfig' description?: Maybe> internal?: Maybe label?: Maybe> list: Scalars['Boolean'] max?: Maybe min?: Maybe name: Scalars['String'] nullable?: Maybe readonly?: Maybe step?: Maybe type: Scalars['String'] ui?: Maybe } export type DeletionResponse = { __typename?: 'DeletionResponse' message?: Maybe result: DeletionResult } export enum DeletionResult { /** The entity was successfully deleted */ Deleted = 'DELETED', /** Deletion did not take place, reason given in message */ NotDeleted = 'NOT_DELETED', } export type Discount = { __typename?: 'Discount' adjustmentSource: Scalars['String'] amount: Scalars['Int'] amountWithTax: Scalars['Int'] description: Scalars['String'] type: AdjustmentType } /** Returned when attempting to create a Customer with an email address already registered to an existing User. */ export type EmailAddressConflictError = ErrorResult & { __typename?: 'EmailAddressConflictError' errorCode: ErrorCode message: Scalars['String'] } export enum ErrorCode { AlreadyLoggedInError = 'ALREADY_LOGGED_IN_ERROR', CouponCodeExpiredError = 'COUPON_CODE_EXPIRED_ERROR', CouponCodeInvalidError = 'COUPON_CODE_INVALID_ERROR', CouponCodeLimitError = 'COUPON_CODE_LIMIT_ERROR', EmailAddressConflictError = 'EMAIL_ADDRESS_CONFLICT_ERROR', IdentifierChangeTokenExpiredError = 'IDENTIFIER_CHANGE_TOKEN_EXPIRED_ERROR', IdentifierChangeTokenInvalidError = 'IDENTIFIER_CHANGE_TOKEN_INVALID_ERROR', IneligiblePaymentMethodError = 'INELIGIBLE_PAYMENT_METHOD_ERROR', IneligibleShippingMethodError = 'INELIGIBLE_SHIPPING_METHOD_ERROR', InsufficientStockError = 'INSUFFICIENT_STOCK_ERROR', InvalidCredentialsError = 'INVALID_CREDENTIALS_ERROR', MissingPasswordError = 'MISSING_PASSWORD_ERROR', NativeAuthStrategyError = 'NATIVE_AUTH_STRATEGY_ERROR', NegativeQuantityError = 'NEGATIVE_QUANTITY_ERROR', NotVerifiedError = 'NOT_VERIFIED_ERROR', NoActiveOrderError = 'NO_ACTIVE_ORDER_ERROR', OrderLimitError = 'ORDER_LIMIT_ERROR', OrderModificationError = 'ORDER_MODIFICATION_ERROR', OrderPaymentStateError = 'ORDER_PAYMENT_STATE_ERROR', OrderStateTransitionError = 'ORDER_STATE_TRANSITION_ERROR', PasswordAlreadySetError = 'PASSWORD_ALREADY_SET_ERROR', PasswordResetTokenExpiredError = 'PASSWORD_RESET_TOKEN_EXPIRED_ERROR', PasswordResetTokenInvalidError = 'PASSWORD_RESET_TOKEN_INVALID_ERROR', PasswordValidationError = 'PASSWORD_VALIDATION_ERROR', PaymentDeclinedError = 'PAYMENT_DECLINED_ERROR', PaymentFailedError = 'PAYMENT_FAILED_ERROR', UnknownError = 'UNKNOWN_ERROR', VerificationTokenExpiredError = 'VERIFICATION_TOKEN_EXPIRED_ERROR', VerificationTokenInvalidError = 'VERIFICATION_TOKEN_INVALID_ERROR', } export type ErrorResult = { errorCode: ErrorCode message: Scalars['String'] } export type Facet = Node & { __typename?: 'Facet' code: Scalars['String'] createdAt: Scalars['DateTime'] customFields?: Maybe id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] translations: Array updatedAt: Scalars['DateTime'] values: Array } export type FacetFilterParameter = { code?: InputMaybe createdAt?: InputMaybe id?: InputMaybe languageCode?: InputMaybe name?: InputMaybe updatedAt?: InputMaybe } export type FacetList = PaginatedList & { __typename?: 'FacetList' items: Array totalItems: Scalars['Int'] } export type FacetListOptions = { /** Allows the results to be filtered */ filter?: InputMaybe /** Specifies whether multiple "filter" arguments should be combines with a logical AND or OR operation. Defaults to AND. */ filterOperator?: InputMaybe /** Skips the first n results, for use in pagination */ skip?: InputMaybe /** Specifies which properties to sort the results by */ sort?: InputMaybe /** Takes n results, for use in pagination */ take?: InputMaybe } export type FacetSortParameter = { code?: InputMaybe createdAt?: InputMaybe id?: InputMaybe name?: InputMaybe updatedAt?: InputMaybe } export type FacetTranslation = { __typename?: 'FacetTranslation' createdAt: Scalars['DateTime'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type FacetValue = Node & { __typename?: 'FacetValue' code: Scalars['String'] createdAt: Scalars['DateTime'] customFields?: Maybe facet: Facet id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] translations: Array updatedAt: Scalars['DateTime'] } /** * Used to construct boolean expressions for filtering search results * by FacetValue ID. Examples: * * * ID=1 OR ID=2: `{ facetValueFilters: [{ or: [1,2] }] }` * * ID=1 AND ID=2: `{ facetValueFilters: [{ and: 1 }, { and: 2 }] }` * * ID=1 AND (ID=2 OR ID=3): `{ facetValueFilters: [{ and: 1 }, { or: [2,3] }] }` */ export type FacetValueFilterInput = { and?: InputMaybe or?: InputMaybe> } /** * Which FacetValues are present in the products returned * by the search, and in what quantity. */ export type FacetValueResult = { __typename?: 'FacetValueResult' count: Scalars['Int'] facetValue: FacetValue } export type FacetValueTranslation = { __typename?: 'FacetValueTranslation' createdAt: Scalars['DateTime'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type FloatCustomFieldConfig = CustomField & { __typename?: 'FloatCustomFieldConfig' description?: Maybe> internal?: Maybe label?: Maybe> list: Scalars['Boolean'] max?: Maybe min?: Maybe name: Scalars['String'] nullable?: Maybe readonly?: Maybe step?: Maybe type: Scalars['String'] ui?: Maybe } export type Fulfillment = Node & { __typename?: 'Fulfillment' createdAt: Scalars['DateTime'] customFields?: Maybe id: Scalars['ID'] method: Scalars['String'] orderItems: Array state: Scalars['String'] trackingCode?: Maybe updatedAt: Scalars['DateTime'] } export enum GlobalFlag { False = 'FALSE', Inherit = 'INHERIT', True = 'TRUE', } export type HistoryEntry = Node & { __typename?: 'HistoryEntry' createdAt: Scalars['DateTime'] data: Scalars['JSON'] id: Scalars['ID'] type: HistoryEntryType updatedAt: Scalars['DateTime'] } export type HistoryEntryFilterParameter = { createdAt?: InputMaybe id?: InputMaybe type?: InputMaybe updatedAt?: InputMaybe } export type HistoryEntryList = PaginatedList & { __typename?: 'HistoryEntryList' items: Array totalItems: Scalars['Int'] } export type HistoryEntryListOptions = { /** Allows the results to be filtered */ filter?: InputMaybe /** Specifies whether multiple "filter" arguments should be combines with a logical AND or OR operation. Defaults to AND. */ filterOperator?: InputMaybe /** Skips the first n results, for use in pagination */ skip?: InputMaybe /** Specifies which properties to sort the results by */ sort?: InputMaybe /** Takes n results, for use in pagination */ take?: InputMaybe } export type HistoryEntrySortParameter = { createdAt?: InputMaybe id?: InputMaybe updatedAt?: InputMaybe } export enum HistoryEntryType { CustomerAddedToGroup = 'CUSTOMER_ADDED_TO_GROUP', CustomerAddressCreated = 'CUSTOMER_ADDRESS_CREATED', CustomerAddressDeleted = 'CUSTOMER_ADDRESS_DELETED', CustomerAddressUpdated = 'CUSTOMER_ADDRESS_UPDATED', CustomerDetailUpdated = 'CUSTOMER_DETAIL_UPDATED', CustomerEmailUpdateRequested = 'CUSTOMER_EMAIL_UPDATE_REQUESTED', CustomerEmailUpdateVerified = 'CUSTOMER_EMAIL_UPDATE_VERIFIED', CustomerNote = 'CUSTOMER_NOTE', CustomerPasswordResetRequested = 'CUSTOMER_PASSWORD_RESET_REQUESTED', CustomerPasswordResetVerified = 'CUSTOMER_PASSWORD_RESET_VERIFIED', CustomerPasswordUpdated = 'CUSTOMER_PASSWORD_UPDATED', CustomerRegistered = 'CUSTOMER_REGISTERED', CustomerRemovedFromGroup = 'CUSTOMER_REMOVED_FROM_GROUP', CustomerVerified = 'CUSTOMER_VERIFIED', OrderCancellation = 'ORDER_CANCELLATION', OrderCouponApplied = 'ORDER_COUPON_APPLIED', OrderCouponRemoved = 'ORDER_COUPON_REMOVED', OrderFulfillment = 'ORDER_FULFILLMENT', OrderFulfillmentTransition = 'ORDER_FULFILLMENT_TRANSITION', OrderModified = 'ORDER_MODIFIED', OrderNote = 'ORDER_NOTE', OrderPaymentTransition = 'ORDER_PAYMENT_TRANSITION', OrderRefundTransition = 'ORDER_REFUND_TRANSITION', OrderStateTransition = 'ORDER_STATE_TRANSITION', } /** Operators for filtering on a list of ID fields */ export type IdListOperators = { inList: Scalars['ID'] } /** Operators for filtering on an ID field */ export type IdOperators = { eq?: InputMaybe in?: InputMaybe> notEq?: InputMaybe notIn?: InputMaybe> } /** * Returned if the token used to change a Customer's email address is valid, but has * expired according to the `verificationTokenDuration` setting in the AuthOptions. */ export type IdentifierChangeTokenExpiredError = ErrorResult & { __typename?: 'IdentifierChangeTokenExpiredError' errorCode: ErrorCode message: Scalars['String'] } /** * Returned if the token used to change a Customer's email address is either * invalid or does not match any expected tokens. */ export type IdentifierChangeTokenInvalidError = ErrorResult & { __typename?: 'IdentifierChangeTokenInvalidError' errorCode: ErrorCode message: Scalars['String'] } /** Returned when attempting to add a Payment using a PaymentMethod for which the Order is not eligible. */ export type IneligiblePaymentMethodError = ErrorResult & { __typename?: 'IneligiblePaymentMethodError' eligibilityCheckerMessage?: Maybe errorCode: ErrorCode message: Scalars['String'] } /** Returned when attempting to set a ShippingMethod for which the Order is not eligible */ export type IneligibleShippingMethodError = ErrorResult & { __typename?: 'IneligibleShippingMethodError' errorCode: ErrorCode message: Scalars['String'] } /** Returned when attempting to add more items to the Order than are available */ export type InsufficientStockError = ErrorResult & { __typename?: 'InsufficientStockError' errorCode: ErrorCode message: Scalars['String'] order: Order quantityAvailable: Scalars['Int'] } export type IntCustomFieldConfig = CustomField & { __typename?: 'IntCustomFieldConfig' description?: Maybe> internal?: Maybe label?: Maybe> list: Scalars['Boolean'] max?: Maybe min?: Maybe name: Scalars['String'] nullable?: Maybe readonly?: Maybe step?: Maybe type: Scalars['String'] ui?: Maybe } /** Returned if the user authentication credentials are not valid */ export type InvalidCredentialsError = ErrorResult & { __typename?: 'InvalidCredentialsError' authenticationError: Scalars['String'] errorCode: ErrorCode message: Scalars['String'] } /** * @description * Languages in the form of a ISO 639-1 language code with optional * region or script modifier (e.g. de_AT). The selection available is based * on the [Unicode CLDR summary list](https://unicode-org.github.io/cldr-staging/charts/37/summary/root.html) * and includes the major spoken languages of the world and any widely-used variants. * * @docsCategory common */ export enum LanguageCode { /** Afrikaans */ Af = 'af', /** Akan */ Ak = 'ak', /** Amharic */ Am = 'am', /** Arabic */ Ar = 'ar', /** Assamese */ As = 'as', /** Azerbaijani */ Az = 'az', /** Belarusian */ Be = 'be', /** Bulgarian */ Bg = 'bg', /** Bambara */ Bm = 'bm', /** Bangla */ Bn = 'bn', /** Tibetan */ Bo = 'bo', /** Breton */ Br = 'br', /** Bosnian */ Bs = 'bs', /** Catalan */ Ca = 'ca', /** Chechen */ Ce = 'ce', /** Corsican */ Co = 'co', /** Czech */ Cs = 'cs', /** Church Slavic */ Cu = 'cu', /** Welsh */ Cy = 'cy', /** Danish */ Da = 'da', /** German */ De = 'de', /** Austrian German */ DeAt = 'de_AT', /** Swiss High German */ DeCh = 'de_CH', /** Dzongkha */ Dz = 'dz', /** Ewe */ Ee = 'ee', /** Greek */ El = 'el', /** English */ En = 'en', /** Australian English */ EnAu = 'en_AU', /** Canadian English */ EnCa = 'en_CA', /** British English */ EnGb = 'en_GB', /** American English */ EnUs = 'en_US', /** Esperanto */ Eo = 'eo', /** Spanish */ Es = 'es', /** European Spanish */ EsEs = 'es_ES', /** Mexican Spanish */ EsMx = 'es_MX', /** Estonian */ Et = 'et', /** Basque */ Eu = 'eu', /** Persian */ Fa = 'fa', /** Dari */ FaAf = 'fa_AF', /** Fulah */ Ff = 'ff', /** Finnish */ Fi = 'fi', /** Faroese */ Fo = 'fo', /** French */ Fr = 'fr', /** Canadian French */ FrCa = 'fr_CA', /** Swiss French */ FrCh = 'fr_CH', /** Western Frisian */ Fy = 'fy', /** Irish */ Ga = 'ga', /** Scottish Gaelic */ Gd = 'gd', /** Galician */ Gl = 'gl', /** Gujarati */ Gu = 'gu', /** Manx */ Gv = 'gv', /** Hausa */ Ha = 'ha', /** Hebrew */ He = 'he', /** Hindi */ Hi = 'hi', /** Croatian */ Hr = 'hr', /** Haitian Creole */ Ht = 'ht', /** Hungarian */ Hu = 'hu', /** Armenian */ Hy = 'hy', /** Interlingua */ Ia = 'ia', /** Indonesian */ Id = 'id', /** Igbo */ Ig = 'ig', /** Sichuan Yi */ Ii = 'ii', /** Icelandic */ Is = 'is', /** Italian */ It = 'it', /** Japanese */ Ja = 'ja', /** Javanese */ Jv = 'jv', /** Georgian */ Ka = 'ka', /** Kikuyu */ Ki = 'ki', /** Kazakh */ Kk = 'kk', /** Kalaallisut */ Kl = 'kl', /** Khmer */ Km = 'km', /** Kannada */ Kn = 'kn', /** Korean */ Ko = 'ko', /** Kashmiri */ Ks = 'ks', /** Kurdish */ Ku = 'ku', /** Cornish */ Kw = 'kw', /** Kyrgyz */ Ky = 'ky', /** Latin */ La = 'la', /** Luxembourgish */ Lb = 'lb', /** Ganda */ Lg = 'lg', /** Lingala */ Ln = 'ln', /** Lao */ Lo = 'lo', /** Lithuanian */ Lt = 'lt', /** Luba-Katanga */ Lu = 'lu', /** Latvian */ Lv = 'lv', /** Malagasy */ Mg = 'mg', /** Maori */ Mi = 'mi', /** Macedonian */ Mk = 'mk', /** Malayalam */ Ml = 'ml', /** Mongolian */ Mn = 'mn', /** Marathi */ Mr = 'mr', /** Malay */ Ms = 'ms', /** Maltese */ Mt = 'mt', /** Burmese */ My = 'my', /** Norwegian Bokmål */ Nb = 'nb', /** North Ndebele */ Nd = 'nd', /** Nepali */ Ne = 'ne', /** Dutch */ Nl = 'nl', /** Flemish */ NlBe = 'nl_BE', /** Norwegian Nynorsk */ Nn = 'nn', /** Nyanja */ Ny = 'ny', /** Oromo */ Om = 'om', /** Odia */ Or = 'or', /** Ossetic */ Os = 'os', /** Punjabi */ Pa = 'pa', /** Polish */ Pl = 'pl', /** Pashto */ Ps = 'ps', /** Portuguese */ Pt = 'pt', /** Brazilian Portuguese */ PtBr = 'pt_BR', /** European Portuguese */ PtPt = 'pt_PT', /** Quechua */ Qu = 'qu', /** Romansh */ Rm = 'rm', /** Rundi */ Rn = 'rn', /** Romanian */ Ro = 'ro', /** Moldavian */ RoMd = 'ro_MD', /** Russian */ Ru = 'ru', /** Kinyarwanda */ Rw = 'rw', /** Sanskrit */ Sa = 'sa', /** Sindhi */ Sd = 'sd', /** Northern Sami */ Se = 'se', /** Sango */ Sg = 'sg', /** Sinhala */ Si = 'si', /** Slovak */ Sk = 'sk', /** Slovenian */ Sl = 'sl', /** Samoan */ Sm = 'sm', /** Shona */ Sn = 'sn', /** Somali */ So = 'so', /** Albanian */ Sq = 'sq', /** Serbian */ Sr = 'sr', /** Southern Sotho */ St = 'st', /** Sundanese */ Su = 'su', /** Swedish */ Sv = 'sv', /** Swahili */ Sw = 'sw', /** Congo Swahili */ SwCd = 'sw_CD', /** Tamil */ Ta = 'ta', /** Telugu */ Te = 'te', /** Tajik */ Tg = 'tg', /** Thai */ Th = 'th', /** Tigrinya */ Ti = 'ti', /** Turkmen */ Tk = 'tk', /** Tongan */ To = 'to', /** Turkish */ Tr = 'tr', /** Tatar */ Tt = 'tt', /** Uyghur */ Ug = 'ug', /** Ukrainian */ Uk = 'uk', /** Urdu */ Ur = 'ur', /** Uzbek */ Uz = 'uz', /** Vietnamese */ Vi = 'vi', /** Volapük */ Vo = 'vo', /** Wolof */ Wo = 'wo', /** Xhosa */ Xh = 'xh', /** Yiddish */ Yi = 'yi', /** Yoruba */ Yo = 'yo', /** Chinese */ Zh = 'zh', /** Simplified Chinese */ ZhHans = 'zh_Hans', /** Traditional Chinese */ ZhHant = 'zh_Hant', /** Zulu */ Zu = 'zu', } export type LocaleStringCustomFieldConfig = CustomField & { __typename?: 'LocaleStringCustomFieldConfig' description?: Maybe> internal?: Maybe label?: Maybe> length?: Maybe list: Scalars['Boolean'] name: Scalars['String'] nullable?: Maybe pattern?: Maybe readonly?: Maybe type: Scalars['String'] ui?: Maybe } export type LocalizedString = { __typename?: 'LocalizedString' languageCode: LanguageCode value: Scalars['String'] } export enum LogicalOperator { And = 'AND', Or = 'OR', } /** Returned when attempting to register or verify a customer account without a password, when one is required. */ export type MissingPasswordError = ErrorResult & { __typename?: 'MissingPasswordError' errorCode: ErrorCode message: Scalars['String'] } export type Mutation = { __typename?: 'Mutation' /** Adds an item to the order. If custom fields are defined on the OrderLine entity, a third argument 'customFields' will be available. */ addItemToOrder: UpdateOrderItemsResult /** Add a Payment to the Order */ addPaymentToOrder: AddPaymentToOrderResult /** Adjusts an OrderLine. If custom fields are defined on the OrderLine entity, a third argument 'customFields' of type `OrderLineCustomFieldsInput` will be available. */ adjustOrderLine: UpdateOrderItemsResult /** Applies the given coupon code to the active Order */ applyCouponCode: ApplyCouponCodeResult /** Authenticates the user using a named authentication strategy */ authenticate: AuthenticationResult /** Create a new Customer Address */ createCustomerAddress: Address /** Delete an existing Address */ deleteCustomerAddress: Success /** Authenticates the user using the native authentication strategy. This mutation is an alias for `authenticate({ native: { ... }})` */ login: NativeAuthenticationResult /** End the current authenticated session */ logout: Success /** Regenerate and send a verification token for a new Customer registration. Only applicable if `authOptions.requireVerification` is set to true. */ refreshCustomerVerification: RefreshCustomerVerificationResult /** * Register a Customer account with the given credentials. There are three possible registration flows: * * _If `authOptions.requireVerification` is set to `true`:_ * * 1. **The Customer is registered _with_ a password**. A verificationToken will be created (and typically emailed to the Customer). That * verificationToken would then be passed to the `verifyCustomerAccount` mutation _without_ a password. The Customer is then * verified and authenticated in one step. * 2. **The Customer is registered _without_ a password**. A verificationToken will be created (and typically emailed to the Customer). That * verificationToken would then be passed to the `verifyCustomerAccount` mutation _with_ the chosen password of the Customer. The Customer is then * verified and authenticated in one step. * * _If `authOptions.requireVerification` is set to `false`:_ * * 3. The Customer _must_ be registered _with_ a password. No further action is needed - the Customer is able to authenticate immediately. */ registerCustomerAccount: RegisterCustomerAccountResult /** Remove all OrderLine from the Order */ removeAllOrderLines: RemoveOrderItemsResult /** Removes the given coupon code from the active Order */ removeCouponCode?: Maybe /** Remove an OrderLine from the Order */ removeOrderLine: RemoveOrderItemsResult /** Requests a password reset email to be sent */ requestPasswordReset?: Maybe /** * Request to update the emailAddress of the active Customer. If `authOptions.requireVerification` is enabled * (as is the default), then the `identifierChangeToken` will be assigned to the current User and * a IdentifierChangeRequestEvent will be raised. This can then be used e.g. by the EmailPlugin to email * that verification token to the Customer, which is then used to verify the change of email address. */ requestUpdateCustomerEmailAddress: RequestUpdateCustomerEmailAddressResult /** Resets a Customer's password based on the provided token */ resetPassword: ResetPasswordResult /** Set the Customer for the Order. Required only if the Customer is not currently logged in */ setCustomerForOrder: SetCustomerForOrderResult /** Sets the billing address for this order */ setOrderBillingAddress: ActiveOrderResult /** Allows any custom fields to be set for the active order */ setOrderCustomFields: ActiveOrderResult /** Sets the shipping address for this order */ setOrderShippingAddress: ActiveOrderResult /** Sets the shipping method by id, which can be obtained with the `eligibleShippingMethods` query */ setOrderShippingMethod: SetOrderShippingMethodResult /** Transitions an Order to a new state. Valid next states can be found by querying `nextOrderStates` */ transitionOrderToState?: Maybe /** Update an existing Customer */ updateCustomer: Customer /** Update an existing Address */ updateCustomerAddress: Address /** * Confirm the update of the emailAddress with the provided token, which has been generated by the * `requestUpdateCustomerEmailAddress` mutation. */ updateCustomerEmailAddress: UpdateCustomerEmailAddressResult /** Update the password of the active Customer */ updateCustomerPassword: UpdateCustomerPasswordResult /** * Verify a Customer email address with the token sent to that address. Only applicable if `authOptions.requireVerification` is set to true. * * If the Customer was not registered with a password in the `registerCustomerAccount` mutation, the password _must_ be * provided here. */ verifyCustomerAccount: VerifyCustomerAccountResult } export type MutationAddItemToOrderArgs = { productVariantId: Scalars['ID'] quantity: Scalars['Int'] } export type MutationAddPaymentToOrderArgs = { input: PaymentInput } export type MutationAdjustOrderLineArgs = { orderLineId: Scalars['ID'] quantity: Scalars['Int'] } export type MutationApplyCouponCodeArgs = { couponCode: Scalars['String'] } export type MutationAuthenticateArgs = { input: AuthenticationInput rememberMe?: InputMaybe } export type MutationCreateCustomerAddressArgs = { input: CreateAddressInput } export type MutationDeleteCustomerAddressArgs = { id: Scalars['ID'] } export type MutationLoginArgs = { password: Scalars['String'] rememberMe?: InputMaybe username: Scalars['String'] } export type MutationRefreshCustomerVerificationArgs = { emailAddress: Scalars['String'] } export type MutationRegisterCustomerAccountArgs = { input: RegisterCustomerInput } export type MutationRemoveCouponCodeArgs = { couponCode: Scalars['String'] } export type MutationRemoveOrderLineArgs = { orderLineId: Scalars['ID'] } export type MutationRequestPasswordResetArgs = { emailAddress: Scalars['String'] } export type MutationRequestUpdateCustomerEmailAddressArgs = { newEmailAddress: Scalars['String'] password: Scalars['String'] } export type MutationResetPasswordArgs = { password: Scalars['String'] token: Scalars['String'] } export type MutationSetCustomerForOrderArgs = { input: CreateCustomerInput } export type MutationSetOrderBillingAddressArgs = { input: CreateAddressInput } export type MutationSetOrderCustomFieldsArgs = { input: UpdateOrderInput } export type MutationSetOrderShippingAddressArgs = { input: CreateAddressInput } export type MutationSetOrderShippingMethodArgs = { shippingMethodId: Scalars['ID'] } export type MutationTransitionOrderToStateArgs = { state: Scalars['String'] } export type MutationUpdateCustomerArgs = { input: UpdateCustomerInput } export type MutationUpdateCustomerAddressArgs = { input: UpdateAddressInput } export type MutationUpdateCustomerEmailAddressArgs = { token: Scalars['String'] } export type MutationUpdateCustomerPasswordArgs = { currentPassword: Scalars['String'] newPassword: Scalars['String'] } export type MutationVerifyCustomerAccountArgs = { password?: InputMaybe token: Scalars['String'] } export type NativeAuthInput = { password: Scalars['String'] username: Scalars['String'] } /** Returned when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured. */ export type NativeAuthStrategyError = ErrorResult & { __typename?: 'NativeAuthStrategyError' errorCode: ErrorCode message: Scalars['String'] } export type NativeAuthenticationResult = | CurrentUser | InvalidCredentialsError | NativeAuthStrategyError | NotVerifiedError /** Returned when attempting to set a negative OrderLine quantity. */ export type NegativeQuantityError = ErrorResult & { __typename?: 'NegativeQuantityError' errorCode: ErrorCode message: Scalars['String'] } /** * Returned when invoking a mutation which depends on there being an active Order on the * current session. */ export type NoActiveOrderError = ErrorResult & { __typename?: 'NoActiveOrderError' errorCode: ErrorCode message: Scalars['String'] } export type Node = { id: Scalars['ID'] } /** * Returned if `authOptions.requireVerification` is set to `true` (which is the default) * and an unverified user attempts to authenticate. */ export type NotVerifiedError = ErrorResult & { __typename?: 'NotVerifiedError' errorCode: ErrorCode message: Scalars['String'] } /** Operators for filtering on a list of Number fields */ export type NumberListOperators = { inList: Scalars['Float'] } /** Operators for filtering on a Int or Float field */ export type NumberOperators = { between?: InputMaybe eq?: InputMaybe gt?: InputMaybe gte?: InputMaybe lt?: InputMaybe lte?: InputMaybe } export type NumberRange = { end: Scalars['Float'] start: Scalars['Float'] } export type Order = Node & { __typename?: 'Order' /** An order is active as long as the payment process has not been completed */ active: Scalars['Boolean'] billingAddress?: Maybe /** A unique code for the Order */ code: Scalars['String'] /** An array of all coupon codes applied to the Order */ couponCodes: Array createdAt: Scalars['DateTime'] currencyCode: CurrencyCode customFields?: Maybe customer?: Maybe discounts: Array fulfillments?: Maybe> history: HistoryEntryList id: Scalars['ID'] lines: Array /** * The date & time that the Order was placed, i.e. the Customer * completed the checkout and the Order is no longer "active" */ orderPlacedAt?: Maybe payments?: Maybe> /** Promotions applied to the order. Only gets populated after the payment process has completed. */ promotions: Array shipping: Scalars['Int'] shippingAddress?: Maybe shippingLines: Array shippingWithTax: Scalars['Int'] state: Scalars['String'] /** * The subTotal is the total of all OrderLines in the Order. This figure also includes any Order-level * discounts which have been prorated (proportionally distributed) amongst the OrderItems. * To get a total of all OrderLines which does not account for prorated discounts, use the * sum of `OrderLine.discountedLinePrice` values. */ subTotal: Scalars['Int'] /** Same as subTotal, but inclusive of tax */ subTotalWithTax: Scalars['Int'] /** * Surcharges are arbitrary modifications to the Order total which are neither * ProductVariants nor discounts resulting from applied Promotions. For example, * one-off discounts based on customer interaction, or surcharges based on payment * methods. */ surcharges: Array /** A summary of the taxes being applied to this Order */ taxSummary: Array /** Equal to subTotal plus shipping */ total: Scalars['Int'] totalQuantity: Scalars['Int'] /** The final payable amount. Equal to subTotalWithTax plus shippingWithTax */ totalWithTax: Scalars['Int'] updatedAt: Scalars['DateTime'] } export type OrderHistoryArgs = { options?: InputMaybe } export type OrderAddress = { __typename?: 'OrderAddress' city?: Maybe company?: Maybe country?: Maybe countryCode?: Maybe customFields?: Maybe fullName?: Maybe phoneNumber?: Maybe postalCode?: Maybe province?: Maybe streetLine1?: Maybe streetLine2?: Maybe } export type OrderFilterParameter = { active?: InputMaybe code?: InputMaybe createdAt?: InputMaybe currencyCode?: InputMaybe id?: InputMaybe orderPlacedAt?: InputMaybe shipping?: InputMaybe shippingWithTax?: InputMaybe state?: InputMaybe subTotal?: InputMaybe subTotalWithTax?: InputMaybe total?: InputMaybe totalQuantity?: InputMaybe totalWithTax?: InputMaybe updatedAt?: InputMaybe } export type OrderItem = Node & { __typename?: 'OrderItem' adjustments: Array cancelled: Scalars['Boolean'] createdAt: Scalars['DateTime'] /** * The price of a single unit including discounts, excluding tax. * * If Order-level discounts have been applied, this will not be the * actual taxable unit price (see `proratedUnitPrice`), but is generally the * correct price to display to customers to avoid confusion * about the internal handling of distributed Order-level discounts. */ discountedUnitPrice: Scalars['Int'] /** The price of a single unit including discounts and tax */ discountedUnitPriceWithTax: Scalars['Int'] fulfillment?: Maybe id: Scalars['ID'] /** * The actual unit price, taking into account both item discounts _and_ prorated (proportionally-distributed) * Order-level discounts. This value is the true economic value of the OrderItem, and is used in tax * and refund calculations. */ proratedUnitPrice: Scalars['Int'] /** The proratedUnitPrice including tax */ proratedUnitPriceWithTax: Scalars['Int'] refundId?: Maybe taxLines: Array taxRate: Scalars['Float'] /** The price of a single unit, excluding tax and discounts */ unitPrice: Scalars['Int'] /** The price of a single unit, including tax but excluding discounts */ unitPriceWithTax: Scalars['Int'] unitTax: Scalars['Int'] updatedAt: Scalars['DateTime'] } /** Returned when the maximum order size limit has been reached. */ export type OrderLimitError = ErrorResult & { __typename?: 'OrderLimitError' errorCode: ErrorCode maxItems: Scalars['Int'] message: Scalars['String'] } export type OrderLine = Node & { __typename?: 'OrderLine' createdAt: Scalars['DateTime'] customFields?: Maybe /** The price of the line including discounts, excluding tax */ discountedLinePrice: Scalars['Int'] /** The price of the line including discounts and tax */ discountedLinePriceWithTax: Scalars['Int'] /** * The price of a single unit including discounts, excluding tax. * * If Order-level discounts have been applied, this will not be the * actual taxable unit price (see `proratedUnitPrice`), but is generally the * correct price to display to customers to avoid confusion * about the internal handling of distributed Order-level discounts. */ discountedUnitPrice: Scalars['Int'] /** The price of a single unit including discounts and tax */ discountedUnitPriceWithTax: Scalars['Int'] discounts: Array featuredAsset?: Maybe id: Scalars['ID'] items: Array /** The total price of the line excluding tax and discounts. */ linePrice: Scalars['Int'] /** The total price of the line including tax but excluding discounts. */ linePriceWithTax: Scalars['Int'] /** The total tax on this line */ lineTax: Scalars['Int'] order: Order productVariant: ProductVariant /** * The actual line price, taking into account both item discounts _and_ prorated (proportionally-distributed) * Order-level discounts. This value is the true economic value of the OrderLine, and is used in tax * and refund calculations. */ proratedLinePrice: Scalars['Int'] /** The proratedLinePrice including tax */ proratedLinePriceWithTax: Scalars['Int'] /** * The actual unit price, taking into account both item discounts _and_ prorated (proportionally-distributed) * Order-level discounts. This value is the true economic value of the OrderItem, and is used in tax * and refund calculations. */ proratedUnitPrice: Scalars['Int'] /** The proratedUnitPrice including tax */ proratedUnitPriceWithTax: Scalars['Int'] quantity: Scalars['Int'] taxLines: Array taxRate: Scalars['Float'] /** The price of a single unit, excluding tax and discounts */ unitPrice: Scalars['Int'] /** Non-zero if the unitPrice has changed since it was initially added to Order */ unitPriceChangeSinceAdded: Scalars['Int'] /** The price of a single unit, including tax but excluding discounts */ unitPriceWithTax: Scalars['Int'] /** Non-zero if the unitPriceWithTax has changed since it was initially added to Order */ unitPriceWithTaxChangeSinceAdded: Scalars['Int'] updatedAt: Scalars['DateTime'] } export type OrderList = PaginatedList & { __typename?: 'OrderList' items: Array totalItems: Scalars['Int'] } export type OrderListOptions = { /** Allows the results to be filtered */ filter?: InputMaybe /** Specifies whether multiple "filter" arguments should be combines with a logical AND or OR operation. Defaults to AND. */ filterOperator?: InputMaybe /** Skips the first n results, for use in pagination */ skip?: InputMaybe /** Specifies which properties to sort the results by */ sort?: InputMaybe /** Takes n results, for use in pagination */ take?: InputMaybe } /** Returned when attempting to modify the contents of an Order that is not in the `AddingItems` state. */ export type OrderModificationError = ErrorResult & { __typename?: 'OrderModificationError' errorCode: ErrorCode message: Scalars['String'] } /** Returned when attempting to add a Payment to an Order that is not in the `ArrangingPayment` state. */ export type OrderPaymentStateError = ErrorResult & { __typename?: 'OrderPaymentStateError' errorCode: ErrorCode message: Scalars['String'] } export type OrderSortParameter = { code?: InputMaybe createdAt?: InputMaybe id?: InputMaybe orderPlacedAt?: InputMaybe shipping?: InputMaybe shippingWithTax?: InputMaybe state?: InputMaybe subTotal?: InputMaybe subTotalWithTax?: InputMaybe total?: InputMaybe totalQuantity?: InputMaybe totalWithTax?: InputMaybe updatedAt?: InputMaybe } /** Returned if there is an error in transitioning the Order state */ export type OrderStateTransitionError = ErrorResult & { __typename?: 'OrderStateTransitionError' errorCode: ErrorCode fromState: Scalars['String'] message: Scalars['String'] toState: Scalars['String'] transitionError: Scalars['String'] } /** * A summary of the taxes being applied to this order, grouped * by taxRate. */ export type OrderTaxSummary = { __typename?: 'OrderTaxSummary' /** A description of this tax */ description: Scalars['String'] /** The total net price or OrderItems to which this taxRate applies */ taxBase: Scalars['Int'] /** The taxRate as a percentage */ taxRate: Scalars['Float'] /** The total tax being applied to the Order at this taxRate */ taxTotal: Scalars['Int'] } export type PaginatedList = { items: Array totalItems: Scalars['Int'] } /** Returned when attempting to verify a customer account with a password, when a password has already been set. */ export type PasswordAlreadySetError = ErrorResult & { __typename?: 'PasswordAlreadySetError' errorCode: ErrorCode message: Scalars['String'] } /** * Returned if the token used to reset a Customer's password is valid, but has * expired according to the `verificationTokenDuration` setting in the AuthOptions. */ export type PasswordResetTokenExpiredError = ErrorResult & { __typename?: 'PasswordResetTokenExpiredError' errorCode: ErrorCode message: Scalars['String'] } /** * Returned if the token used to reset a Customer's password is either * invalid or does not match any expected tokens. */ export type PasswordResetTokenInvalidError = ErrorResult & { __typename?: 'PasswordResetTokenInvalidError' errorCode: ErrorCode message: Scalars['String'] } /** Returned when attempting to register or verify a customer account where the given password fails password validation. */ export type PasswordValidationError = ErrorResult & { __typename?: 'PasswordValidationError' errorCode: ErrorCode message: Scalars['String'] validationErrorMessage: Scalars['String'] } export type Payment = Node & { __typename?: 'Payment' amount: Scalars['Int'] createdAt: Scalars['DateTime'] errorMessage?: Maybe id: Scalars['ID'] metadata?: Maybe method: Scalars['String'] refunds: Array state: Scalars['String'] transactionId?: Maybe updatedAt: Scalars['DateTime'] } /** Returned when a Payment is declined by the payment provider. */ export type PaymentDeclinedError = ErrorResult & { __typename?: 'PaymentDeclinedError' errorCode: ErrorCode message: Scalars['String'] paymentErrorMessage: Scalars['String'] } /** Returned when a Payment fails due to an error. */ export type PaymentFailedError = ErrorResult & { __typename?: 'PaymentFailedError' errorCode: ErrorCode message: Scalars['String'] paymentErrorMessage: Scalars['String'] } /** Passed as input to the `addPaymentToOrder` mutation. */ export type PaymentInput = { /** * This field should contain arbitrary data passed to the specified PaymentMethodHandler's `createPayment()` method * as the "metadata" argument. For example, it could contain an ID for the payment and other * data generated by the payment provider. */ metadata: Scalars['JSON'] /** This field should correspond to the `code` property of a PaymentMethod. */ method: Scalars['String'] } export type PaymentMethod = Node & { __typename?: 'PaymentMethod' checker?: Maybe code: Scalars['String'] createdAt: Scalars['DateTime'] customFields?: Maybe description: Scalars['String'] enabled: Scalars['Boolean'] handler: ConfigurableOperation id: Scalars['ID'] name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type PaymentMethodQuote = { __typename?: 'PaymentMethodQuote' code: Scalars['String'] customFields?: Maybe description: Scalars['String'] eligibilityMessage?: Maybe id: Scalars['ID'] isEligible: Scalars['Boolean'] name: Scalars['String'] } /** * @description * Permissions for administrators and customers. Used to control access to * GraphQL resolvers via the {@link Allow} decorator. * * ## Understanding Permission.Owner * * `Permission.Owner` is a special permission which is used in some of the Vendure resolvers to indicate that that resolver should only * be accessible to the "owner" of that resource. * * For example, the Shop API `activeCustomer` query resolver should only return the Customer object for the "owner" of that Customer, i.e. * based on the activeUserId of the current session. As a result, the resolver code looks like this: * * @example * ```TypeScript * \@Query() * \@Allow(Permission.Owner) * async activeCustomer(\@Ctx() ctx: RequestContext): Promise { * const userId = ctx.activeUserId; * if (userId) { * return this.customerService.findOneByUserId(ctx, userId); * } * } * ``` * * Here we can see that the "ownership" must be enforced by custom logic inside the resolver. Since "ownership" cannot be defined generally * nor statically encoded at build-time, any resolvers using `Permission.Owner` **must** include logic to enforce that only the owner * of the resource has access. If not, then it is the equivalent of using `Permission.Public`. * * * @docsCategory common */ export enum Permission { /** Authenticated means simply that the user is logged in */ Authenticated = 'Authenticated', /** Grants permission to create Administrator */ CreateAdministrator = 'CreateAdministrator', /** Grants permission to create Asset */ CreateAsset = 'CreateAsset', /** Grants permission to create Products, Facets, Assets, Collections */ CreateCatalog = 'CreateCatalog', /** Grants permission to create Channel */ CreateChannel = 'CreateChannel', /** Grants permission to create Collection */ CreateCollection = 'CreateCollection', /** Grants permission to create Country */ CreateCountry = 'CreateCountry', /** Grants permission to create Customer */ CreateCustomer = 'CreateCustomer', /** Grants permission to create CustomerGroup */ CreateCustomerGroup = 'CreateCustomerGroup', /** Grants permission to create Facet */ CreateFacet = 'CreateFacet', /** Grants permission to create Order */ CreateOrder = 'CreateOrder', /** Grants permission to create PaymentMethod */ CreatePaymentMethod = 'CreatePaymentMethod', /** Grants permission to create Product */ CreateProduct = 'CreateProduct', /** Grants permission to create Promotion */ CreatePromotion = 'CreatePromotion', /** Grants permission to create PaymentMethods, ShippingMethods, TaxCategories, TaxRates, Zones, Countries, System & GlobalSettings */ CreateSettings = 'CreateSettings', /** Grants permission to create ShippingMethod */ CreateShippingMethod = 'CreateShippingMethod', /** Grants permission to create System */ CreateSystem = 'CreateSystem', /** Grants permission to create Tag */ CreateTag = 'CreateTag', /** Grants permission to create TaxCategory */ CreateTaxCategory = 'CreateTaxCategory', /** Grants permission to create TaxRate */ CreateTaxRate = 'CreateTaxRate', /** Grants permission to create Zone */ CreateZone = 'CreateZone', /** Grants permission to delete Administrator */ DeleteAdministrator = 'DeleteAdministrator', /** Grants permission to delete Asset */ DeleteAsset = 'DeleteAsset', /** Grants permission to delete Products, Facets, Assets, Collections */ DeleteCatalog = 'DeleteCatalog', /** Grants permission to delete Channel */ DeleteChannel = 'DeleteChannel', /** Grants permission to delete Collection */ DeleteCollection = 'DeleteCollection', /** Grants permission to delete Country */ DeleteCountry = 'DeleteCountry', /** Grants permission to delete Customer */ DeleteCustomer = 'DeleteCustomer', /** Grants permission to delete CustomerGroup */ DeleteCustomerGroup = 'DeleteCustomerGroup', /** Grants permission to delete Facet */ DeleteFacet = 'DeleteFacet', /** Grants permission to delete Order */ DeleteOrder = 'DeleteOrder', /** Grants permission to delete PaymentMethod */ DeletePaymentMethod = 'DeletePaymentMethod', /** Grants permission to delete Product */ DeleteProduct = 'DeleteProduct', /** Grants permission to delete Promotion */ DeletePromotion = 'DeletePromotion', /** Grants permission to delete PaymentMethods, ShippingMethods, TaxCategories, TaxRates, Zones, Countries, System & GlobalSettings */ DeleteSettings = 'DeleteSettings', /** Grants permission to delete ShippingMethod */ DeleteShippingMethod = 'DeleteShippingMethod', /** Grants permission to delete System */ DeleteSystem = 'DeleteSystem', /** Grants permission to delete Tag */ DeleteTag = 'DeleteTag', /** Grants permission to delete TaxCategory */ DeleteTaxCategory = 'DeleteTaxCategory', /** Grants permission to delete TaxRate */ DeleteTaxRate = 'DeleteTaxRate', /** Grants permission to delete Zone */ DeleteZone = 'DeleteZone', /** Owner means the user owns this entity, e.g. a Customer's own Order */ Owner = 'Owner', /** Public means any unauthenticated user may perform the operation */ Public = 'Public', /** Grants permission to read Administrator */ ReadAdministrator = 'ReadAdministrator', /** Grants permission to read Asset */ ReadAsset = 'ReadAsset', /** Grants permission to read Products, Facets, Assets, Collections */ ReadCatalog = 'ReadCatalog', /** Grants permission to read Channel */ ReadChannel = 'ReadChannel', /** Grants permission to read Collection */ ReadCollection = 'ReadCollection', /** Grants permission to read Country */ ReadCountry = 'ReadCountry', /** Grants permission to read Customer */ ReadCustomer = 'ReadCustomer', /** Grants permission to read CustomerGroup */ ReadCustomerGroup = 'ReadCustomerGroup', /** Grants permission to read Facet */ ReadFacet = 'ReadFacet', /** Grants permission to read Order */ ReadOrder = 'ReadOrder', /** Grants permission to read PaymentMethod */ ReadPaymentMethod = 'ReadPaymentMethod', /** Grants permission to read Product */ ReadProduct = 'ReadProduct', /** Grants permission to read Promotion */ ReadPromotion = 'ReadPromotion', /** Grants permission to read PaymentMethods, ShippingMethods, TaxCategories, TaxRates, Zones, Countries, System & GlobalSettings */ ReadSettings = 'ReadSettings', /** Grants permission to read ShippingMethod */ ReadShippingMethod = 'ReadShippingMethod', /** Grants permission to read System */ ReadSystem = 'ReadSystem', /** Grants permission to read Tag */ ReadTag = 'ReadTag', /** Grants permission to read TaxCategory */ ReadTaxCategory = 'ReadTaxCategory', /** Grants permission to read TaxRate */ ReadTaxRate = 'ReadTaxRate', /** Grants permission to read Zone */ ReadZone = 'ReadZone', /** SuperAdmin has unrestricted access to all operations */ SuperAdmin = 'SuperAdmin', /** Grants permission to update Administrator */ UpdateAdministrator = 'UpdateAdministrator', /** Grants permission to update Asset */ UpdateAsset = 'UpdateAsset', /** Grants permission to update Products, Facets, Assets, Collections */ UpdateCatalog = 'UpdateCatalog', /** Grants permission to update Channel */ UpdateChannel = 'UpdateChannel', /** Grants permission to update Collection */ UpdateCollection = 'UpdateCollection', /** Grants permission to update Country */ UpdateCountry = 'UpdateCountry', /** Grants permission to update Customer */ UpdateCustomer = 'UpdateCustomer', /** Grants permission to update CustomerGroup */ UpdateCustomerGroup = 'UpdateCustomerGroup', /** Grants permission to update Facet */ UpdateFacet = 'UpdateFacet', /** Grants permission to update GlobalSettings */ UpdateGlobalSettings = 'UpdateGlobalSettings', /** Grants permission to update Order */ UpdateOrder = 'UpdateOrder', /** Grants permission to update PaymentMethod */ UpdatePaymentMethod = 'UpdatePaymentMethod', /** Grants permission to update Product */ UpdateProduct = 'UpdateProduct', /** Grants permission to update Promotion */ UpdatePromotion = 'UpdatePromotion', /** Grants permission to update PaymentMethods, ShippingMethods, TaxCategories, TaxRates, Zones, Countries, System & GlobalSettings */ UpdateSettings = 'UpdateSettings', /** Grants permission to update ShippingMethod */ UpdateShippingMethod = 'UpdateShippingMethod', /** Grants permission to update System */ UpdateSystem = 'UpdateSystem', /** Grants permission to update Tag */ UpdateTag = 'UpdateTag', /** Grants permission to update TaxCategory */ UpdateTaxCategory = 'UpdateTaxCategory', /** Grants permission to update TaxRate */ UpdateTaxRate = 'UpdateTaxRate', /** Grants permission to update Zone */ UpdateZone = 'UpdateZone', } /** The price range where the result has more than one price */ export type PriceRange = { __typename?: 'PriceRange' max: Scalars['Int'] min: Scalars['Int'] } export type Product = Node & { __typename?: 'Product' assets: Array collections: Array createdAt: Scalars['DateTime'] customFields?: Maybe description: Scalars['String'] facetValues: Array featuredAsset?: Maybe id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] optionGroups: Array slug: Scalars['String'] translations: Array updatedAt: Scalars['DateTime'] /** Returns a paginated, sortable, filterable list of ProductVariants */ variantList: ProductVariantList /** Returns all ProductVariants */ variants: Array } export type ProductVariantListArgs = { options?: InputMaybe } export type ProductFilterParameter = { createdAt?: InputMaybe description?: InputMaybe id?: InputMaybe languageCode?: InputMaybe name?: InputMaybe slug?: InputMaybe updatedAt?: InputMaybe } export type ProductList = PaginatedList & { __typename?: 'ProductList' items: Array totalItems: Scalars['Int'] } export type ProductListOptions = { /** Allows the results to be filtered */ filter?: InputMaybe /** Specifies whether multiple "filter" arguments should be combines with a logical AND or OR operation. Defaults to AND. */ filterOperator?: InputMaybe /** Skips the first n results, for use in pagination */ skip?: InputMaybe /** Specifies which properties to sort the results by */ sort?: InputMaybe /** Takes n results, for use in pagination */ take?: InputMaybe } export type ProductOption = Node & { __typename?: 'ProductOption' code: Scalars['String'] createdAt: Scalars['DateTime'] customFields?: Maybe group: ProductOptionGroup groupId: Scalars['ID'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] translations: Array updatedAt: Scalars['DateTime'] } export type ProductOptionGroup = Node & { __typename?: 'ProductOptionGroup' code: Scalars['String'] createdAt: Scalars['DateTime'] customFields?: Maybe id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] options: Array translations: Array updatedAt: Scalars['DateTime'] } export type ProductOptionGroupTranslation = { __typename?: 'ProductOptionGroupTranslation' createdAt: Scalars['DateTime'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type ProductOptionTranslation = { __typename?: 'ProductOptionTranslation' createdAt: Scalars['DateTime'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type ProductSortParameter = { createdAt?: InputMaybe description?: InputMaybe id?: InputMaybe name?: InputMaybe slug?: InputMaybe updatedAt?: InputMaybe } export type ProductTranslation = { __typename?: 'ProductTranslation' createdAt: Scalars['DateTime'] description: Scalars['String'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] slug: Scalars['String'] updatedAt: Scalars['DateTime'] } export type ProductVariant = Node & { __typename?: 'ProductVariant' assets: Array createdAt: Scalars['DateTime'] currencyCode: CurrencyCode customFields?: Maybe facetValues: Array featuredAsset?: Maybe id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] options: Array price: Scalars['Int'] priceWithTax: Scalars['Int'] product: Product productId: Scalars['ID'] sku: Scalars['String'] stockLevel: Scalars['String'] taxCategory: TaxCategory taxRateApplied: TaxRate translations: Array updatedAt: Scalars['DateTime'] } export type ProductVariantFilterParameter = { createdAt?: InputMaybe currencyCode?: InputMaybe id?: InputMaybe languageCode?: InputMaybe name?: InputMaybe price?: InputMaybe priceWithTax?: InputMaybe productId?: InputMaybe sku?: InputMaybe stockLevel?: InputMaybe updatedAt?: InputMaybe } export type ProductVariantList = PaginatedList & { __typename?: 'ProductVariantList' items: Array totalItems: Scalars['Int'] } export type ProductVariantListOptions = { /** Allows the results to be filtered */ filter?: InputMaybe /** Specifies whether multiple "filter" arguments should be combines with a logical AND or OR operation. Defaults to AND. */ filterOperator?: InputMaybe /** Skips the first n results, for use in pagination */ skip?: InputMaybe /** Specifies which properties to sort the results by */ sort?: InputMaybe /** Takes n results, for use in pagination */ take?: InputMaybe } export type ProductVariantSortParameter = { createdAt?: InputMaybe id?: InputMaybe name?: InputMaybe price?: InputMaybe priceWithTax?: InputMaybe productId?: InputMaybe sku?: InputMaybe stockLevel?: InputMaybe updatedAt?: InputMaybe } export type ProductVariantTranslation = { __typename?: 'ProductVariantTranslation' createdAt: Scalars['DateTime'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type Promotion = Node & { __typename?: 'Promotion' actions: Array conditions: Array couponCode?: Maybe createdAt: Scalars['DateTime'] customFields?: Maybe enabled: Scalars['Boolean'] endsAt?: Maybe id: Scalars['ID'] name: Scalars['String'] perCustomerUsageLimit?: Maybe startsAt?: Maybe updatedAt: Scalars['DateTime'] } export type PromotionList = PaginatedList & { __typename?: 'PromotionList' items: Array totalItems: Scalars['Int'] } export type Query = { __typename?: 'Query' /** The active Channel */ activeChannel: Channel /** The active Customer */ activeCustomer?: Maybe /** * The active Order. Will be `null` until an Order is created via `addItemToOrder`. Once an Order reaches the * state of `PaymentAuthorized` or `PaymentSettled`, then that Order is no longer considered "active" and this * query will once again return `null`. */ activeOrder?: Maybe /** An array of supported Countries */ availableCountries: Array /** Returns a Collection either by its id or slug. If neither 'id' nor 'slug' is specified, an error will result. */ collection?: Maybe /** A list of Collections available to the shop */ collections: CollectionList /** Returns a list of payment methods and their eligibility based on the current active Order */ eligiblePaymentMethods: Array /** Returns a list of eligible shipping methods based on the current active Order */ eligibleShippingMethods: Array /** Returns a Facet by its id */ facet?: Maybe /** A list of Facets available to the shop */ facets: FacetList /** Returns information about the current authenticated User */ me?: Maybe /** Returns the possible next states that the activeOrder can transition to */ nextOrderStates: Array /** * Returns an Order based on the id. Note that in the Shop API, only orders belonging to the * currently-authenticated User may be queried. */ order?: Maybe /** * Returns an Order based on the order `code`. For guest Orders (i.e. Orders placed by non-authenticated Customers) * this query will only return the Order within 2 hours of the Order being placed. This allows an Order confirmation * screen to be shown immediately after completion of a guest checkout, yet prevents security risks of allowing * general anonymous access to Order data. */ orderByCode?: Maybe /** Get a Product either by id or slug. If neither 'id' nor 'slug' is specified, an error will result. */ product?: Maybe /** Get a list of Products */ products: ProductList /** Search Products based on the criteria set by the `SearchInput` */ search: SearchResponse } export type QueryCollectionArgs = { id?: InputMaybe slug?: InputMaybe } export type QueryCollectionsArgs = { options?: InputMaybe } export type QueryFacetArgs = { id: Scalars['ID'] } export type QueryFacetsArgs = { options?: InputMaybe } export type QueryOrderArgs = { id: Scalars['ID'] } export type QueryOrderByCodeArgs = { code: Scalars['String'] } export type QueryProductArgs = { id?: InputMaybe slug?: InputMaybe } export type QueryProductsArgs = { options?: InputMaybe } export type QuerySearchArgs = { input: SearchInput } export type RefreshCustomerVerificationResult = | NativeAuthStrategyError | Success export type Refund = Node & { __typename?: 'Refund' adjustment: Scalars['Int'] createdAt: Scalars['DateTime'] id: Scalars['ID'] items: Scalars['Int'] metadata?: Maybe method?: Maybe orderItems: Array paymentId: Scalars['ID'] reason?: Maybe shipping: Scalars['Int'] state: Scalars['String'] total: Scalars['Int'] transactionId?: Maybe updatedAt: Scalars['DateTime'] } export type RegisterCustomerAccountResult = | MissingPasswordError | NativeAuthStrategyError | PasswordValidationError | Success export type RegisterCustomerInput = { emailAddress: Scalars['String'] firstName?: InputMaybe lastName?: InputMaybe password?: InputMaybe phoneNumber?: InputMaybe title?: InputMaybe } export type RelationCustomFieldConfig = CustomField & { __typename?: 'RelationCustomFieldConfig' description?: Maybe> entity: Scalars['String'] internal?: Maybe label?: Maybe> list: Scalars['Boolean'] name: Scalars['String'] nullable?: Maybe readonly?: Maybe scalarFields: Array type: Scalars['String'] ui?: Maybe } export type RemoveOrderItemsResult = Order | OrderModificationError export type RequestPasswordResetResult = NativeAuthStrategyError | Success export type RequestUpdateCustomerEmailAddressResult = | EmailAddressConflictError | InvalidCredentialsError | NativeAuthStrategyError | Success export type ResetPasswordResult = | CurrentUser | NativeAuthStrategyError | NotVerifiedError | PasswordResetTokenExpiredError | PasswordResetTokenInvalidError | PasswordValidationError export type Role = Node & { __typename?: 'Role' channels: Array code: Scalars['String'] createdAt: Scalars['DateTime'] description: Scalars['String'] id: Scalars['ID'] permissions: Array updatedAt: Scalars['DateTime'] } export type RoleList = PaginatedList & { __typename?: 'RoleList' items: Array totalItems: Scalars['Int'] } export type SearchInput = { collectionId?: InputMaybe collectionSlug?: InputMaybe facetValueFilters?: InputMaybe> facetValueIds?: InputMaybe> facetValueOperator?: InputMaybe groupByProduct?: InputMaybe inStock?: InputMaybe skip?: InputMaybe sort?: InputMaybe take?: InputMaybe term?: InputMaybe } export type SearchReindexResponse = { __typename?: 'SearchReindexResponse' success: Scalars['Boolean'] } export type SearchResponse = { __typename?: 'SearchResponse' collections: Array facetValues: Array items: Array totalItems: Scalars['Int'] } export type SearchResult = { __typename?: 'SearchResult' /** An array of ids of the Collections in which this result appears */ collectionIds: Array currencyCode: CurrencyCode description: Scalars['String'] facetIds: Array facetValueIds: Array inStock: Scalars['Boolean'] price: SearchResultPrice priceWithTax: SearchResultPrice productAsset?: Maybe productId: Scalars['ID'] productName: Scalars['String'] productVariantAsset?: Maybe productVariantId: Scalars['ID'] productVariantName: Scalars['String'] /** A relevance score for the result. Differs between database implementations */ score: Scalars['Float'] sku: Scalars['String'] slug: Scalars['String'] } export type SearchResultAsset = { __typename?: 'SearchResultAsset' focalPoint?: Maybe id: Scalars['ID'] preview: Scalars['String'] } /** The price of a search result product, either as a range or as a single price */ export type SearchResultPrice = PriceRange | SinglePrice export type SearchResultSortParameter = { name?: InputMaybe price?: InputMaybe } export type SetCustomerForOrderResult = | AlreadyLoggedInError | EmailAddressConflictError | NoActiveOrderError | Order export type SetOrderShippingMethodResult = | IneligibleShippingMethodError | NoActiveOrderError | Order | OrderModificationError export type ShippingLine = { __typename?: 'ShippingLine' discountedPrice: Scalars['Int'] discountedPriceWithTax: Scalars['Int'] discounts: Array price: Scalars['Int'] priceWithTax: Scalars['Int'] shippingMethod: ShippingMethod } export type ShippingMethod = Node & { __typename?: 'ShippingMethod' calculator: ConfigurableOperation checker: ConfigurableOperation code: Scalars['String'] createdAt: Scalars['DateTime'] customFields?: Maybe description: Scalars['String'] fulfillmentHandlerCode: Scalars['String'] id: Scalars['ID'] name: Scalars['String'] translations: Array updatedAt: Scalars['DateTime'] } export type ShippingMethodList = PaginatedList & { __typename?: 'ShippingMethodList' items: Array totalItems: Scalars['Int'] } export type ShippingMethodQuote = { __typename?: 'ShippingMethodQuote' code: Scalars['String'] customFields?: Maybe description: Scalars['String'] id: Scalars['ID'] /** Any optional metadata returned by the ShippingCalculator in the ShippingCalculationResult */ metadata?: Maybe name: Scalars['String'] price: Scalars['Int'] priceWithTax: Scalars['Int'] } export type ShippingMethodTranslation = { __typename?: 'ShippingMethodTranslation' createdAt: Scalars['DateTime'] description: Scalars['String'] id: Scalars['ID'] languageCode: LanguageCode name: Scalars['String'] updatedAt: Scalars['DateTime'] } /** The price value where the result has a single price */ export type SinglePrice = { __typename?: 'SinglePrice' value: Scalars['Int'] } export enum SortOrder { Asc = 'ASC', Desc = 'DESC', } export type StringCustomFieldConfig = CustomField & { __typename?: 'StringCustomFieldConfig' description?: Maybe> internal?: Maybe label?: Maybe> length?: Maybe list: Scalars['Boolean'] name: Scalars['String'] nullable?: Maybe options?: Maybe> pattern?: Maybe readonly?: Maybe type: Scalars['String'] ui?: Maybe } export type StringFieldOption = { __typename?: 'StringFieldOption' label?: Maybe> value: Scalars['String'] } /** Operators for filtering on a list of String fields */ export type StringListOperators = { inList: Scalars['String'] } /** Operators for filtering on a String field */ export type StringOperators = { contains?: InputMaybe eq?: InputMaybe in?: InputMaybe> notContains?: InputMaybe notEq?: InputMaybe notIn?: InputMaybe> regex?: InputMaybe } /** Indicates that an operation succeeded, where we do not want to return any more specific information. */ export type Success = { __typename?: 'Success' success: Scalars['Boolean'] } export type Surcharge = Node & { __typename?: 'Surcharge' createdAt: Scalars['DateTime'] description: Scalars['String'] id: Scalars['ID'] price: Scalars['Int'] priceWithTax: Scalars['Int'] sku?: Maybe taxLines: Array taxRate: Scalars['Float'] updatedAt: Scalars['DateTime'] } export type Tag = Node & { __typename?: 'Tag' createdAt: Scalars['DateTime'] id: Scalars['ID'] updatedAt: Scalars['DateTime'] value: Scalars['String'] } export type TagList = PaginatedList & { __typename?: 'TagList' items: Array totalItems: Scalars['Int'] } export type TaxCategory = Node & { __typename?: 'TaxCategory' createdAt: Scalars['DateTime'] customFields?: Maybe id: Scalars['ID'] isDefault: Scalars['Boolean'] name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type TaxLine = { __typename?: 'TaxLine' description: Scalars['String'] taxRate: Scalars['Float'] } export type TaxRate = Node & { __typename?: 'TaxRate' category: TaxCategory createdAt: Scalars['DateTime'] customFields?: Maybe customerGroup?: Maybe enabled: Scalars['Boolean'] id: Scalars['ID'] name: Scalars['String'] updatedAt: Scalars['DateTime'] value: Scalars['Float'] zone: Zone } export type TaxRateList = PaginatedList & { __typename?: 'TaxRateList' items: Array totalItems: Scalars['Int'] } export type TextCustomFieldConfig = CustomField & { __typename?: 'TextCustomFieldConfig' description?: Maybe> internal?: Maybe label?: Maybe> list: Scalars['Boolean'] name: Scalars['String'] nullable?: Maybe readonly?: Maybe type: Scalars['String'] ui?: Maybe } export type TransitionOrderToStateResult = Order | OrderStateTransitionError export type UpdateAddressInput = { city?: InputMaybe company?: InputMaybe countryCode?: InputMaybe customFields?: InputMaybe defaultBillingAddress?: InputMaybe defaultShippingAddress?: InputMaybe fullName?: InputMaybe id: Scalars['ID'] phoneNumber?: InputMaybe postalCode?: InputMaybe province?: InputMaybe streetLine1?: InputMaybe streetLine2?: InputMaybe } export type UpdateCustomerEmailAddressResult = | IdentifierChangeTokenExpiredError | IdentifierChangeTokenInvalidError | NativeAuthStrategyError | Success export type UpdateCustomerInput = { customFields?: InputMaybe firstName?: InputMaybe lastName?: InputMaybe phoneNumber?: InputMaybe title?: InputMaybe } export type UpdateCustomerPasswordResult = | InvalidCredentialsError | NativeAuthStrategyError | PasswordValidationError | Success export type UpdateOrderInput = { customFields?: InputMaybe } export type UpdateOrderItemsResult = | InsufficientStockError | NegativeQuantityError | Order | OrderLimitError | OrderModificationError export type User = Node & { __typename?: 'User' authenticationMethods: Array createdAt: Scalars['DateTime'] customFields?: Maybe id: Scalars['ID'] identifier: Scalars['String'] lastLogin?: Maybe roles: Array updatedAt: Scalars['DateTime'] verified: Scalars['Boolean'] } /** * Returned if the verification token (used to verify a Customer's email address) is valid, but has * expired according to the `verificationTokenDuration` setting in the AuthOptions. */ export type VerificationTokenExpiredError = ErrorResult & { __typename?: 'VerificationTokenExpiredError' errorCode: ErrorCode message: Scalars['String'] } /** * Returned if the verification token (used to verify a Customer's email address) is either * invalid or does not match any expected tokens. */ export type VerificationTokenInvalidError = ErrorResult & { __typename?: 'VerificationTokenInvalidError' errorCode: ErrorCode message: Scalars['String'] } export type VerifyCustomerAccountResult = | CurrentUser | MissingPasswordError | NativeAuthStrategyError | PasswordAlreadySetError | PasswordValidationError | VerificationTokenExpiredError | VerificationTokenInvalidError export type Zone = Node & { __typename?: 'Zone' createdAt: Scalars['DateTime'] customFields?: Maybe id: Scalars['ID'] members: Array name: Scalars['String'] updatedAt: Scalars['DateTime'] } export type CartFragment = { __typename?: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } export type OrderAddressFragmentFragment = { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } export type SearchResultFragment = { __typename?: 'SearchResult' productId: string productName: string description: string slug: string sku: string currencyCode: CurrencyCode productAsset?: | { __typename?: 'SearchResultAsset'; id: string; preview: string } | null | undefined priceWithTax: | { __typename?: 'PriceRange'; min: number; max: number } | { __typename?: 'SinglePrice'; value: number } } export type AddItemToOrderMutationVariables = Exact<{ variantId: Scalars['ID'] quantity: Scalars['Int'] }> export type AddItemToOrderMutation = { __typename?: 'Mutation' addItemToOrder: | { __typename: 'InsufficientStockError' errorCode: ErrorCode message: string } | { __typename: 'NegativeQuantityError' errorCode: ErrorCode message: string } | { __typename: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } | { __typename: 'OrderLimitError'; errorCode: ErrorCode; message: string } | { __typename: 'OrderModificationError' errorCode: ErrorCode message: string } } export type AddPaymentToOrderMutationVariables = Exact<{ input: PaymentInput }> export type AddPaymentToOrderMutation = { __typename?: 'Mutation' addPaymentToOrder: | { __typename?: 'IneligiblePaymentMethodError' errorCode: ErrorCode message: string } | { __typename?: 'NoActiveOrderError' errorCode: ErrorCode message: string } | { __typename?: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } | { __typename?: 'OrderPaymentStateError' errorCode: ErrorCode message: string } | { __typename?: 'OrderStateTransitionError' errorCode: ErrorCode message: string } | { __typename?: 'PaymentDeclinedError' errorCode: ErrorCode message: string } | { __typename?: 'PaymentFailedError' errorCode: ErrorCode message: string } } export type AdjustOrderLineMutationVariables = Exact<{ orderLineId: Scalars['ID'] quantity: Scalars['Int'] }> export type AdjustOrderLineMutation = { __typename?: 'Mutation' adjustOrderLine: | { __typename: 'InsufficientStockError' errorCode: ErrorCode message: string } | { __typename: 'NegativeQuantityError' errorCode: ErrorCode message: string } | { __typename: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } | { __typename: 'OrderLimitError'; errorCode: ErrorCode; message: string } | { __typename: 'OrderModificationError' errorCode: ErrorCode message: string } } export type LoginMutationVariables = Exact<{ username: Scalars['String'] password: Scalars['String'] }> export type LoginMutation = { __typename?: 'Mutation' login: | { __typename: 'CurrentUser'; id: string } | { __typename: 'InvalidCredentialsError' errorCode: ErrorCode message: string } | { __typename: 'NativeAuthStrategyError' errorCode: ErrorCode message: string } | { __typename: 'NotVerifiedError'; errorCode: ErrorCode; message: string } } export type LogoutMutationVariables = Exact<{ [key: string]: never }> export type LogoutMutation = { __typename?: 'Mutation' logout: { __typename?: 'Success'; success: boolean } } export type RemoveOrderLineMutationVariables = Exact<{ orderLineId: Scalars['ID'] }> export type RemoveOrderLineMutation = { __typename?: 'Mutation' removeOrderLine: | { __typename: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } | { __typename: 'OrderModificationError' errorCode: ErrorCode message: string } } export type SetOrderBillingAddressMutationVariables = Exact<{ input: CreateAddressInput }> export type SetOrderBillingAddressMutation = { __typename?: 'Mutation' setOrderBillingAddress: | { __typename?: 'NoActiveOrderError' errorCode: ErrorCode message: string } | { __typename?: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } } export type SetCustomerForOrderMutationVariables = Exact<{ input: CreateCustomerInput }> export type SetCustomerForOrderMutation = { __typename?: 'Mutation' setCustomerForOrder: | { __typename?: 'AlreadyLoggedInError' } | { __typename?: 'EmailAddressConflictError' } | { __typename?: 'NoActiveOrderError' } | { __typename?: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } } export type SetOrderShippingAddressMutationVariables = Exact<{ input: CreateAddressInput }> export type SetOrderShippingAddressMutation = { __typename?: 'Mutation' setOrderShippingAddress: | { __typename?: 'NoActiveOrderError' errorCode: ErrorCode message: string } | { __typename?: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } } export type SetOrderShippingMethodMutationVariables = Exact<{ shippingMethodId: Scalars['ID'] }> export type SetOrderShippingMethodMutation = { __typename?: 'Mutation' setOrderShippingMethod: | { __typename?: 'IneligibleShippingMethodError' errorCode: ErrorCode message: string } | { __typename?: 'NoActiveOrderError' errorCode: ErrorCode message: string } | { __typename?: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } | { __typename?: 'OrderModificationError' errorCode: ErrorCode message: string } } export type SignupMutationVariables = Exact<{ input: RegisterCustomerInput }> export type SignupMutation = { __typename?: 'Mutation' registerCustomerAccount: | { __typename: 'MissingPasswordError' errorCode: ErrorCode message: string } | { __typename: 'NativeAuthStrategyError' errorCode: ErrorCode message: string } | { __typename: 'PasswordValidationError' errorCode: ErrorCode message: string } | { __typename: 'Success'; success: boolean } } export type TransitionOrderToStateMutationVariables = Exact<{ state: Scalars['String'] }> export type TransitionOrderToStateMutation = { __typename?: 'Mutation' transitionOrderToState?: | { __typename?: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } | { __typename?: 'OrderStateTransitionError' errorCode: ErrorCode message: string } | null | undefined } export type ActiveCustomerQueryVariables = Exact<{ [key: string]: never }> export type ActiveCustomerQuery = { __typename?: 'Query' activeCustomer?: | { __typename?: 'Customer' id: string firstName: string lastName: string emailAddress: string } | null | undefined } export type EligiblePaymentMethodsQueryVariables = Exact<{ [key: string]: never }> export type EligiblePaymentMethodsQuery = { __typename?: 'Query' eligiblePaymentMethods: Array<{ __typename?: 'PaymentMethodQuote' id: string code: string }> } export type EligibleShippingMethodsQueryVariables = Exact<{ [key: string]: never }> export type EligibleShippingMethodsQuery = { __typename?: 'Query' eligibleShippingMethods: Array<{ __typename?: 'ShippingMethodQuote' id: string code: string }> } export type GetAllProductPathsQueryVariables = Exact<{ first?: InputMaybe }> export type GetAllProductPathsQuery = { __typename?: 'Query' products: { __typename?: 'ProductList' items: Array<{ __typename?: 'Product'; slug: string }> } } export type GetAllProductsQueryVariables = Exact<{ input: SearchInput }> export type GetAllProductsQuery = { __typename?: 'Query' search: { __typename?: 'SearchResponse' items: Array<{ __typename?: 'SearchResult' productId: string productName: string description: string slug: string sku: string currencyCode: CurrencyCode productAsset?: | { __typename?: 'SearchResultAsset'; id: string; preview: string } | null | undefined priceWithTax: | { __typename?: 'PriceRange'; min: number; max: number } | { __typename?: 'SinglePrice'; value: number } }> } } export type ActiveOrderQueryVariables = Exact<{ [key: string]: never }> export type ActiveOrderQuery = { __typename?: 'Query' activeOrder?: | { __typename?: 'Order' id: string code: string createdAt: any totalQuantity: number subTotal: number subTotalWithTax: number total: number totalWithTax: number currencyCode: CurrencyCode customer?: { __typename?: 'Customer'; id: string } | null | undefined shippingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined billingAddress?: | { __typename?: 'OrderAddress' fullName?: string | null | undefined company?: string | null | undefined streetLine1?: string | null | undefined streetLine2?: string | null | undefined city?: string | null | undefined province?: string | null | undefined postalCode?: string | null | undefined country?: string | null | undefined countryCode?: string | null | undefined phoneNumber?: string | null | undefined } | null | undefined lines: Array<{ __typename?: 'OrderLine' id: string quantity: number linePriceWithTax: number discountedLinePriceWithTax: number unitPriceWithTax: number discountedUnitPriceWithTax: number featuredAsset?: | { __typename?: 'Asset'; id: string; preview: string } | null | undefined discounts: Array<{ __typename?: 'Discount' description: string amount: number }> productVariant: { __typename?: 'ProductVariant' id: string name: string sku: string price: number priceWithTax: number stockLevel: string productId: string product: { __typename?: 'Product'; slug: string } } }> } | null | undefined } export type GetCollectionsQueryVariables = Exact<{ [key: string]: never }> export type GetCollectionsQuery = { __typename?: 'Query' collections: { __typename?: 'CollectionList' items: Array<{ __typename?: 'Collection' id: string name: string description: string slug: string productVariants: { __typename?: 'ProductVariantList'; totalItems: number } parent?: { __typename?: 'Collection'; id: string } | null | undefined children?: | Array<{ __typename?: 'Collection'; id: string }> | null | undefined }> } } export type GetProductQueryVariables = Exact<{ slug: Scalars['String'] }> export type GetProductQuery = { __typename?: 'Query' product?: | { __typename?: 'Product' id: string name: string slug: string description: string assets: Array<{ __typename?: 'Asset' id: string preview: string name: string }> variants: Array<{ __typename?: 'ProductVariant' id: string priceWithTax: number currencyCode: CurrencyCode options: Array<{ __typename?: 'ProductOption' id: string name: string code: string groupId: string group: { __typename?: 'ProductOptionGroup' id: string options: Array<{ __typename?: 'ProductOption'; name: string }> } }> }> optionGroups: Array<{ __typename?: 'ProductOptionGroup' id: string code: string name: string options: Array<{ __typename?: 'ProductOption' id: string name: string }> }> } | null | undefined } export type SearchQueryVariables = Exact<{ input: SearchInput }> export type SearchQuery = { __typename?: 'Query' search: { __typename?: 'SearchResponse' totalItems: number items: Array<{ __typename?: 'SearchResult' productId: string productName: string description: string slug: string sku: string currencyCode: CurrencyCode productAsset?: | { __typename?: 'SearchResultAsset'; id: string; preview: string } | null | undefined priceWithTax: | { __typename?: 'PriceRange'; min: number; max: number } | { __typename?: 'SinglePrice'; value: number } }> } }