@geins/types 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/codegen.ts +49 -0
  2. package/dist/api-client/index.d.ts +23 -0
  3. package/dist/cms/contentArea.d.ts +50 -0
  4. package/dist/cms/index.d.ts +2 -0
  5. package/dist/cms/menu.d.ts +10 -0
  6. package/dist/common/channel.d.ts +4 -0
  7. package/dist/common/event.d.ts +39 -0
  8. package/dist/common/index.d.ts +21 -0
  9. package/dist/crm/auth.d.ts +152 -0
  10. package/dist/crm/index.d.ts +1 -0
  11. package/dist/generated/graphql.d.ts +3832 -0
  12. package/dist/generated/index.d.ts +1 -0
  13. package/dist/index.cjs +1257 -0
  14. package/dist/index.d.ts +7 -0
  15. package/dist/index.esm.js +1257 -0
  16. package/dist/pim/brand.d.ts +19 -0
  17. package/dist/pim/filter.d.ts +31 -0
  18. package/dist/pim/index.d.ts +3 -0
  19. package/dist/pim/list.d.ts +31 -0
  20. package/dist/search/index.d.ts +1 -0
  21. package/dist/search/product.d.ts +11 -0
  22. package/package.json +28 -0
  23. package/rollup.config.js +18 -0
  24. package/src/api-client/index.ts +25 -0
  25. package/src/cms/contentArea.ts +59 -0
  26. package/src/cms/index.ts +2 -0
  27. package/src/cms/menu.ts +28 -0
  28. package/src/common/channel.ts +46 -0
  29. package/src/common/event.ts +43 -0
  30. package/src/common/index.ts +27 -0
  31. package/src/crm/auth.ts +177 -0
  32. package/src/crm/index.ts +2 -0
  33. package/src/crm/userOrders.ts +55 -0
  34. package/src/generated/graphql.ts +4103 -0
  35. package/src/generated/index.ts +1 -0
  36. package/src/index.ts +7 -0
  37. package/src/pim/brand.ts +21 -0
  38. package/src/pim/filter.ts +34 -0
  39. package/src/pim/index.ts +3 -0
  40. package/src/pim/list.ts +38 -0
  41. package/src/pim/product.ts +0 -0
  42. package/src/pim/shared.ts +14 -0
  43. package/src/search/index.ts +1 -0
  44. package/src/search/product.ts +12 -0
  45. package/tsconfig.json +18 -0
@@ -0,0 +1,3832 @@
1
+ export type Maybe<T> = T | null;
2
+ export type InputMaybe<T> = Maybe<T>;
3
+ export type Exact<T extends {
4
+ [key: string]: unknown;
5
+ }> = {
6
+ [K in keyof T]: T[K];
7
+ };
8
+ export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
9
+ [SubKey in K]?: Maybe<T[SubKey]>;
10
+ };
11
+ export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
12
+ [SubKey in K]: Maybe<T[SubKey]>;
13
+ };
14
+ export type MakeEmpty<T extends {
15
+ [key: string]: unknown;
16
+ }, K extends keyof T> = {
17
+ [_ in K]?: never;
18
+ };
19
+ export type Incremental<T> = T | {
20
+ [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
21
+ };
22
+ /** All built-in and custom scalars, mapped to their actual values */
23
+ export interface Scalars {
24
+ ID: {
25
+ input: string | number;
26
+ output: string | number;
27
+ };
28
+ String: {
29
+ input: string;
30
+ output: string;
31
+ };
32
+ Boolean: {
33
+ input: boolean;
34
+ output: boolean;
35
+ };
36
+ Int: {
37
+ input: number;
38
+ output: number;
39
+ };
40
+ Float: {
41
+ input: number;
42
+ output: number;
43
+ };
44
+ /** The `DateTime` scalar type represents a date and time. `DateTime` expects timestamps to be formatted in accordance with the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard. */
45
+ DateTime: {
46
+ input: string;
47
+ output: string;
48
+ };
49
+ Decimal: {
50
+ input: number;
51
+ output: number;
52
+ };
53
+ Guid: {
54
+ input: string;
55
+ output: string;
56
+ };
57
+ Long: {
58
+ input: number;
59
+ output: number;
60
+ };
61
+ }
62
+ export interface GeinsAddressInputTypeType {
63
+ addressLine1?: InputMaybe<Scalars['String']['input']>;
64
+ addressLine2?: InputMaybe<Scalars['String']['input']>;
65
+ addressLine3?: InputMaybe<Scalars['String']['input']>;
66
+ careOf?: InputMaybe<Scalars['String']['input']>;
67
+ city?: InputMaybe<Scalars['String']['input']>;
68
+ company?: InputMaybe<Scalars['String']['input']>;
69
+ country?: InputMaybe<Scalars['String']['input']>;
70
+ entryCode?: InputMaybe<Scalars['String']['input']>;
71
+ firstName?: InputMaybe<Scalars['String']['input']>;
72
+ lastName?: InputMaybe<Scalars['String']['input']>;
73
+ mobile?: InputMaybe<Scalars['String']['input']>;
74
+ phone?: InputMaybe<Scalars['String']['input']>;
75
+ state?: InputMaybe<Scalars['String']['input']>;
76
+ zip?: InputMaybe<Scalars['String']['input']>;
77
+ }
78
+ export interface GeinsAddressTypeType {
79
+ addressLine1: Scalars['String']['output'];
80
+ addressLine2: Scalars['String']['output'];
81
+ addressLine3: Scalars['String']['output'];
82
+ careOf: Scalars['String']['output'];
83
+ city: Scalars['String']['output'];
84
+ company: Scalars['String']['output'];
85
+ country: Scalars['String']['output'];
86
+ entryCode: Scalars['String']['output'];
87
+ firstName: Scalars['String']['output'];
88
+ lastName: Scalars['String']['output'];
89
+ mobile: Scalars['String']['output'];
90
+ phone: Scalars['String']['output'];
91
+ state: Scalars['String']['output'];
92
+ zip: Scalars['String']['output'];
93
+ }
94
+ /** Type containing information about alternative urls to an entity */
95
+ export interface GeinsAlternativeUrlTypeType {
96
+ /** The id of the channel that the alternative url exists on */
97
+ channelId: Scalars['String']['output'];
98
+ /** The country code of the alternative url */
99
+ country?: Maybe<Scalars['String']['output']>;
100
+ /** The culture of the alternative url */
101
+ culture: Scalars['String']['output'];
102
+ /** The language code of the alternative url */
103
+ language: Scalars['String']['output'];
104
+ /** Alternative url */
105
+ url: Scalars['String']['output'];
106
+ }
107
+ /** Type containing account balance information */
108
+ export interface GeinsBalanceTypeType {
109
+ /** The amount that will be used for this order */
110
+ pending: Scalars['Decimal']['output'];
111
+ /** Pending balance, formatted as a currency string */
112
+ pendingFormatted?: Maybe<Scalars['String']['output']>;
113
+ /** The remaining account balance */
114
+ remaining: Scalars['Decimal']['output'];
115
+ /** Remaining account balance, formatted as a currency string */
116
+ remainingFormatted?: Maybe<Scalars['String']['output']>;
117
+ /** The cart total selling price excl. VAT if balance hadn't been withdrawn. */
118
+ totalSellingPriceExBalanceExVat: Scalars['Decimal']['output'];
119
+ /** Cart total excl. VAT, excl. balance, formatted as a currency string */
120
+ totalSellingPriceExBalanceExVatFormatted?: Maybe<Scalars['String']['output']>;
121
+ /** The cart total selling price incl. VAT if balance hadn't been withdrawn . */
122
+ totalSellingPriceExBalanceIncVat: Scalars['Decimal']['output'];
123
+ /** Cart total incl. VAT, excl. balance, formatted as a currency string */
124
+ totalSellingPriceExBalanceIncVatFormatted?: Maybe<Scalars['String']['output']>;
125
+ }
126
+ /** Type containing brand listing information */
127
+ export interface GeinsBrandListTypeType {
128
+ /** Brand alias */
129
+ alias?: Maybe<Scalars['String']['output']>;
130
+ /**
131
+ * Alternative full paths to the brand
132
+ * @deprecated Use AlternativeUrls instead.
133
+ */
134
+ alternativeCanonicalUrls?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
135
+ /** Alternative urls to the brand */
136
+ alternativeUrls?: Maybe<Array<Maybe<GeinsAlternativeUrlTypeType>>>;
137
+ /** Background image */
138
+ backgroundImage?: Maybe<Scalars['String']['output']>;
139
+ /** Brand ID */
140
+ brandId: Scalars['Int']['output'];
141
+ /** The full path for this brand. e.g. '/l/brand-1' */
142
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
143
+ /** Brand description */
144
+ description?: Maybe<Scalars['String']['output']>;
145
+ /** Brand logo */
146
+ logo?: Maybe<Scalars['String']['output']>;
147
+ /** Brand name */
148
+ name?: Maybe<Scalars['String']['output']>;
149
+ /** Primary image */
150
+ primaryImage?: Maybe<Scalars['String']['output']>;
151
+ /** Secondary description */
152
+ secondaryDescription?: Maybe<Scalars['String']['output']>;
153
+ }
154
+ /** Type containing brand information */
155
+ export interface GeinsBrandTypeType {
156
+ /** Brand alias */
157
+ alias?: Maybe<Scalars['String']['output']>;
158
+ /**
159
+ * Alternative full paths to the brand
160
+ * @deprecated Use AlternativeUrls instead.
161
+ */
162
+ alternativeCanonicalUrls?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
163
+ /** Alternative urls to the brand */
164
+ alternativeUrls?: Maybe<Array<Maybe<GeinsAlternativeUrlTypeType>>>;
165
+ /** Brand ID */
166
+ brandId: Scalars['Int']['output'];
167
+ /** The full path for this brand. e.g. '/l/brand-1' */
168
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
169
+ /** Brand description */
170
+ description?: Maybe<Scalars['String']['output']>;
171
+ /** Brand name */
172
+ name?: Maybe<Scalars['String']['output']>;
173
+ }
174
+ /** Type containing breadcrumb information */
175
+ export interface GeinsBreadcrumbTypeType {
176
+ /** Category ID */
177
+ categoryId: Scalars['Int']['output'];
178
+ /** Breadcrumb display name */
179
+ name: Scalars['String']['output'];
180
+ /** Parent category ID */
181
+ parentCategoryId: Scalars['Int']['output'];
182
+ /** Breadcrumb path */
183
+ url?: Maybe<Scalars['String']['output']>;
184
+ }
185
+ /** Type containing campaign price information */
186
+ export interface GeinsCampaignPriceTypeType {
187
+ /** Campaign price discount */
188
+ discount: Scalars['Decimal']['output'];
189
+ /** Campaign price discount percentage */
190
+ discountPercentage: Scalars['Decimal']['output'];
191
+ /** Campaign price */
192
+ price?: Maybe<GeinsPriceTypeType>;
193
+ /** Campaign price quantity */
194
+ quantity: Scalars['Int']['output'];
195
+ }
196
+ /** Type containing campaign rule information */
197
+ export interface GeinsCampaignRuleTypeType {
198
+ /** Campaign action */
199
+ action?: Maybe<Scalars['String']['output']>;
200
+ /** Campaign action value */
201
+ actionValue?: Maybe<Scalars['String']['output']>;
202
+ /** Campaign ID */
203
+ campaignId: Scalars['String']['output'];
204
+ /** The url to this campaign, if any */
205
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
206
+ /** Campaign category */
207
+ category?: Maybe<Scalars['String']['output']>;
208
+ /** Whether to hide the campaign title */
209
+ hideTitle?: Maybe<Scalars['Boolean']['output']>;
210
+ /** Campaign name */
211
+ name?: Maybe<Scalars['String']['output']>;
212
+ /** Campaign rule type */
213
+ ruleType?: Maybe<Scalars['String']['output']>;
214
+ }
215
+ /** Type containing campaign information */
216
+ export interface GeinsCampaignTypeType {
217
+ /** Applied campaigns */
218
+ appliedCampaigns?: Maybe<Array<Maybe<GeinsCampaignRuleTypeType>>>;
219
+ /** Campaign prices */
220
+ prices?: Maybe<Array<Maybe<GeinsCampaignPriceTypeType>>>;
221
+ }
222
+ /** Type containing information about cart fees */
223
+ export interface GeinsCartFeesTypeType {
224
+ /** Payment fee excl. VAT */
225
+ paymentFeeExVat: Scalars['Decimal']['output'];
226
+ /** Payment fee incl. VAT */
227
+ paymentFeeIncVat: Scalars['Decimal']['output'];
228
+ /** Shipping fee excl. VAT */
229
+ shippingFeeExVat: Scalars['Decimal']['output'];
230
+ /** Shipping fee incl. VAT */
231
+ shippingFeeIncVat: Scalars['Decimal']['output'];
232
+ }
233
+ export interface GeinsCartGroupInputTypeType {
234
+ groupKey?: InputMaybe<Scalars['ID']['input']>;
235
+ quantity: Scalars['Int']['input'];
236
+ }
237
+ export interface GeinsCartItemInputTypeType {
238
+ groupKey?: InputMaybe<Scalars['ID']['input']>;
239
+ id?: InputMaybe<Scalars['ID']['input']>;
240
+ message?: InputMaybe<Scalars['String']['input']>;
241
+ quantity: Scalars['Int']['input'];
242
+ skuId?: InputMaybe<Scalars['Int']['input']>;
243
+ }
244
+ /** Type containing cart item information */
245
+ export interface GeinsCartItemTypeType {
246
+ /** Campaign */
247
+ campaign?: Maybe<GeinsCampaignTypeType>;
248
+ /** The key of the group that this cart item belong to */
249
+ groupKey?: Maybe<Scalars['ID']['output']>;
250
+ /** Cart item Id */
251
+ id: Scalars['ID']['output'];
252
+ /** Custom message */
253
+ message?: Maybe<Scalars['String']['output']>;
254
+ /** Product */
255
+ product?: Maybe<GeinsProductTypeType>;
256
+ /** Contains package meta data if the cart item was part of package */
257
+ productPackage?: Maybe<GeinsProductPackageCartItemTypeType>;
258
+ /** Quantity */
259
+ quantity: Scalars['Int']['output'];
260
+ /** SKU Id */
261
+ skuId: Scalars['Int']['output'];
262
+ /** Total price */
263
+ totalPrice?: Maybe<GeinsPriceTypeType>;
264
+ /** Price per unit */
265
+ unitPrice?: Maybe<GeinsPriceTypeType>;
266
+ }
267
+ /** Type containing cart summary information */
268
+ export interface GeinsCartSummaryTypeType {
269
+ /** Account balance information */
270
+ balance?: Maybe<GeinsBalanceTypeType>;
271
+ /** Cart fee information */
272
+ fees?: Maybe<GeinsCartFeesTypeType>;
273
+ /** Cart fixed discount amount excl. VAT */
274
+ fixedAmountDiscountExVat: Scalars['Decimal']['output'];
275
+ /** Cart fixed discount amount incl. VAT */
276
+ fixedAmountDiscountIncVat: Scalars['Decimal']['output'];
277
+ /** Cart payment option information */
278
+ payment?: Maybe<GeinsPaymentOptionTypeType>;
279
+ /** Cart shipping option information */
280
+ shipping?: Maybe<GeinsShippingOptionTypeType>;
281
+ /** Cart sub-total */
282
+ subTotal?: Maybe<GeinsPriceTypeType>;
283
+ /** Cart total */
284
+ total?: Maybe<GeinsPriceTypeType>;
285
+ /** Cart VAT information */
286
+ vats?: Maybe<Array<Maybe<GeinsVatGroupTypeType>>>;
287
+ }
288
+ /** Type containing cart information */
289
+ export interface GeinsCartTypeType {
290
+ /** Campaigns applied to this cart */
291
+ appliedCampaigns?: Maybe<Array<Maybe<GeinsCampaignRuleTypeType>>>;
292
+ /** Cart fixed discount */
293
+ fixedDiscount: Scalars['Decimal']['output'];
294
+ /** Whether the cart has free shipping */
295
+ freeShipping: Scalars['Boolean']['output'];
296
+ /** The cart ID */
297
+ id?: Maybe<Scalars['String']['output']>;
298
+ /** If true, the cart can not be modified further */
299
+ isCompleted: Scalars['Boolean']['output'];
300
+ /** The cart items */
301
+ items?: Maybe<Array<Maybe<GeinsCartItemTypeType>>>;
302
+ /** Cart promo code */
303
+ promoCode?: Maybe<Scalars['String']['output']>;
304
+ /** The cart summary */
305
+ summary?: Maybe<GeinsCartSummaryTypeType>;
306
+ }
307
+ /** Type containing category information */
308
+ export interface GeinsCategoryTypeType {
309
+ /** Category alias */
310
+ alias?: Maybe<Scalars['String']['output']>;
311
+ /**
312
+ * Alternative full paths to the category
313
+ * @deprecated Use AlternativeUrls instead.
314
+ */
315
+ alternativeCanonicalUrls?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
316
+ /** Alternative urls to the category */
317
+ alternativeUrls?: Maybe<Array<Maybe<GeinsAlternativeUrlTypeType>>>;
318
+ /** Background image */
319
+ backgroundImage?: Maybe<Scalars['String']['output']>;
320
+ /** The full path to the category. e.g. '/l/category-1' */
321
+ canonicalUrl: Scalars['String']['output'];
322
+ /** Category ID */
323
+ categoryId: Scalars['Int']['output'];
324
+ /** Category description */
325
+ description?: Maybe<Scalars['String']['output']>;
326
+ /** Google taxonomy data for this category */
327
+ googleTaxonomy?: Maybe<GeinsGoogleTaxonomyTypeType>;
328
+ /** Category is hidden */
329
+ isHidden?: Maybe<Scalars['Boolean']['output']>;
330
+ /** Category name */
331
+ name: Scalars['String']['output'];
332
+ /** Category display order */
333
+ order: Scalars['Int']['output'];
334
+ /** Parent category ID */
335
+ parentCategoryId: Scalars['Int']['output'];
336
+ /** Primary image */
337
+ primaryImage?: Maybe<Scalars['String']['output']>;
338
+ /** Category secondary description */
339
+ secondaryDescription?: Maybe<Scalars['String']['output']>;
340
+ }
341
+ /** Type containing all information about the channel-type */
342
+ export interface GeinsChannelTypeType {
343
+ /** Default language ID used if no other is specified, or an invalid is supplied. */
344
+ defaultLanguageId: Scalars['String']['output'];
345
+ /** Default market ID used if no other is specified, or an invalid is supplied. */
346
+ defaultMarketId: Scalars['String']['output'];
347
+ /** ID */
348
+ id: Scalars['String']['output'];
349
+ languages?: Maybe<Array<Maybe<GeinsLanguageTypeType>>>;
350
+ markets?: Maybe<Array<Maybe<GeinsMarketTypeType>>>;
351
+ /** Name */
352
+ name: Scalars['String']['output'];
353
+ /** Type */
354
+ type: Scalars['String']['output'];
355
+ /** Base URL */
356
+ url: Scalars['String']['output'];
357
+ }
358
+ export interface GeinsCheckoutAndOrderTypeType {
359
+ /** HTML-snippet */
360
+ htmlSnippet: Scalars['String']['output'];
361
+ /** Order details */
362
+ order?: Maybe<GeinsCheckoutOrderTypeType>;
363
+ }
364
+ export interface GeinsCheckoutDataTypeType {
365
+ /** The order details represented as a cart object. */
366
+ cart?: Maybe<GeinsCartTypeType>;
367
+ /** Indicates if the purchase has been completed. This may not be available for all payment types */
368
+ completed?: Maybe<Scalars['Boolean']['output']>;
369
+ /** HTML-snippet */
370
+ htmlSnippet?: Maybe<Scalars['String']['output']>;
371
+ /** True if this is a new checkout session */
372
+ newCheckoutSession: Scalars['Boolean']['output'];
373
+ /** The total number of purchases that the customer has done including this one */
374
+ nthPurchase: Scalars['Int']['output'];
375
+ /** Order details */
376
+ order?: Maybe<GeinsCheckoutOrderTypeType>;
377
+ }
378
+ export interface GeinsCheckoutInputTypeType {
379
+ acceptedConsents?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
380
+ billingAddress?: InputMaybe<GeinsAddressInputTypeType>;
381
+ customerType?: InputMaybe<GeinsCustomerType>;
382
+ desiredDeliveryDate?: InputMaybe<Scalars['DateTime']['input']>;
383
+ email?: InputMaybe<Scalars['String']['input']>;
384
+ externalShippingFee?: InputMaybe<Scalars['Decimal']['input']>;
385
+ externalShippingId?: InputMaybe<Scalars['String']['input']>;
386
+ identityNumber?: InputMaybe<Scalars['String']['input']>;
387
+ merchantData?: InputMaybe<Scalars['String']['input']>;
388
+ message?: InputMaybe<Scalars['String']['input']>;
389
+ paymentId?: InputMaybe<Scalars['Int']['input']>;
390
+ pickupPoint?: InputMaybe<Scalars['String']['input']>;
391
+ shippingAddress?: InputMaybe<GeinsAddressInputTypeType>;
392
+ shippingId?: InputMaybe<Scalars['Int']['input']>;
393
+ }
394
+ export interface GeinsCheckoutOrderRowTypeType {
395
+ /** Article number */
396
+ articleNumber?: Maybe<Scalars['String']['output']>;
397
+ /** Brand name */
398
+ brand?: Maybe<Scalars['String']['output']>;
399
+ /** Campaign IDs */
400
+ campaignIds?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
401
+ /** Campaign names */
402
+ campaignNames?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
403
+ /** Categories */
404
+ categories?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
405
+ /** Discount excl. VAT */
406
+ discountExVat: Scalars['Decimal']['output'];
407
+ /** Discount incl. VAT */
408
+ discountIncVat: Scalars['Decimal']['output'];
409
+ /** Discount rate */
410
+ discountRate: Scalars['Float']['output'];
411
+ /** ExternalId */
412
+ externalId?: Maybe<Scalars['String']['output']>;
413
+ /** GTIN */
414
+ gtin?: Maybe<Scalars['String']['output']>;
415
+ /** Height */
416
+ height: Scalars['Int']['output'];
417
+ /** Product image URL */
418
+ imageUrl?: Maybe<Scalars['String']['output']>;
419
+ /** Length */
420
+ length: Scalars['Int']['output'];
421
+ /** Message */
422
+ message?: Maybe<Scalars['String']['output']>;
423
+ /** Name */
424
+ name?: Maybe<Scalars['String']['output']>;
425
+ /** Price excl. VAT */
426
+ priceExVat: Scalars['Decimal']['output'];
427
+ /** Price incl. VAT */
428
+ priceIncVat: Scalars['Decimal']['output'];
429
+ /** ProductId */
430
+ productId: Scalars['Int']['output'];
431
+ /** ProductPriceCampaignId */
432
+ productPriceCampaignId?: Maybe<Scalars['Int']['output']>;
433
+ /** Product price list ID */
434
+ productPriceListId?: Maybe<Scalars['Int']['output']>;
435
+ /** ProductUrl */
436
+ productUrl?: Maybe<Scalars['String']['output']>;
437
+ /** Quantity */
438
+ quantity: Scalars['Int']['output'];
439
+ /** SKU */
440
+ sku?: Maybe<Scalars['String']['output']>;
441
+ /** Variant */
442
+ variant?: Maybe<Scalars['String']['output']>;
443
+ /** Weight */
444
+ weight: Scalars['Int']['output'];
445
+ /** Width */
446
+ width: Scalars['Int']['output'];
447
+ }
448
+ export interface GeinsCheckoutOrderTypeType {
449
+ /** Campaign IDs */
450
+ campaignIds?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
451
+ /** Campaign names */
452
+ campaignNames?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
453
+ /** Currency */
454
+ currency?: Maybe<Scalars['String']['output']>;
455
+ /** Discount excl. VAT */
456
+ discountExVat: Scalars['Decimal']['output'];
457
+ /** Discount incl. VAT */
458
+ discountIncVat: Scalars['Decimal']['output'];
459
+ /** E-mail */
460
+ email?: Maybe<Scalars['String']['output']>;
461
+ /** First name */
462
+ firstName?: Maybe<Scalars['String']['output']>;
463
+ /** Item-value excl. VAT */
464
+ itemValueExVat: Scalars['Decimal']['output'];
465
+ /** Item-value incl. VAT */
466
+ itemValueIncVat: Scalars['Decimal']['output'];
467
+ /** Last name */
468
+ lastName?: Maybe<Scalars['String']['output']>;
469
+ /** Market ID. */
470
+ marketId: Scalars['String']['output'];
471
+ /** Order message */
472
+ message?: Maybe<Scalars['String']['output']>;
473
+ /** Order ID */
474
+ orderId?: Maybe<Scalars['String']['output']>;
475
+ /** Order excl. VAT */
476
+ orderValueExVat: Scalars['Decimal']['output'];
477
+ /** Order incl. VAT */
478
+ orderValueIncVat: Scalars['Decimal']['output'];
479
+ /** Payment excl. VAT */
480
+ paymentFeeExVat: Scalars['Decimal']['output'];
481
+ /** Payment incl. VAT */
482
+ paymentFeeIncVat: Scalars['Decimal']['output'];
483
+ /** Order rows */
484
+ rows?: Maybe<Array<Maybe<GeinsCheckoutOrderRowTypeType>>>;
485
+ /** Secondary transaction ID */
486
+ secondaryTransactionId?: Maybe<Scalars['String']['output']>;
487
+ /** Shipping excl. VAT */
488
+ shippingFeeExVat: Scalars['Decimal']['output'];
489
+ /** Shipping incl. VAT */
490
+ shippingFeeIncVat: Scalars['Decimal']['output'];
491
+ /** Order sum */
492
+ sum: Scalars['Decimal']['output'];
493
+ /** Transaction ID */
494
+ transactionId?: Maybe<Scalars['String']['output']>;
495
+ /** Zip code */
496
+ zip?: Maybe<Scalars['String']['output']>;
497
+ }
498
+ export declare enum GeinsCheckoutStatus {
499
+ CustomerBlacklistedType = "CUSTOMER_BLACKLISTED",
500
+ OkType = "OK"
501
+ }
502
+ export interface GeinsCheckoutTypeType {
503
+ billingAddress?: Maybe<GeinsAddressTypeType>;
504
+ cart?: Maybe<GeinsCartTypeType>;
505
+ checkoutStatus?: Maybe<GeinsCheckoutStatus>;
506
+ consents?: Maybe<Array<Maybe<GeinsConsentTypeType>>>;
507
+ email?: Maybe<Scalars['String']['output']>;
508
+ identityNumber?: Maybe<Scalars['String']['output']>;
509
+ paymentOptions?: Maybe<Array<Maybe<GeinsPaymentOptionTypeType>>>;
510
+ shippingAddress?: Maybe<GeinsAddressTypeType>;
511
+ shippingData?: Maybe<Scalars['String']['output']>;
512
+ shippingOptions?: Maybe<Array<Maybe<GeinsShippingOptionTypeType>>>;
513
+ }
514
+ export interface GeinsConsentTypeType {
515
+ autoAccept: Scalars['Boolean']['output'];
516
+ checked: Scalars['Boolean']['output'];
517
+ description: Scalars['String']['output'];
518
+ name: Scalars['String']['output'];
519
+ type: Scalars['String']['output'];
520
+ }
521
+ /** Type containing all information about the country-type */
522
+ export interface GeinsCountryTypeType {
523
+ /** Two-letter ISO code */
524
+ code: Scalars['String']['output'];
525
+ /** Name */
526
+ name: Scalars['String']['output'];
527
+ }
528
+ /** Type containing all information about the currency-type */
529
+ export interface GeinsCurrencyTypeType {
530
+ /** Currency code */
531
+ code: Scalars['String']['output'];
532
+ /** Name */
533
+ name: Scalars['String']['output'];
534
+ /** Currency rate used to convert from this currency to default currency */
535
+ rate: Scalars['Decimal']['output'];
536
+ /** Currency symbol */
537
+ symbol: Scalars['String']['output'];
538
+ }
539
+ /** Customer type */
540
+ export declare enum GeinsCustomerType {
541
+ /** Organization */
542
+ OrganizationType = "ORGANIZATION",
543
+ /** Private person */
544
+ PersonType = "PERSON"
545
+ }
546
+ /** SKU dimensions */
547
+ export interface GeinsDimensionsTypeType {
548
+ /** Height */
549
+ height: Scalars['Int']['output'];
550
+ /** Length */
551
+ length: Scalars['Int']['output'];
552
+ /** Width */
553
+ width: Scalars['Int']['output'];
554
+ }
555
+ export declare enum GeinsDiscountType {
556
+ NoneType = "NONE",
557
+ PriceCampaignType = "PRICE_CAMPAIGN",
558
+ SalePriceType = "SALE_PRICE"
559
+ }
560
+ /** Type containing collection of filters */
561
+ export interface GeinsFilterCollectionTypeType {
562
+ /** The collection of facet values returned from the query */
563
+ facets?: Maybe<Array<Maybe<GeinsFilterTypeType>>>;
564
+ /** The lowest / highest price found in the results */
565
+ price?: Maybe<GeinsPriceFilterTypeType>;
566
+ }
567
+ /** Filter options */
568
+ export interface GeinsFilterInputTypeType {
569
+ /** A list of string values, that when specified will exclude products that are associated with one of the facets */
570
+ exclude?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
571
+ /** A list of string values, that when specified will exclude products that are associated with one of the facets */
572
+ excludeFacets?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
573
+ /** A list of string values, that when specified will only include products associated with those values */
574
+ facets?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
575
+ /** Filter mode */
576
+ filterMode?: InputMaybe<GeinsFilterMode>;
577
+ /** A list of string values, that when specified will only include products associated with those values */
578
+ include?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
579
+ /** Include collapsed products */
580
+ includeCollapsed?: InputMaybe<Scalars['Boolean']['input']>;
581
+ /** Price filter */
582
+ price?: InputMaybe<GeinsPriceFilterInputTypeType>;
583
+ /** A list of product ids to filter on */
584
+ productIds?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;
585
+ /** Search text to filter by */
586
+ searchText?: InputMaybe<Scalars['String']['input']>;
587
+ /** Use this to sort the results in a particular way */
588
+ sort?: InputMaybe<GeinsSortType>;
589
+ }
590
+ /** Filter mode */
591
+ export declare enum GeinsFilterMode {
592
+ /** Get the counts for the results, including the ones excluded by the groups */
593
+ ByGroupType = "BY_GROUP",
594
+ /** Get the counts for the current filter results */
595
+ CurrentType = "CURRENT"
596
+ }
597
+ /** Filter group */
598
+ export interface GeinsFilterTypeType {
599
+ /** ID for this filter type */
600
+ filterId: Scalars['String']['output'];
601
+ /** Parameter group name */
602
+ group?: Maybe<Scalars['String']['output']>;
603
+ /** Parameter group display name */
604
+ label?: Maybe<Scalars['String']['output']>;
605
+ /** Filter type. e.g. 'Parameter', 'Category', 'Sku' */
606
+ type?: Maybe<Scalars['String']['output']>;
607
+ /** Collection of facet values in this group */
608
+ values?: Maybe<Array<Maybe<GeinsFilterValueTypeType>>>;
609
+ }
610
+ /** Filter value */
611
+ export interface GeinsFilterValueTypeType {
612
+ /** FacetId_Count */
613
+ _id: Scalars['String']['output'];
614
+ /** The amount of products in the results associated with this facet */
615
+ count: Scalars['Long']['output'];
616
+ /** Facet ID. Use this in the Facets-list in the products-query to retrieve products associated with it */
617
+ facetId?: Maybe<Scalars['String']['output']>;
618
+ /** If the filter for this facet is hidden */
619
+ hidden: Scalars['Boolean']['output'];
620
+ /** Facet display name */
621
+ label?: Maybe<Scalars['String']['output']>;
622
+ /** The display order of this facet */
623
+ order: Scalars['Int']['output'];
624
+ /** Parent ID. Only available for category-facets.0 */
625
+ parentId?: Maybe<Scalars['String']['output']>;
626
+ /** The path associated with this facet. e.g. '/c/category-1' */
627
+ url?: Maybe<Scalars['String']['output']>;
628
+ }
629
+ export declare enum GeinsGender {
630
+ ManType = "MAN",
631
+ UnspecifiedType = "UNSPECIFIED",
632
+ WomanType = "WOMAN"
633
+ }
634
+ /** Type containing Google taxonomy data */
635
+ export interface GeinsGoogleTaxonomyTypeType {
636
+ /** Google taxonomy ID */
637
+ id?: Maybe<Scalars['Int']['output']>;
638
+ /** Google taxonomy name */
639
+ name?: Maybe<Scalars['String']['output']>;
640
+ /** Parent Google taxonomy ID */
641
+ parentId?: Maybe<Scalars['Int']['output']>;
642
+ /** Google taxonomy path */
643
+ path?: Maybe<Scalars['String']['output']>;
644
+ }
645
+ /** Type containing information for a group in a product package */
646
+ export interface GeinsGroupTypeType {
647
+ /** The package group description */
648
+ description?: Maybe<Scalars['String']['output']>;
649
+ /** The package group id */
650
+ groupId: Scalars['Int']['output'];
651
+ /** The package group image */
652
+ image?: Maybe<Scalars['String']['output']>;
653
+ /** The package group name */
654
+ name?: Maybe<Scalars['String']['output']>;
655
+ /** Options in this package group */
656
+ options?: Maybe<Array<Maybe<GeinsOptionTypeType>>>;
657
+ /** 'true' if this package group is required in order to place the package in cart */
658
+ required: Scalars['Boolean']['output'];
659
+ /** The sort order of this package group relative to other groups */
660
+ sortOrder: Scalars['Int']['output'];
661
+ }
662
+ /** Type containing all information about the language-type */
663
+ export interface GeinsLanguageTypeType {
664
+ /** Two-letter ISO code */
665
+ code: Scalars['String']['output'];
666
+ /** Language ID */
667
+ id: Scalars['String']['output'];
668
+ /** Language name */
669
+ name: Scalars['String']['output'];
670
+ }
671
+ /** Type containing information about the lowest price during last 30 days and the legal comparison price (EU). Observe that discount is calculated against comparison price and not the regular price. */
672
+ export interface GeinsLowestPriceTypeType {
673
+ /** The comparison price excluding VAT */
674
+ comparisonPriceExVat: Scalars['Decimal']['output'];
675
+ /** Comparison price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
676
+ comparisonPriceExVatFormatted?: Maybe<Scalars['String']['output']>;
677
+ /** The comparison price including VAT */
678
+ comparisonPriceIncVat: Scalars['Decimal']['output'];
679
+ /** Comparison price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
680
+ comparisonPriceIncVatFormatted?: Maybe<Scalars['String']['output']>;
681
+ /** Discount amount excluding VAT. */
682
+ discountExVat: Scalars['Decimal']['output'];
683
+ /** Discount (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
684
+ discountExVatFormatted?: Maybe<Scalars['String']['output']>;
685
+ /** Discount amount including VAT. */
686
+ discountIncVat: Scalars['Decimal']['output'];
687
+ /** Discount (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
688
+ discountIncVatFormatted?: Maybe<Scalars['String']['output']>;
689
+ /** Discount percentage. */
690
+ discountPercentage: Scalars['Int']['output'];
691
+ /** Whether the price is discounted or not */
692
+ isDiscounted: Scalars['Boolean']['output'];
693
+ /** The lowest price excluding VAT */
694
+ lowestPriceExVat: Scalars['Decimal']['output'];
695
+ /** Lowest price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
696
+ lowestPriceExVatFormatted?: Maybe<Scalars['String']['output']>;
697
+ /** The lowest price including VAT */
698
+ lowestPriceIncVat: Scalars['Decimal']['output'];
699
+ /** Lowest price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
700
+ lowestPriceIncVatFormatted?: Maybe<Scalars['String']['output']>;
701
+ /** The selling price excluding VAT */
702
+ sellingPriceExVat: Scalars['Decimal']['output'];
703
+ /** Selling price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
704
+ sellingPriceExVatFormatted?: Maybe<Scalars['String']['output']>;
705
+ /** The selling price including VAT */
706
+ sellingPriceIncVat: Scalars['Decimal']['output'];
707
+ /** Selling price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
708
+ sellingPriceIncVatFormatted?: Maybe<Scalars['String']['output']>;
709
+ /** VAT amount */
710
+ vat: Scalars['Decimal']['output'];
711
+ /** VAT amount, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
712
+ vatFormatted?: Maybe<Scalars['String']['output']>;
713
+ }
714
+ /** Type containing all information about the market-type */
715
+ export interface GeinsMarketTypeType {
716
+ /** The part of the market id that is used in the url. */
717
+ alias?: Maybe<Scalars['String']['output']>;
718
+ allowedLanguages?: Maybe<Array<Maybe<GeinsLanguageTypeType>>>;
719
+ /** Country */
720
+ country?: Maybe<GeinsCountryTypeType>;
721
+ /** Currency */
722
+ currency?: Maybe<GeinsCurrencyTypeType>;
723
+ /** Default language ID used if no other is specified, or an invalid is supplied. */
724
+ defaultLanguageId: Scalars['String']['output'];
725
+ /** Group key used to group related markets together, i.e. if they belong to the same region or continent. */
726
+ groupKey: Scalars['String']['output'];
727
+ /** ID */
728
+ id: Scalars['String']['output'];
729
+ /** Indicates if the market should only be displayed in the checkout process. */
730
+ onlyDisplayInCheckout?: Maybe<Scalars['Boolean']['output']>;
731
+ /** If true, indicates that the market is virtual. Virtual markets cannot be used in the checkout process */
732
+ virtual?: Maybe<Scalars['Boolean']['output']>;
733
+ }
734
+ export interface GeinsMenuItemTypeType {
735
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
736
+ children?: Maybe<Array<Maybe<GeinsMenuItemTypeType>>>;
737
+ hidden: Scalars['Boolean']['output'];
738
+ id: Scalars['String']['output'];
739
+ label?: Maybe<Scalars['String']['output']>;
740
+ open: Scalars['Boolean']['output'];
741
+ order: Scalars['Int']['output'];
742
+ targetBlank: Scalars['Boolean']['output'];
743
+ title?: Maybe<Scalars['String']['output']>;
744
+ type: Scalars['String']['output'];
745
+ value?: Maybe<Scalars['String']['output']>;
746
+ }
747
+ export interface GeinsMenuTypeType {
748
+ channels?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
749
+ id: Scalars['String']['output'];
750
+ languages?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
751
+ locations?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
752
+ menuItems?: Maybe<Array<Maybe<GeinsMenuItemTypeType>>>;
753
+ name?: Maybe<Scalars['String']['output']>;
754
+ title?: Maybe<Scalars['String']['output']>;
755
+ }
756
+ /** Type containing metadata */
757
+ export interface GeinsMetadataTypeType {
758
+ /** Description */
759
+ description?: Maybe<Scalars['String']['output']>;
760
+ /** Keywords */
761
+ keywords?: Maybe<Scalars['String']['output']>;
762
+ /** Title */
763
+ title?: Maybe<Scalars['String']['output']>;
764
+ }
765
+ export interface GeinsMutationType {
766
+ addPackageToCart?: Maybe<GeinsCartTypeType>;
767
+ addToCart?: Maybe<GeinsCartTypeType>;
768
+ commitReset?: Maybe<Scalars['Boolean']['output']>;
769
+ /** Marks the cart as completed, and makes it read-only */
770
+ completeCart?: Maybe<GeinsCartTypeType>;
771
+ createOrUpdateCheckout?: Maybe<GeinsCheckoutTypeType>;
772
+ deleteUser?: Maybe<Scalars['Boolean']['output']>;
773
+ monitorProductAvailability?: Maybe<Scalars['Boolean']['output']>;
774
+ placeOrder?: Maybe<GeinsPlaceOrderResponseTypeType>;
775
+ postProductReview?: Maybe<Scalars['Boolean']['output']>;
776
+ requestPasswordReset?: Maybe<Scalars['Boolean']['output']>;
777
+ /** Set a promo code on the cart */
778
+ setCartPromoCode?: Maybe<GeinsCartTypeType>;
779
+ setCartShippingFee?: Maybe<GeinsCheckoutTypeType>;
780
+ subscribeToNewsletter?: Maybe<Scalars['Boolean']['output']>;
781
+ /** Update the quantity of an entire cart group */
782
+ updateCartGroup?: Maybe<GeinsCartTypeType>;
783
+ /** Update the cart item */
784
+ updateCartItem?: Maybe<GeinsCartTypeType>;
785
+ updateUser?: Maybe<GeinsUserTypeType>;
786
+ }
787
+ export interface GeinsMutationAddPackageToCartArgsType {
788
+ allowExternalShippingFee?: InputMaybe<Scalars['Boolean']['input']>;
789
+ channelId?: InputMaybe<Scalars['String']['input']>;
790
+ id: Scalars['String']['input'];
791
+ languageId?: InputMaybe<Scalars['String']['input']>;
792
+ marketId?: InputMaybe<Scalars['String']['input']>;
793
+ packageId: Scalars['Int']['input'];
794
+ selections?: InputMaybe<Array<InputMaybe<GeinsProductPackageSelectionTypeType>>>;
795
+ }
796
+ export interface GeinsMutationAddToCartArgsType {
797
+ allowExternalShippingFee?: InputMaybe<Scalars['Boolean']['input']>;
798
+ channelId?: InputMaybe<Scalars['String']['input']>;
799
+ id: Scalars['String']['input'];
800
+ item: GeinsCartItemInputTypeType;
801
+ languageId?: InputMaybe<Scalars['String']['input']>;
802
+ marketId?: InputMaybe<Scalars['String']['input']>;
803
+ }
804
+ export interface GeinsMutationCommitResetArgsType {
805
+ channelId?: InputMaybe<Scalars['String']['input']>;
806
+ languageId?: InputMaybe<Scalars['String']['input']>;
807
+ marketId?: InputMaybe<Scalars['String']['input']>;
808
+ password: Scalars['String']['input'];
809
+ resetKey: Scalars['String']['input'];
810
+ }
811
+ export interface GeinsMutationCompleteCartArgsType {
812
+ channelId?: InputMaybe<Scalars['String']['input']>;
813
+ id: Scalars['String']['input'];
814
+ languageId?: InputMaybe<Scalars['String']['input']>;
815
+ marketId?: InputMaybe<Scalars['String']['input']>;
816
+ }
817
+ export interface GeinsMutationCreateOrUpdateCheckoutArgsType {
818
+ cartId: Scalars['String']['input'];
819
+ channelId?: InputMaybe<Scalars['String']['input']>;
820
+ checkout?: InputMaybe<GeinsCheckoutInputTypeType>;
821
+ languageId?: InputMaybe<Scalars['String']['input']>;
822
+ marketId?: InputMaybe<Scalars['String']['input']>;
823
+ }
824
+ export interface GeinsMutationDeleteUserArgsType {
825
+ channelId?: InputMaybe<Scalars['String']['input']>;
826
+ languageId?: InputMaybe<Scalars['String']['input']>;
827
+ marketId?: InputMaybe<Scalars['String']['input']>;
828
+ }
829
+ export interface GeinsMutationMonitorProductAvailabilityArgsType {
830
+ channelId?: InputMaybe<Scalars['String']['input']>;
831
+ email: Scalars['String']['input'];
832
+ languageId?: InputMaybe<Scalars['String']['input']>;
833
+ marketId?: InputMaybe<Scalars['String']['input']>;
834
+ skuId: Scalars['Int']['input'];
835
+ }
836
+ export interface GeinsMutationPlaceOrderArgsType {
837
+ cartId: Scalars['String']['input'];
838
+ channelId?: InputMaybe<Scalars['String']['input']>;
839
+ checkout: GeinsCheckoutInputTypeType;
840
+ languageId?: InputMaybe<Scalars['String']['input']>;
841
+ marketId?: InputMaybe<Scalars['String']['input']>;
842
+ }
843
+ export interface GeinsMutationPostProductReviewArgsType {
844
+ alias: Scalars['String']['input'];
845
+ author: Scalars['String']['input'];
846
+ channelId?: InputMaybe<Scalars['String']['input']>;
847
+ comment?: InputMaybe<Scalars['String']['input']>;
848
+ languageId?: InputMaybe<Scalars['String']['input']>;
849
+ marketId?: InputMaybe<Scalars['String']['input']>;
850
+ rating?: InputMaybe<Scalars['Int']['input']>;
851
+ }
852
+ export interface GeinsMutationRequestPasswordResetArgsType {
853
+ channelId?: InputMaybe<Scalars['String']['input']>;
854
+ email: Scalars['String']['input'];
855
+ languageId?: InputMaybe<Scalars['String']['input']>;
856
+ marketId?: InputMaybe<Scalars['String']['input']>;
857
+ }
858
+ export interface GeinsMutationSetCartPromoCodeArgsType {
859
+ channelId?: InputMaybe<Scalars['String']['input']>;
860
+ id: Scalars['String']['input'];
861
+ languageId?: InputMaybe<Scalars['String']['input']>;
862
+ marketId?: InputMaybe<Scalars['String']['input']>;
863
+ promoCode: Scalars['String']['input'];
864
+ }
865
+ export interface GeinsMutationSetCartShippingFeeArgsType {
866
+ cartId: Scalars['String']['input'];
867
+ channelId?: InputMaybe<Scalars['String']['input']>;
868
+ languageId?: InputMaybe<Scalars['String']['input']>;
869
+ marketId?: InputMaybe<Scalars['String']['input']>;
870
+ shippingFee: Scalars['Decimal']['input'];
871
+ }
872
+ export interface GeinsMutationSubscribeToNewsletterArgsType {
873
+ channelId?: InputMaybe<Scalars['String']['input']>;
874
+ email: Scalars['String']['input'];
875
+ languageId?: InputMaybe<Scalars['String']['input']>;
876
+ marketId?: InputMaybe<Scalars['String']['input']>;
877
+ tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
878
+ }
879
+ export interface GeinsMutationUpdateCartGroupArgsType {
880
+ allowExternalShippingFee?: InputMaybe<Scalars['Boolean']['input']>;
881
+ channelId?: InputMaybe<Scalars['String']['input']>;
882
+ id: Scalars['String']['input'];
883
+ item: GeinsCartGroupInputTypeType;
884
+ languageId?: InputMaybe<Scalars['String']['input']>;
885
+ marketId?: InputMaybe<Scalars['String']['input']>;
886
+ }
887
+ export interface GeinsMutationUpdateCartItemArgsType {
888
+ allowExternalShippingFee?: InputMaybe<Scalars['Boolean']['input']>;
889
+ channelId?: InputMaybe<Scalars['String']['input']>;
890
+ id: Scalars['String']['input'];
891
+ item: GeinsCartItemInputTypeType;
892
+ languageId?: InputMaybe<Scalars['String']['input']>;
893
+ marketId?: InputMaybe<Scalars['String']['input']>;
894
+ }
895
+ export interface GeinsMutationUpdateUserArgsType {
896
+ channelId?: InputMaybe<Scalars['String']['input']>;
897
+ languageId?: InputMaybe<Scalars['String']['input']>;
898
+ marketId?: InputMaybe<Scalars['String']['input']>;
899
+ user: GeinsUserInputTypeType;
900
+ }
901
+ /** Type containing information for an option in a product package group */
902
+ export interface GeinsOptionTypeType {
903
+ /** 'true' if this option should be selected by default */
904
+ isSelected: Scalars['Boolean']['output'];
905
+ /** The option id */
906
+ optionId: Scalars['Int']['output'];
907
+ /** The product that this options refers to */
908
+ product?: Maybe<GeinsProductTypeType>;
909
+ /** The quantity of items that is chosen if this option is selected */
910
+ quantity: Scalars['Int']['output'];
911
+ /** The sort order of this option relative to other options */
912
+ sortOrder: Scalars['Int']['output'];
913
+ }
914
+ export interface GeinsOrderTypeType {
915
+ billingAddress?: Maybe<GeinsAddressTypeType>;
916
+ cart?: Maybe<GeinsCartTypeType>;
917
+ completedAt?: Maybe<Scalars['DateTime']['output']>;
918
+ createdAt?: Maybe<Scalars['DateTime']['output']>;
919
+ currency?: Maybe<Scalars['String']['output']>;
920
+ customerId?: Maybe<Scalars['Int']['output']>;
921
+ desiredDeliveryDate?: Maybe<Scalars['DateTime']['output']>;
922
+ discount?: Maybe<GeinsPriceTypeType>;
923
+ /** The amount taken from account balance */
924
+ fromBalance: Scalars['Decimal']['output'];
925
+ /** The amount taken from account balance. Formatted as a currency string. */
926
+ fromBalanceFormatted?: Maybe<Scalars['String']['output']>;
927
+ id?: Maybe<Scalars['Int']['output']>;
928
+ message?: Maybe<Scalars['String']['output']>;
929
+ orderTotal?: Maybe<GeinsPriceTypeType>;
930
+ paymentDetails?: Maybe<Array<Maybe<GeinsPaymentDetailsTypeType>>>;
931
+ paymentFee?: Maybe<GeinsPriceTypeType>;
932
+ publicId: Scalars['ID']['output'];
933
+ refunds?: Maybe<Array<Maybe<GeinsRefundTypeType>>>;
934
+ shippingAddress?: Maybe<GeinsAddressTypeType>;
935
+ shippingDetails?: Maybe<Array<Maybe<GeinsShippingDetailTypeType>>>;
936
+ shippingFee?: Maybe<GeinsPriceTypeType>;
937
+ status: Scalars['String']['output'];
938
+ updatedAt?: Maybe<Scalars['DateTime']['output']>;
939
+ vat?: Maybe<GeinsPriceTypeType>;
940
+ }
941
+ /** Type containing widget page area information */
942
+ export interface GeinsPageAreaTypeType {
943
+ /** ID */
944
+ id: Scalars['Int']['output'];
945
+ /** Index */
946
+ index: Scalars['Int']['output'];
947
+ /** Name */
948
+ name?: Maybe<Scalars['String']['output']>;
949
+ }
950
+ /** Type containing page information */
951
+ export interface GeinsPageInfoTypeType {
952
+ /** Alias */
953
+ alias: Scalars['String']['output'];
954
+ /**
955
+ * Alternative full paths to the page
956
+ * @deprecated Use AlternativeUrls instead.
957
+ */
958
+ alternativeCanonicalUrls?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
959
+ /** Alternative urls to the page */
960
+ alternativeUrls?: Maybe<Array<Maybe<GeinsAlternativeUrlTypeType>>>;
961
+ /** Background image */
962
+ backgroundImage?: Maybe<Scalars['String']['output']>;
963
+ /** Full path to the page */
964
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
965
+ /** Whether the descriptions should be hidden */
966
+ hideDescription: Scalars['Boolean']['output'];
967
+ /** Whether the Name-field should be hidden */
968
+ hideTitle: Scalars['Boolean']['output'];
969
+ /** Page ID */
970
+ id: Scalars['Int']['output'];
971
+ /** Logo */
972
+ logo?: Maybe<Scalars['String']['output']>;
973
+ /** Page metadata */
974
+ meta?: Maybe<GeinsMetadataTypeType>;
975
+ /** Name */
976
+ name: Scalars['String']['output'];
977
+ /** Primary description */
978
+ primaryDescription?: Maybe<Scalars['String']['output']>;
979
+ /** Primary image */
980
+ primaryImage?: Maybe<Scalars['String']['output']>;
981
+ /** Secondary description */
982
+ secondaryDescription?: Maybe<Scalars['String']['output']>;
983
+ /** Page sub-categories */
984
+ subCategories?: Maybe<Array<Maybe<GeinsCategoryTypeType>>>;
985
+ }
986
+ /** Type for filtering widgets */
987
+ export interface GeinsPageWidgetCollectionFilterInputTypeType {
988
+ /** Filter key */
989
+ key?: InputMaybe<Scalars['String']['input']>;
990
+ /** Filter value */
991
+ value?: InputMaybe<Scalars['String']['input']>;
992
+ }
993
+ /** Type containing widget collection information */
994
+ export interface GeinsPageWidgetCollectionTypeType {
995
+ /** Collection containers */
996
+ containers?: Maybe<Array<Maybe<GeinsPageWidgetContainerTypeType>>>;
997
+ /** Collection family name */
998
+ familyName?: Maybe<Scalars['String']['output']>;
999
+ /** Collection ID */
1000
+ id: Scalars['Int']['output'];
1001
+ /** Collection metadata */
1002
+ meta?: Maybe<GeinsMetadataTypeType>;
1003
+ /** Name */
1004
+ name: Scalars['String']['output'];
1005
+ /** Collection page area */
1006
+ pageArea?: Maybe<GeinsPageAreaTypeType>;
1007
+ /** List of tags */
1008
+ tags?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
1009
+ /** Title */
1010
+ title?: Maybe<Scalars['String']['output']>;
1011
+ }
1012
+ /** Type containing widget container information */
1013
+ export interface GeinsPageWidgetContainerTypeType {
1014
+ /** Container class names */
1015
+ classNames?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
1016
+ /** Container design */
1017
+ design: Scalars['String']['output'];
1018
+ /** ID */
1019
+ id: Scalars['Int']['output'];
1020
+ /** Container layout */
1021
+ layout: Scalars['String']['output'];
1022
+ /** Name */
1023
+ name: Scalars['String']['output'];
1024
+ /** Container responsive mode */
1025
+ responsiveMode: Scalars['String']['output'];
1026
+ /** Sort order */
1027
+ sortOrder: Scalars['Int']['output'];
1028
+ /** Widgets in this container */
1029
+ widgets?: Maybe<Array<Maybe<GeinsPageWidgetTypeType>>>;
1030
+ }
1031
+ /** Type containing widget image size information */
1032
+ export interface GeinsPageWidgetImageSizeTypeType {
1033
+ /** Image height */
1034
+ imageHeight: Scalars['Int']['output'];
1035
+ /** Image ratio */
1036
+ imageRatio: Scalars['Float']['output'];
1037
+ /** Image width */
1038
+ imageWidth: Scalars['Int']['output'];
1039
+ }
1040
+ /** Type containing widget image information */
1041
+ export interface GeinsPageWidgetImageTypeType {
1042
+ /** Filename */
1043
+ fileName: Scalars['String']['output'];
1044
+ /** Largest image size */
1045
+ largestSize?: Maybe<GeinsPageWidgetImageSizeTypeType>;
1046
+ /** Image sizes */
1047
+ sizes?: Maybe<Array<Maybe<GeinsPageWidgetImageSizeTypeType>>>;
1048
+ }
1049
+ /** Type containing CMS page information */
1050
+ export interface GeinsPageWidgetPageTypeType {
1051
+ /** Active From */
1052
+ activeFrom?: Maybe<Scalars['DateTime']['output']>;
1053
+ /** Active To */
1054
+ activeTo?: Maybe<Scalars['DateTime']['output']>;
1055
+ /** Alias */
1056
+ alias?: Maybe<Scalars['String']['output']>;
1057
+ /** The url to this cms page */
1058
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
1059
+ /** Collection ID */
1060
+ id: Scalars['Int']['output'];
1061
+ /** Collection metadata */
1062
+ meta?: Maybe<GeinsMetadataTypeType>;
1063
+ /** Name */
1064
+ name: Scalars['String']['output'];
1065
+ /** List of tags */
1066
+ tags?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
1067
+ /** Title */
1068
+ title?: Maybe<Scalars['String']['output']>;
1069
+ }
1070
+ /** Type containing widget information */
1071
+ export interface GeinsPageWidgetTypeType {
1072
+ /** Class names */
1073
+ classNames?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
1074
+ /** Configuration */
1075
+ configuration: Scalars['String']['output'];
1076
+ /** ID */
1077
+ id: Scalars['String']['output'];
1078
+ /** Images */
1079
+ images?: Maybe<Array<Maybe<GeinsPageWidgetImageTypeType>>>;
1080
+ /** Name */
1081
+ name: Scalars['String']['output'];
1082
+ /** Size */
1083
+ size: Scalars['String']['output'];
1084
+ /** Sort order */
1085
+ sortOrder: Scalars['Int']['output'];
1086
+ /** Widget Type */
1087
+ type: Scalars['String']['output'];
1088
+ }
1089
+ /** Type containing product parameter group information */
1090
+ export interface GeinsParameterGroupTypeType {
1091
+ /** The parameter group name */
1092
+ name: Scalars['String']['output'];
1093
+ /** Parameter group ID */
1094
+ parameterGroupId?: Maybe<Scalars['Int']['output']>;
1095
+ /** List of parameters */
1096
+ parameters?: Maybe<Array<Maybe<GeinsParameterTypeType>>>;
1097
+ /** Product ID associated with this parameter group */
1098
+ productId: Scalars['Int']['output'];
1099
+ }
1100
+ /** Type containing parameter information */
1101
+ export interface GeinsParameterTypeType {
1102
+ /** Parameter description */
1103
+ description?: Maybe<Scalars['String']['output']>;
1104
+ /** The ID of the associated facet */
1105
+ facetId?: Maybe<Scalars['String']['output']>;
1106
+ /** The internal identifier of the parameter. This value is the same for all languages and does not change if the parameter name changes. */
1107
+ identifier?: Maybe<Scalars['String']['output']>;
1108
+ /** Parameter label */
1109
+ label?: Maybe<Scalars['String']['output']>;
1110
+ /** Parameter name */
1111
+ name?: Maybe<Scalars['String']['output']>;
1112
+ /** ID of the associated parameter group */
1113
+ parameterGroupId: Scalars['Int']['output'];
1114
+ /** Parameter ID */
1115
+ parameterId: Scalars['Int']['output'];
1116
+ /** Whether this parameter should be shown within the product specifications */
1117
+ show: Scalars['Boolean']['output'];
1118
+ /** Whether this parameter should be shown within filter options */
1119
+ showFilter: Scalars['Boolean']['output'];
1120
+ /** The parameter type */
1121
+ type?: Maybe<Scalars['String']['output']>;
1122
+ /** Parameter value */
1123
+ value?: Maybe<Scalars['String']['output']>;
1124
+ }
1125
+ export interface GeinsPaymentDetailsTypeType {
1126
+ displayName: Scalars['String']['output'];
1127
+ id: Scalars['Int']['output'];
1128
+ isPaid: Scalars['Boolean']['output'];
1129
+ name: Scalars['String']['output'];
1130
+ paymentDate?: Maybe<Scalars['DateTime']['output']>;
1131
+ paymentFee: Scalars['Float']['output'];
1132
+ paymentId: Scalars['Int']['output'];
1133
+ paymentOption?: Maybe<Scalars['String']['output']>;
1134
+ reservationDate: Scalars['DateTime']['output'];
1135
+ reservationNumber?: Maybe<Scalars['String']['output']>;
1136
+ shippingFee: Scalars['Float']['output'];
1137
+ total: Scalars['Float']['output'];
1138
+ transactionId: Scalars['String']['output'];
1139
+ }
1140
+ /** Type containing payment option information */
1141
+ export interface GeinsPaymentOptionTypeType {
1142
+ /** Display name */
1143
+ displayName?: Maybe<Scalars['String']['output']>;
1144
+ /** Fee excl. VAT */
1145
+ feeExVat: Scalars['Decimal']['output'];
1146
+ /** Fee excl. VAT, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1147
+ feeExVatFormatted?: Maybe<Scalars['String']['output']>;
1148
+ /** Fee incl. VAT */
1149
+ feeIncVat: Scalars['Decimal']['output'];
1150
+ /** Fee incl. VAT, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1151
+ feeIncVatFormatted?: Maybe<Scalars['String']['output']>;
1152
+ /** Payment option ID */
1153
+ id: Scalars['Int']['output'];
1154
+ /** Whether this payment option is the default selection */
1155
+ isDefault: Scalars['Boolean']['output'];
1156
+ /** Whether this option is the one selected */
1157
+ isSelected: Scalars['Boolean']['output'];
1158
+ /** Shipping option logo */
1159
+ logo?: Maybe<Scalars['String']['output']>;
1160
+ /** Name */
1161
+ name?: Maybe<Scalars['String']['output']>;
1162
+ /** Whether it is a new checkout session */
1163
+ newCheckoutSession: Scalars['Boolean']['output'];
1164
+ /** Payment option data */
1165
+ paymentData?: Maybe<Scalars['String']['output']>;
1166
+ /** Payment type */
1167
+ paymentType?: Maybe<GeinsPaymentType>;
1168
+ }
1169
+ /** Payment types */
1170
+ export declare enum GeinsPaymentType {
1171
+ /** Avarda */
1172
+ AvardaType = "AVARDA",
1173
+ /** Klarna */
1174
+ KlarnaType = "KLARNA",
1175
+ /** Standard */
1176
+ StandardType = "STANDARD",
1177
+ /** Svea */
1178
+ SveaType = "SVEA",
1179
+ /** Walley */
1180
+ WalleyType = "WALLEY"
1181
+ }
1182
+ export interface GeinsPlaceOrderResponseTypeType {
1183
+ orderId?: Maybe<Scalars['String']['output']>;
1184
+ redirectUrl?: Maybe<Scalars['String']['output']>;
1185
+ status?: Maybe<Scalars['String']['output']>;
1186
+ }
1187
+ /** Price range filter */
1188
+ export interface GeinsPriceFilterInputTypeType {
1189
+ /** The highest price you want to include */
1190
+ highest?: InputMaybe<Scalars['Float']['input']>;
1191
+ /** The lowest price you want to include */
1192
+ lowest?: InputMaybe<Scalars['Float']['input']>;
1193
+ }
1194
+ /** Price range filter */
1195
+ export interface GeinsPriceFilterTypeType {
1196
+ /** The highest price found in the results */
1197
+ highest: Scalars['Float']['output'];
1198
+ /** The lowest price found in the results */
1199
+ lowest: Scalars['Float']['output'];
1200
+ }
1201
+ /** Type containing all information about a product price log item */
1202
+ export interface GeinsPriceLogItemTypeType {
1203
+ /** Date of the price change */
1204
+ date: Scalars['String']['output'];
1205
+ /** Discount amount excluding VAT */
1206
+ discountExVat: Scalars['Decimal']['output'];
1207
+ /** Discount (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1208
+ discountExVatFormatted?: Maybe<Scalars['String']['output']>;
1209
+ /** Discount amount including VAT */
1210
+ discountIncVat: Scalars['Decimal']['output'];
1211
+ /** Discount (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1212
+ discountIncVatFormatted?: Maybe<Scalars['String']['output']>;
1213
+ /** Discount percentage */
1214
+ discountPercentage: Scalars['Int']['output'];
1215
+ /** Whether the price is discounted or not */
1216
+ isDiscounted: Scalars['Boolean']['output'];
1217
+ /** True if this log items has the lowest price for the last 30 days */
1218
+ isLowest: Scalars['Boolean']['output'];
1219
+ /** The regular price excluding VAT */
1220
+ regularPriceExVat: Scalars['Decimal']['output'];
1221
+ /** Regular price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1222
+ regularPriceExVatFormatted?: Maybe<Scalars['String']['output']>;
1223
+ /** The regular price including VAT */
1224
+ regularPriceIncVat: Scalars['Decimal']['output'];
1225
+ /** Regular price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1226
+ regularPriceIncVatFormatted?: Maybe<Scalars['String']['output']>;
1227
+ /** The selling price excluding VAT */
1228
+ sellingPriceExVat: Scalars['Decimal']['output'];
1229
+ /** Selling price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1230
+ sellingPriceExVatFormatted?: Maybe<Scalars['String']['output']>;
1231
+ /** The selling price including VAT */
1232
+ sellingPriceIncVat: Scalars['Decimal']['output'];
1233
+ /** Selling price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1234
+ sellingPriceIncVatFormatted?: Maybe<Scalars['String']['output']>;
1235
+ /** VAT amount */
1236
+ vat: Scalars['Decimal']['output'];
1237
+ /** VAT amount, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1238
+ vatFormatted?: Maybe<Scalars['String']['output']>;
1239
+ }
1240
+ /** Type containing price information */
1241
+ export interface GeinsPriceTypeType {
1242
+ /** Discount amount excluding VAT */
1243
+ discountExVat: Scalars['Decimal']['output'];
1244
+ /** Discount (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1245
+ discountExVatFormatted?: Maybe<Scalars['String']['output']>;
1246
+ /** Discount amount including VAT */
1247
+ discountIncVat: Scalars['Decimal']['output'];
1248
+ /** Discount (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1249
+ discountIncVatFormatted?: Maybe<Scalars['String']['output']>;
1250
+ /** Discount percentage */
1251
+ discountPercentage: Scalars['Int']['output'];
1252
+ /** Whether the price is discounted or not */
1253
+ isDiscounted: Scalars['Boolean']['output'];
1254
+ /** The regular price excluding VAT */
1255
+ regularPriceExVat: Scalars['Decimal']['output'];
1256
+ /** Regular price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1257
+ regularPriceExVatFormatted?: Maybe<Scalars['String']['output']>;
1258
+ /** The regular price including VAT */
1259
+ regularPriceIncVat: Scalars['Decimal']['output'];
1260
+ /** Regular price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1261
+ regularPriceIncVatFormatted?: Maybe<Scalars['String']['output']>;
1262
+ /** The selling price excluding VAT */
1263
+ sellingPriceExVat: Scalars['Decimal']['output'];
1264
+ /** Selling price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1265
+ sellingPriceExVatFormatted?: Maybe<Scalars['String']['output']>;
1266
+ /** The selling price including VAT */
1267
+ sellingPriceIncVat: Scalars['Decimal']['output'];
1268
+ /** Selling price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1269
+ sellingPriceIncVatFormatted?: Maybe<Scalars['String']['output']>;
1270
+ /** VAT amount */
1271
+ vat: Scalars['Decimal']['output'];
1272
+ /** VAT amount, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1273
+ vatFormatted?: Maybe<Scalars['String']['output']>;
1274
+ }
1275
+ /** Type containing all information about a product image */
1276
+ export interface GeinsProductImageTypeType {
1277
+ /** The file name of the product image. */
1278
+ fileName: Scalars['String']['output'];
1279
+ /** Custom tags associated with the product image. */
1280
+ tags?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
1281
+ }
1282
+ /** Type containing meta data for the package selection that a cart item was added from */
1283
+ export interface GeinsProductPackageCartItemTypeType {
1284
+ /** The group id */
1285
+ groupId: Scalars['Int']['output'];
1286
+ /** The option id */
1287
+ optionId: Scalars['Int']['output'];
1288
+ /** The package id */
1289
+ packageId: Scalars['Int']['output'];
1290
+ /** The package name */
1291
+ packageName: Scalars['String']['output'];
1292
+ }
1293
+ /** Type containing an option selection for a product package group */
1294
+ export interface GeinsProductPackageSelectionTypeType {
1295
+ /** The group id that the selection is made in */
1296
+ groupId: Scalars['Int']['input'];
1297
+ /** The selected option id */
1298
+ optionId: Scalars['Int']['input'];
1299
+ /** The selected SKU */
1300
+ skuId: Scalars['Int']['input'];
1301
+ }
1302
+ /** Type containing type specific information for a product of the type 'package' */
1303
+ export interface GeinsProductPackageTypeType {
1304
+ /** Groups in this package */
1305
+ groups?: Maybe<Array<Maybe<GeinsGroupTypeType>>>;
1306
+ }
1307
+ /** Product relation type */
1308
+ export declare enum GeinsProductRelation {
1309
+ /** Product is an accessory to this product */
1310
+ AccessoriesType = "ACCESSORIES",
1311
+ /** Product is related to this product */
1312
+ RelatedType = "RELATED",
1313
+ /** Product is similar to this product */
1314
+ SimilarType = "SIMILAR"
1315
+ }
1316
+ /** The results of the reviews query. */
1317
+ export interface GeinsProductReviewResultTypeType {
1318
+ /** The average rating for this product */
1319
+ averageRating: Scalars['Float']['output'];
1320
+ /** The total count of results for the query */
1321
+ count: Scalars['Long']['output'];
1322
+ /** Results returned by the query */
1323
+ reviews?: Maybe<Array<Maybe<GeinsProductReviewTypeType>>>;
1324
+ }
1325
+ /** Type containing all information about a product review */
1326
+ export interface GeinsProductReviewTypeType {
1327
+ /** Author of the review */
1328
+ author: Scalars['String']['output'];
1329
+ /** The product review comment */
1330
+ comment: Scalars['String']['output'];
1331
+ /** The product rating (1-5) */
1332
+ rating: Scalars['Int']['output'];
1333
+ /** The date and time for when the review was made */
1334
+ reviewDate: Scalars['DateTime']['output'];
1335
+ }
1336
+ /** Product info */
1337
+ export interface GeinsProductTextsTypeType {
1338
+ /** Main product info */
1339
+ text1?: Maybe<Scalars['String']['output']>;
1340
+ /** Secondary product info */
1341
+ text2?: Maybe<Scalars['String']['output']>;
1342
+ /** Tertiary product info */
1343
+ text3?: Maybe<Scalars['String']['output']>;
1344
+ }
1345
+ /** Type containing all information about a product */
1346
+ export interface GeinsProductTypeType {
1347
+ /** Alias for the product */
1348
+ alias: Scalars['String']['output'];
1349
+ /**
1350
+ * Alternative full paths to the product
1351
+ * @deprecated Use AlternativeUrls instead.
1352
+ */
1353
+ alternativeCanonicalUrls?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
1354
+ /** Alternative urls to the product */
1355
+ alternativeUrls?: Maybe<Array<Maybe<GeinsAlternativeUrlTypeType>>>;
1356
+ /** The product article number */
1357
+ articleNumber?: Maybe<Scalars['String']['output']>;
1358
+ /** Product brand information */
1359
+ brand?: Maybe<GeinsBrandTypeType>;
1360
+ /** Breadcrumbs */
1361
+ breadcrumbs?: Maybe<Array<Maybe<GeinsBreadcrumbTypeType>>>;
1362
+ /** The full path to the product */
1363
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
1364
+ /** Product category information */
1365
+ categories?: Maybe<Array<Maybe<GeinsCategoryTypeType>>>;
1366
+ /** The primary category ID */
1367
+ categoryId: Scalars['Int']['output'];
1368
+ /** The current variant selection */
1369
+ currentProductVariant?: Maybe<GeinsVariantTypeType>;
1370
+ /** The dimensions of the Product. Note that this can also be set on SKU level */
1371
+ dimensions?: Maybe<GeinsDimensionsTypeType>;
1372
+ /** Product discount campaigns */
1373
+ discountCampaigns?: Maybe<Array<Maybe<GeinsCampaignRuleTypeType>>>;
1374
+ /** Type of discount price: None, Sale or Campaign */
1375
+ discountType?: Maybe<GeinsDiscountType>;
1376
+ /** The date on which the product was first available (yyyy-mm-dd) */
1377
+ firstAvailableOn?: Maybe<Scalars['String']['output']>;
1378
+ /** The Freightclass set for this product */
1379
+ freightClass?: Maybe<Scalars['String']['output']>;
1380
+ /**
1381
+ * List of product images
1382
+ * @deprecated Use ProductType.ProductImages instead.
1383
+ */
1384
+ images?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
1385
+ /** Lowest price and comparison price according to EU price laws */
1386
+ lowestPrice?: Maybe<GeinsLowestPriceTypeType>;
1387
+ /** Product metadata */
1388
+ meta?: Maybe<GeinsMetadataTypeType>;
1389
+ /** The product name */
1390
+ name?: Maybe<Scalars['String']['output']>;
1391
+ /** Product parameter groups */
1392
+ parameterGroups?: Maybe<Array<Maybe<GeinsParameterGroupTypeType>>>;
1393
+ /** Price log with the prices from the last 30 days */
1394
+ priceLog?: Maybe<Array<Maybe<GeinsPriceLogItemTypeType>>>;
1395
+ /** Primary category for this product */
1396
+ primaryCategory?: Maybe<GeinsCategoryTypeType>;
1397
+ /** Product ID */
1398
+ productId: Scalars['Int']['output'];
1399
+ /** List of product images and their related properties */
1400
+ productImages?: Maybe<Array<Maybe<GeinsProductImageTypeType>>>;
1401
+ /** Package specific information for this product */
1402
+ productPackage?: Maybe<GeinsProductPackageTypeType>;
1403
+ /** Product rating */
1404
+ rating?: Maybe<GeinsRatingTypeType>;
1405
+ /** Product SKUs */
1406
+ skus?: Maybe<Array<Maybe<GeinsSkuTypeType>>>;
1407
+ /** The Supplier Id */
1408
+ supplierId: Scalars['Int']['output'];
1409
+ /** Product text info */
1410
+ texts?: Maybe<GeinsProductTextsTypeType>;
1411
+ /** Product stock information */
1412
+ totalStock?: Maybe<GeinsStockTypeType>;
1413
+ /** The product type. Either 'product' or 'package' */
1414
+ type?: Maybe<Scalars['String']['output']>;
1415
+ /** Product price information */
1416
+ unitPrice?: Maybe<GeinsPriceTypeType>;
1417
+ /** Variant dimensions */
1418
+ variantDimensions?: Maybe<Array<Maybe<GeinsVariantDimensionTypeType>>>;
1419
+ /** Product variant group */
1420
+ variantGroup?: Maybe<GeinsVariantGroupTypeType>;
1421
+ /** Weight in grams (g). Note that this can also be set on SKU level */
1422
+ weight: Scalars['Int']['output'];
1423
+ }
1424
+ /** The results of the products-query. */
1425
+ export interface GeinsProductsResultTypeType {
1426
+ /** The total count of results for the query */
1427
+ count: Scalars['Long']['output'];
1428
+ /** The filters available for this query */
1429
+ filters?: Maybe<GeinsFilterCollectionTypeType>;
1430
+ /** Results returned by the query */
1431
+ products?: Maybe<Array<Maybe<GeinsProductTypeType>>>;
1432
+ }
1433
+ /** Gets all available channels */
1434
+ export interface GeinsQueryType {
1435
+ /** Get all brands. */
1436
+ brands?: Maybe<Array<Maybe<GeinsBrandListTypeType>>>;
1437
+ /** Get all categories. */
1438
+ categories?: Maybe<Array<Maybe<GeinsCategoryTypeType>>>;
1439
+ /** Gets a category with the specified ID. */
1440
+ category?: Maybe<GeinsCategoryTypeType>;
1441
+ /** Gets a channel with the specified ID. */
1442
+ channel?: Maybe<GeinsChannelTypeType>;
1443
+ channels?: Maybe<Array<Maybe<GeinsChannelTypeType>>>;
1444
+ /** Gets checkout data with a html snippet, checkout order data for the specified order and the User. If the order was recently completed, the html snippet will contain the "Thank you"-content. */
1445
+ checkout?: Maybe<GeinsCheckoutDataTypeType>;
1446
+ /** Gets all CMS pages. */
1447
+ cmsPages?: Maybe<Array<Maybe<GeinsPageWidgetPageTypeType>>>;
1448
+ /** Get the cart */
1449
+ getCart?: Maybe<GeinsCartTypeType>;
1450
+ /**
1451
+ * Gets html snippet for the specified external order. If the order was recently completed, the html snippet will contain the "Thank you"-content.
1452
+ * @deprecated Use Checkout instead
1453
+ */
1454
+ getCheckout?: Maybe<Scalars['String']['output']>;
1455
+ /**
1456
+ * Gets html snippet and checkout order data for the specified external order. If the order was recently completed, the html snippet will contain the "Thank you"-content.
1457
+ * @deprecated Use Checkout instead
1458
+ */
1459
+ getCheckoutAndOrder?: Maybe<GeinsCheckoutAndOrderTypeType>;
1460
+ /** Get a menu */
1461
+ getMenuAtLocation?: Maybe<GeinsMenuTypeType>;
1462
+ /** Get a specific order with details */
1463
+ getOrder?: Maybe<GeinsOrderTypeType>;
1464
+ /** Get a specific order with details via public id */
1465
+ getOrderPublic?: Maybe<GeinsOrderTypeType>;
1466
+ /** Get orders for the current user */
1467
+ getOrders?: Maybe<Array<Maybe<GeinsOrderTypeType>>>;
1468
+ /** Get the current user */
1469
+ getUser?: Maybe<GeinsUserTypeType>;
1470
+ /** Gets information about the specified list page. */
1471
+ listPageInfo?: Maybe<GeinsPageInfoTypeType>;
1472
+ /** Gets a product with the specified ID. */
1473
+ product?: Maybe<GeinsProductTypeType>;
1474
+ /** Gets all products according to the values provided. */
1475
+ products?: Maybe<GeinsProductsResultTypeType>;
1476
+ /** Gets related products for the specified alias. */
1477
+ relatedProducts?: Maybe<Array<Maybe<GeinsRelatedProductTypeType>>>;
1478
+ /** Gets all products reviews to the values provided. */
1479
+ reviews?: Maybe<GeinsProductReviewResultTypeType>;
1480
+ /** Gets an alternate url for a given url. */
1481
+ urlHistory?: Maybe<GeinsUrlHistoryTypeType>;
1482
+ validateOrderCreation?: Maybe<GeinsValidateOrderCreationResponseTypeType>;
1483
+ /** Gets the page area and widgets from the specifed family. */
1484
+ widgetArea?: Maybe<GeinsPageWidgetCollectionTypeType>;
1485
+ }
1486
+ /** Gets all available channels */
1487
+ export interface GeinsQueryBrandsArgsType {
1488
+ channelId?: InputMaybe<Scalars['String']['input']>;
1489
+ languageId?: InputMaybe<Scalars['String']['input']>;
1490
+ marketId?: InputMaybe<Scalars['String']['input']>;
1491
+ }
1492
+ /** Gets all available channels */
1493
+ export interface GeinsQueryCategoriesArgsType {
1494
+ channelId?: InputMaybe<Scalars['String']['input']>;
1495
+ includeHidden?: InputMaybe<Scalars['Boolean']['input']>;
1496
+ languageId?: InputMaybe<Scalars['String']['input']>;
1497
+ marketId?: InputMaybe<Scalars['String']['input']>;
1498
+ parentCategoryId?: InputMaybe<Scalars['Int']['input']>;
1499
+ }
1500
+ /** Gets all available channels */
1501
+ export interface GeinsQueryCategoryArgsType {
1502
+ alias?: InputMaybe<Scalars['String']['input']>;
1503
+ channelId?: InputMaybe<Scalars['String']['input']>;
1504
+ languageId?: InputMaybe<Scalars['String']['input']>;
1505
+ marketId?: InputMaybe<Scalars['String']['input']>;
1506
+ }
1507
+ /** Gets all available channels */
1508
+ export interface GeinsQueryChannelArgsType {
1509
+ channelId?: InputMaybe<Scalars['String']['input']>;
1510
+ }
1511
+ /** Gets all available channels */
1512
+ export interface GeinsQueryCheckoutArgsType {
1513
+ cartId?: InputMaybe<Scalars['String']['input']>;
1514
+ channelId?: InputMaybe<Scalars['String']['input']>;
1515
+ id: Scalars['String']['input'];
1516
+ languageId?: InputMaybe<Scalars['String']['input']>;
1517
+ marketId?: InputMaybe<Scalars['String']['input']>;
1518
+ paymentType: GeinsPaymentType;
1519
+ }
1520
+ /** Gets all available channels */
1521
+ export interface GeinsQueryCmsPagesArgsType {
1522
+ channelId?: InputMaybe<Scalars['String']['input']>;
1523
+ excludeTags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
1524
+ includeTags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
1525
+ languageId?: InputMaybe<Scalars['String']['input']>;
1526
+ marketId?: InputMaybe<Scalars['String']['input']>;
1527
+ }
1528
+ /** Gets all available channels */
1529
+ export interface GeinsQueryGetCartArgsType {
1530
+ allowExternalShippingFee?: InputMaybe<Scalars['Boolean']['input']>;
1531
+ channelId?: InputMaybe<Scalars['String']['input']>;
1532
+ forceRefresh?: InputMaybe<Scalars['Boolean']['input']>;
1533
+ id?: InputMaybe<Scalars['String']['input']>;
1534
+ includeCompleted?: InputMaybe<Scalars['Boolean']['input']>;
1535
+ languageId?: InputMaybe<Scalars['String']['input']>;
1536
+ marketId?: InputMaybe<Scalars['String']['input']>;
1537
+ }
1538
+ /** Gets all available channels */
1539
+ export interface GeinsQueryGetCheckoutArgsType {
1540
+ channelId?: InputMaybe<Scalars['String']['input']>;
1541
+ id: Scalars['String']['input'];
1542
+ languageId?: InputMaybe<Scalars['String']['input']>;
1543
+ marketId?: InputMaybe<Scalars['String']['input']>;
1544
+ paymentType: GeinsPaymentType;
1545
+ }
1546
+ /** Gets all available channels */
1547
+ export interface GeinsQueryGetCheckoutAndOrderArgsType {
1548
+ channelId?: InputMaybe<Scalars['String']['input']>;
1549
+ id: Scalars['String']['input'];
1550
+ languageId?: InputMaybe<Scalars['String']['input']>;
1551
+ marketId?: InputMaybe<Scalars['String']['input']>;
1552
+ paymentType: GeinsPaymentType;
1553
+ }
1554
+ /** Gets all available channels */
1555
+ export interface GeinsQueryGetMenuAtLocationArgsType {
1556
+ channelId?: InputMaybe<Scalars['String']['input']>;
1557
+ languageId?: InputMaybe<Scalars['String']['input']>;
1558
+ marketId?: InputMaybe<Scalars['String']['input']>;
1559
+ menuLocationId?: InputMaybe<Scalars['String']['input']>;
1560
+ }
1561
+ /** Gets all available channels */
1562
+ export interface GeinsQueryGetOrderArgsType {
1563
+ channelId?: InputMaybe<Scalars['String']['input']>;
1564
+ languageId?: InputMaybe<Scalars['String']['input']>;
1565
+ marketId?: InputMaybe<Scalars['String']['input']>;
1566
+ orderId: Scalars['Int']['input'];
1567
+ }
1568
+ /** Gets all available channels */
1569
+ export interface GeinsQueryGetOrderPublicArgsType {
1570
+ channelId?: InputMaybe<Scalars['String']['input']>;
1571
+ languageId?: InputMaybe<Scalars['String']['input']>;
1572
+ marketId?: InputMaybe<Scalars['String']['input']>;
1573
+ publicOrderId: Scalars['Guid']['input'];
1574
+ }
1575
+ /** Gets all available channels */
1576
+ export interface GeinsQueryGetOrdersArgsType {
1577
+ channelId?: InputMaybe<Scalars['String']['input']>;
1578
+ languageId?: InputMaybe<Scalars['String']['input']>;
1579
+ marketId?: InputMaybe<Scalars['String']['input']>;
1580
+ }
1581
+ /** Gets all available channels */
1582
+ export interface GeinsQueryGetUserArgsType {
1583
+ channelId?: InputMaybe<Scalars['String']['input']>;
1584
+ languageId?: InputMaybe<Scalars['String']['input']>;
1585
+ marketId?: InputMaybe<Scalars['String']['input']>;
1586
+ }
1587
+ /** Gets all available channels */
1588
+ export interface GeinsQueryListPageInfoArgsType {
1589
+ alias?: InputMaybe<Scalars['String']['input']>;
1590
+ channelId?: InputMaybe<Scalars['String']['input']>;
1591
+ languageId?: InputMaybe<Scalars['String']['input']>;
1592
+ marketId?: InputMaybe<Scalars['String']['input']>;
1593
+ url?: InputMaybe<Scalars['String']['input']>;
1594
+ }
1595
+ /** Gets all available channels */
1596
+ export interface GeinsQueryProductArgsType {
1597
+ alias?: InputMaybe<Scalars['String']['input']>;
1598
+ channelId?: InputMaybe<Scalars['String']['input']>;
1599
+ languageId?: InputMaybe<Scalars['String']['input']>;
1600
+ marketId?: InputMaybe<Scalars['String']['input']>;
1601
+ }
1602
+ /** Gets all available channels */
1603
+ export interface GeinsQueryProductsArgsType {
1604
+ brandAlias?: InputMaybe<Scalars['String']['input']>;
1605
+ categoryAlias?: InputMaybe<Scalars['String']['input']>;
1606
+ channelId?: InputMaybe<Scalars['String']['input']>;
1607
+ discountCampaignAlias?: InputMaybe<Scalars['String']['input']>;
1608
+ filter?: InputMaybe<GeinsFilterInputTypeType>;
1609
+ languageId?: InputMaybe<Scalars['String']['input']>;
1610
+ marketId?: InputMaybe<Scalars['String']['input']>;
1611
+ skip?: InputMaybe<Scalars['Int']['input']>;
1612
+ take?: InputMaybe<Scalars['Int']['input']>;
1613
+ url?: InputMaybe<Scalars['String']['input']>;
1614
+ }
1615
+ /** Gets all available channels */
1616
+ export interface GeinsQueryRelatedProductsArgsType {
1617
+ alias: Scalars['String']['input'];
1618
+ channelId?: InputMaybe<Scalars['String']['input']>;
1619
+ languageId?: InputMaybe<Scalars['String']['input']>;
1620
+ marketId?: InputMaybe<Scalars['String']['input']>;
1621
+ }
1622
+ /** Gets all available channels */
1623
+ export interface GeinsQueryReviewsArgsType {
1624
+ alias?: InputMaybe<Scalars['String']['input']>;
1625
+ channelId?: InputMaybe<Scalars['String']['input']>;
1626
+ languageId?: InputMaybe<Scalars['String']['input']>;
1627
+ marketId?: InputMaybe<Scalars['String']['input']>;
1628
+ skip?: InputMaybe<Scalars['Int']['input']>;
1629
+ take?: InputMaybe<Scalars['Int']['input']>;
1630
+ }
1631
+ /** Gets all available channels */
1632
+ export interface GeinsQueryUrlHistoryArgsType {
1633
+ channelId?: InputMaybe<Scalars['String']['input']>;
1634
+ languageId?: InputMaybe<Scalars['String']['input']>;
1635
+ marketId?: InputMaybe<Scalars['String']['input']>;
1636
+ url?: InputMaybe<Scalars['String']['input']>;
1637
+ }
1638
+ /** Gets all available channels */
1639
+ export interface GeinsQueryValidateOrderCreationArgsType {
1640
+ cartId: Scalars['String']['input'];
1641
+ channelId?: InputMaybe<Scalars['String']['input']>;
1642
+ checkout: GeinsCheckoutInputTypeType;
1643
+ languageId?: InputMaybe<Scalars['String']['input']>;
1644
+ marketId?: InputMaybe<Scalars['String']['input']>;
1645
+ }
1646
+ /** Gets all available channels */
1647
+ export interface GeinsQueryWidgetAreaArgsType {
1648
+ alias?: InputMaybe<Scalars['String']['input']>;
1649
+ areaName?: InputMaybe<Scalars['String']['input']>;
1650
+ channelId?: InputMaybe<Scalars['String']['input']>;
1651
+ customerType?: InputMaybe<GeinsCustomerType>;
1652
+ displaySetting?: InputMaybe<Scalars['String']['input']>;
1653
+ family?: InputMaybe<Scalars['String']['input']>;
1654
+ filters?: InputMaybe<Array<InputMaybe<GeinsPageWidgetCollectionFilterInputTypeType>>>;
1655
+ languageId?: InputMaybe<Scalars['String']['input']>;
1656
+ marketId?: InputMaybe<Scalars['String']['input']>;
1657
+ preview?: InputMaybe<Scalars['Boolean']['input']>;
1658
+ url?: InputMaybe<Scalars['String']['input']>;
1659
+ }
1660
+ /** Type containing product rating information */
1661
+ export interface GeinsRatingTypeType {
1662
+ /** Rating score */
1663
+ score: Scalars['Decimal']['output'];
1664
+ /** Vote count */
1665
+ voteCount: Scalars['Int']['output'];
1666
+ }
1667
+ export interface GeinsRefundTypeType {
1668
+ articleNumber?: Maybe<Scalars['String']['output']>;
1669
+ createdAt: Scalars['DateTime']['output'];
1670
+ id: Scalars['Int']['output'];
1671
+ itemId: Scalars['Int']['output'];
1672
+ reason?: Maybe<Scalars['String']['output']>;
1673
+ reasonCode?: Maybe<Scalars['Int']['output']>;
1674
+ refundType?: Maybe<Scalars['String']['output']>;
1675
+ toBalance: Scalars['Boolean']['output'];
1676
+ total: Scalars['Float']['output'];
1677
+ vat: Scalars['Float']['output'];
1678
+ }
1679
+ /** Type containing a subset of product information for related products */
1680
+ export interface GeinsRelatedProductTypeType {
1681
+ /** Product alias */
1682
+ alias: Scalars['String']['output'];
1683
+ /** Product brand information */
1684
+ brand?: Maybe<GeinsBrandTypeType>;
1685
+ /** Full path to the product */
1686
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
1687
+ /** Product campaigns */
1688
+ discountCampaigns?: Maybe<Array<Maybe<GeinsCampaignRuleTypeType>>>;
1689
+ /**
1690
+ * List of product images
1691
+ * @deprecated Use RelatedProductType.ProductImages instead.
1692
+ */
1693
+ images?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
1694
+ /** Product name */
1695
+ name?: Maybe<Scalars['String']['output']>;
1696
+ /** Product parameter groups. The availability of data in this field needs to be configured. */
1697
+ parameterGroups?: Maybe<Array<Maybe<GeinsParameterGroupTypeType>>>;
1698
+ /** Primary category for this product */
1699
+ primaryCategory?: Maybe<GeinsCategoryTypeType>;
1700
+ /** Product primary image */
1701
+ primaryImage?: Maybe<Scalars['String']['output']>;
1702
+ /** List of product images and their related properties */
1703
+ productImages?: Maybe<Array<Maybe<GeinsProductImageTypeType>>>;
1704
+ /**
1705
+ * Relation type
1706
+ * @deprecated Use RelatedProductType.RelationType instead.
1707
+ */
1708
+ relation?: Maybe<GeinsProductRelation>;
1709
+ /** Relation type */
1710
+ relationType: Scalars['String']['output'];
1711
+ /** Product secondary image */
1712
+ secondaryImage?: Maybe<Scalars['String']['output']>;
1713
+ /** Product SKUs */
1714
+ skus?: Maybe<Array<Maybe<GeinsSkuTypeType>>>;
1715
+ /** Product price */
1716
+ unitPrice?: Maybe<GeinsPriceTypeType>;
1717
+ }
1718
+ export interface GeinsShippingDetailTypeType {
1719
+ id: Scalars['Int']['output'];
1720
+ name: Scalars['String']['output'];
1721
+ parcelNumber?: Maybe<Scalars['String']['output']>;
1722
+ shippingDate?: Maybe<Scalars['DateTime']['output']>;
1723
+ shippingId: Scalars['Int']['output'];
1724
+ trackingLink?: Maybe<Scalars['String']['output']>;
1725
+ }
1726
+ /** Type containing shipping option information */
1727
+ export interface GeinsShippingOptionTypeType {
1728
+ /** Amount left to recieve free shipping */
1729
+ amountLeftToFreeShipping: Scalars['Decimal']['output'];
1730
+ /** Amount left to recieve free shipping formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1731
+ amountLeftToFreeShippingFormatted?: Maybe<Scalars['String']['output']>;
1732
+ /** Display name */
1733
+ displayName?: Maybe<Scalars['String']['output']>;
1734
+ /** External ID */
1735
+ externalId?: Maybe<Scalars['String']['output']>;
1736
+ /** Fee excl. VAT */
1737
+ feeExVat: Scalars['Decimal']['output'];
1738
+ /** Fee excl. VAT, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1739
+ feeExVatFormatted?: Maybe<Scalars['String']['output']>;
1740
+ /** Fee incl. VAT */
1741
+ feeIncVat: Scalars['Decimal']['output'];
1742
+ /** Fee incl. VAT, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34' */
1743
+ feeIncVatFormatted?: Maybe<Scalars['String']['output']>;
1744
+ /** Shipping option ID */
1745
+ id: Scalars['Int']['output'];
1746
+ /** Whether this shipping option is the default selection */
1747
+ isDefault: Scalars['Boolean']['output'];
1748
+ /** Whether this option is the one selected */
1749
+ isSelected: Scalars['Boolean']['output'];
1750
+ /** Shipping option logo */
1751
+ logo?: Maybe<Scalars['String']['output']>;
1752
+ /** Name */
1753
+ name?: Maybe<Scalars['String']['output']>;
1754
+ /** Shipping data */
1755
+ shippingData?: Maybe<Scalars['String']['output']>;
1756
+ /** Sub-options */
1757
+ subOptions?: Maybe<Array<Maybe<GeinsShippingOptionTypeType>>>;
1758
+ }
1759
+ /** Type containing all information about a product SKU */
1760
+ export interface GeinsSkuTypeType {
1761
+ /** The article number of the SKU */
1762
+ articleNumber: Scalars['String']['output'];
1763
+ /** The dimensions of the SKU */
1764
+ dimensions?: Maybe<GeinsDimensionsTypeType>;
1765
+ /** External ID of the SKU */
1766
+ externalId?: Maybe<Scalars['String']['output']>;
1767
+ /** SKU GTIN */
1768
+ gtin?: Maybe<Scalars['String']['output']>;
1769
+ /** Incoming date */
1770
+ incoming?: Maybe<Scalars['DateTime']['output']>;
1771
+ /** SKU name */
1772
+ name?: Maybe<Scalars['String']['output']>;
1773
+ /** The associated product ID */
1774
+ productId: Scalars['Int']['output'];
1775
+ /** Shelf */
1776
+ shelf?: Maybe<Scalars['String']['output']>;
1777
+ /** ID of the SKU */
1778
+ skuId: Scalars['Int']['output'];
1779
+ /** Stock information */
1780
+ stock?: Maybe<GeinsStockTypeType>;
1781
+ /** Weight in grams (g) */
1782
+ weight: Scalars['Int']['output'];
1783
+ }
1784
+ /** Sort types */
1785
+ export declare enum GeinsSortType {
1786
+ /** Sort by alphabetical */
1787
+ AlphabeticalType = "ALPHABETICAL",
1788
+ /** Sort by alphabetical, in descending order */
1789
+ AlphabeticalDescType = "ALPHABETICAL_DESC",
1790
+ /** Sort by available stock balance */
1791
+ AvailableStockType = "AVAILABLE_STOCK",
1792
+ /** Sort by available stock balance, in descending order */
1793
+ AvailableStockDescType = "AVAILABLE_STOCK_DESC",
1794
+ /** Sort by brand */
1795
+ BrandType = "BRAND",
1796
+ /** Sort by custom value 1 */
1797
+ Custom_1Type = "CUSTOM_1",
1798
+ /** Sort by custom value 2 */
1799
+ Custom_2Type = "CUSTOM_2",
1800
+ /** Sort by custom value 3 */
1801
+ Custom_3Type = "CUSTOM_3",
1802
+ /** Sort by custom value 4 */
1803
+ Custom_4Type = "CUSTOM_4",
1804
+ /** Sort by custom value 5 */
1805
+ Custom_5Type = "CUSTOM_5",
1806
+ /** Sort by facets */
1807
+ FacetOrderType = "FACET_ORDER",
1808
+ /** Sort by latest products */
1809
+ LatestType = "LATEST",
1810
+ /** Sort by most sold */
1811
+ MostSoldType = "MOST_SOLD",
1812
+ /** No sorting */
1813
+ NoneType = "NONE",
1814
+ /** Sort by price */
1815
+ PriceType = "PRICE",
1816
+ /** Sort by price, in descending order */
1817
+ PriceDescType = "PRICE_DESC",
1818
+ /** Sort by relevance */
1819
+ RelevanceType = "RELEVANCE",
1820
+ /** Sort by total stock balance, including oversellable */
1821
+ TotalStockType = "TOTAL_STOCK",
1822
+ /** Sort by total stock balance, including oversellable, in descending order */
1823
+ TotalStockDescType = "TOTAL_STOCK_DESC",
1824
+ /** Sort by votes */
1825
+ VotesType = "VOTES"
1826
+ }
1827
+ /** Type containing information about SKU stock */
1828
+ export interface GeinsStockTypeType {
1829
+ /** The units available at this moment */
1830
+ inStock: Scalars['Int']['output'];
1831
+ /**
1832
+ * Incoming date
1833
+ * @deprecated Use SkuType.Incoming or VariantType.Incoming instead
1834
+ */
1835
+ incoming?: Maybe<Scalars['DateTime']['output']>;
1836
+ /** Over-sellable units */
1837
+ oversellable: Scalars['Int']['output'];
1838
+ /**
1839
+ * Shelf
1840
+ * @deprecated Use SkuType.Shelf or VariantType.Shelf instead
1841
+ */
1842
+ shelf?: Maybe<Scalars['String']['output']>;
1843
+ /** Amount of units that are always available */
1844
+ static?: Maybe<Scalars['Int']['output']>;
1845
+ /** The total units available */
1846
+ totalStock: Scalars['Int']['output'];
1847
+ }
1848
+ export interface GeinsUrlHistoryTypeType {
1849
+ newUrl: Scalars['String']['output'];
1850
+ oldUrl: Scalars['String']['output'];
1851
+ }
1852
+ export interface GeinsUserBalanceTypeType {
1853
+ amount: Scalars['Decimal']['output'];
1854
+ /** User balance amount. Formatted as a currency string. */
1855
+ amountFormatted?: Maybe<Scalars['String']['output']>;
1856
+ currency: Scalars['String']['output'];
1857
+ }
1858
+ export interface GeinsUserInputTypeType {
1859
+ address?: InputMaybe<GeinsAddressInputTypeType>;
1860
+ customerType?: InputMaybe<GeinsCustomerType>;
1861
+ gender?: InputMaybe<GeinsGender>;
1862
+ /** Free-text field to store any data related to the customer. */
1863
+ metaData?: InputMaybe<Scalars['String']['input']>;
1864
+ newsletter?: InputMaybe<Scalars['Boolean']['input']>;
1865
+ personalId?: InputMaybe<Scalars['String']['input']>;
1866
+ }
1867
+ export interface GeinsUserTypeType {
1868
+ address?: Maybe<GeinsAddressTypeType>;
1869
+ /**
1870
+ * Account balance
1871
+ * @deprecated Use Balances instead
1872
+ */
1873
+ balance: Scalars['Decimal']['output'];
1874
+ /**
1875
+ * Account balance. Formatted as a currency string.
1876
+ * @deprecated Use Balances instead
1877
+ */
1878
+ balanceFormatted?: Maybe<Scalars['String']['output']>;
1879
+ /** User balance per currency */
1880
+ balances?: Maybe<Array<Maybe<GeinsUserBalanceTypeType>>>;
1881
+ customerType?: Maybe<GeinsCustomerType>;
1882
+ email: Scalars['String']['output'];
1883
+ gender?: Maybe<GeinsGender>;
1884
+ id: Scalars['Int']['output'];
1885
+ memberId: Scalars['Int']['output'];
1886
+ memberType: Scalars['String']['output'];
1887
+ /** Free-text field that can contain any additional metadata related to the customer. */
1888
+ metaData?: Maybe<Scalars['String']['output']>;
1889
+ newsletter?: Maybe<Scalars['Boolean']['output']>;
1890
+ personalId?: Maybe<Scalars['String']['output']>;
1891
+ }
1892
+ export interface GeinsValidateOrderCreationResponseTypeType {
1893
+ isValid: Scalars['Boolean']['output'];
1894
+ memberType?: Maybe<Scalars['String']['output']>;
1895
+ message?: Maybe<Scalars['String']['output']>;
1896
+ }
1897
+ /** Type containing variant attribute information */
1898
+ export interface GeinsVariantAttributeTypeType {
1899
+ /** Attribute key */
1900
+ key: Scalars['String']['output'];
1901
+ /** Attribute value */
1902
+ value: Scalars['String']['output'];
1903
+ }
1904
+ /** Type containing variant dimension information */
1905
+ export interface GeinsVariantDimensionTypeType {
1906
+ /** Dimension attributes */
1907
+ attributes?: Maybe<Array<Maybe<GeinsVariantAttributeTypeType>>>;
1908
+ /** The dimension name */
1909
+ dimension: Scalars['String']['output'];
1910
+ /** Group values */
1911
+ group?: Maybe<Array<Maybe<GeinsVariantValueTypeType>>>;
1912
+ /** Dimension label */
1913
+ label?: Maybe<Scalars['String']['output']>;
1914
+ /** The level of this variant dimension */
1915
+ level: Scalars['Int']['output'];
1916
+ /** Dimension type. e.g. 'product' if it leads to a different product, otherwise 'selection' */
1917
+ type: Scalars['String']['output'];
1918
+ /** Dimension value */
1919
+ value?: Maybe<Scalars['String']['output']>;
1920
+ }
1921
+ /** Type containing variant group information */
1922
+ export interface GeinsVariantGroupTypeType {
1923
+ /** The amount of active products in this variant group */
1924
+ activeProducts: Scalars['Int']['output'];
1925
+ /** If true, only the main product will show up in product lists */
1926
+ collapseInLists: Scalars['Boolean']['output'];
1927
+ /** ID of the main product in this group */
1928
+ mainProductId: Scalars['Int']['output'];
1929
+ /** Variant group name */
1930
+ name: Scalars['String']['output'];
1931
+ /** Variant group ID */
1932
+ variantGroupId: Scalars['Int']['output'];
1933
+ /** Group variants */
1934
+ variants?: Maybe<Array<Maybe<GeinsVariantTypeType>>>;
1935
+ }
1936
+ /** Type containing variant information */
1937
+ export interface GeinsVariantTypeType {
1938
+ /** Alias for variant selection. e.g. 'product-4' */
1939
+ alias?: Maybe<Scalars['String']['output']>;
1940
+ /** Variant attributes */
1941
+ attributes?: Maybe<Array<Maybe<GeinsVariantAttributeTypeType>>>;
1942
+ /** Canonical URL. Only available for the 'product'-level */
1943
+ canonicalUrl?: Maybe<Scalars['String']['output']>;
1944
+ /** Variant dimension */
1945
+ dimension: Scalars['String']['output'];
1946
+ /** Incoming date */
1947
+ incoming?: Maybe<Scalars['DateTime']['output']>;
1948
+ /** Variant label */
1949
+ label?: Maybe<Scalars['String']['output']>;
1950
+ /** Level of this variant. Lower value is a more accurate selection */
1951
+ level: Scalars['Int']['output'];
1952
+ /** Variant name */
1953
+ name?: Maybe<Scalars['String']['output']>;
1954
+ /** The primary image used for the product. Only available for the 'product'-level */
1955
+ primaryImage?: Maybe<Scalars['String']['output']>;
1956
+ /** Product ID associated with this variant */
1957
+ productId: Scalars['Int']['output'];
1958
+ /** Shelf */
1959
+ shelf?: Maybe<Scalars['String']['output']>;
1960
+ /** SKU ID associated with this variant */
1961
+ skuId?: Maybe<Scalars['Int']['output']>;
1962
+ /** Stock information for variant */
1963
+ stock?: Maybe<GeinsStockTypeType>;
1964
+ /** Variant type. In order of accuracy 'sku', 'product', 'selection' */
1965
+ type: Scalars['String']['output'];
1966
+ /** Variant value */
1967
+ value?: Maybe<Scalars['String']['output']>;
1968
+ /** List of variants for this variant */
1969
+ variants?: Maybe<Array<Maybe<GeinsVariantTypeType>>>;
1970
+ }
1971
+ /** Type containing variant value information */
1972
+ export interface GeinsVariantValueTypeType {
1973
+ /** Label */
1974
+ label: Scalars['String']['output'];
1975
+ /** Value */
1976
+ value: Scalars['String']['output'];
1977
+ }
1978
+ /** Type containing VAT group information */
1979
+ export interface GeinsVatGroupTypeType {
1980
+ /** VAT amount */
1981
+ amount: Scalars['Decimal']['output'];
1982
+ /** VAT rate */
1983
+ rate: Scalars['Int']['output'];
1984
+ }
1985
+ export type GeinsMenuType = {
1986
+ id: string;
1987
+ title?: string | null;
1988
+ menuItems?: Array<{
1989
+ id: string;
1990
+ label?: string | null;
1991
+ open: boolean;
1992
+ hidden: boolean;
1993
+ targetBlank: boolean;
1994
+ type: string;
1995
+ order: number;
1996
+ title?: string | null;
1997
+ canonicalUrl?: string | null;
1998
+ children?: Array<{
1999
+ id: string;
2000
+ label?: string | null;
2001
+ open: boolean;
2002
+ hidden: boolean;
2003
+ targetBlank: boolean;
2004
+ type: string;
2005
+ order: number;
2006
+ title?: string | null;
2007
+ canonicalUrl?: string | null;
2008
+ children?: Array<{
2009
+ id: string;
2010
+ label?: string | null;
2011
+ open: boolean;
2012
+ hidden: boolean;
2013
+ targetBlank: boolean;
2014
+ type: string;
2015
+ order: number;
2016
+ title?: string | null;
2017
+ canonicalUrl?: string | null;
2018
+ } | null> | null;
2019
+ } | null> | null;
2020
+ } | null> | null;
2021
+ };
2022
+ export type GeinsMenuItemBaseType = {
2023
+ id: string;
2024
+ label?: string | null;
2025
+ open: boolean;
2026
+ hidden: boolean;
2027
+ targetBlank: boolean;
2028
+ type: string;
2029
+ order: number;
2030
+ title?: string | null;
2031
+ canonicalUrl?: string | null;
2032
+ children?: Array<{
2033
+ id: string;
2034
+ label?: string | null;
2035
+ open: boolean;
2036
+ hidden: boolean;
2037
+ targetBlank: boolean;
2038
+ type: string;
2039
+ order: number;
2040
+ title?: string | null;
2041
+ canonicalUrl?: string | null;
2042
+ children?: Array<{
2043
+ id: string;
2044
+ label?: string | null;
2045
+ open: boolean;
2046
+ hidden: boolean;
2047
+ targetBlank: boolean;
2048
+ type: string;
2049
+ order: number;
2050
+ title?: string | null;
2051
+ canonicalUrl?: string | null;
2052
+ } | null> | null;
2053
+ } | null> | null;
2054
+ };
2055
+ export type GeinsMenuItemType = {
2056
+ id: string;
2057
+ label?: string | null;
2058
+ open: boolean;
2059
+ hidden: boolean;
2060
+ targetBlank: boolean;
2061
+ type: string;
2062
+ order: number;
2063
+ title?: string | null;
2064
+ canonicalUrl?: string | null;
2065
+ };
2066
+ export type GeinsChannelFieldsType = {
2067
+ id: string;
2068
+ name: string;
2069
+ type: string;
2070
+ url: string;
2071
+ defaultLanguageId: string;
2072
+ defaultMarketId: string;
2073
+ };
2074
+ export type GeinsMarketFieldsType = {
2075
+ id: string;
2076
+ alias?: string | null;
2077
+ onlyDisplayInCheckout?: boolean | null;
2078
+ virtual?: boolean | null;
2079
+ groupKey: string;
2080
+ allowedLanguages?: Array<{
2081
+ id: string;
2082
+ name: string;
2083
+ code: string;
2084
+ } | null> | null;
2085
+ country?: {
2086
+ name: string;
2087
+ code: string;
2088
+ } | null;
2089
+ currency?: {
2090
+ code: string;
2091
+ symbol: string;
2092
+ } | null;
2093
+ };
2094
+ export type GeinsLanguageFieldsType = {
2095
+ id: string;
2096
+ name: string;
2097
+ code: string;
2098
+ };
2099
+ export type GeinsCountryFieldsType = {
2100
+ name: string;
2101
+ code: string;
2102
+ };
2103
+ export type GeinsCurrencyFieldsType = {
2104
+ code: string;
2105
+ symbol: string;
2106
+ };
2107
+ export type GeinsCartType = {
2108
+ id?: string | null;
2109
+ promoCode?: string | null;
2110
+ appliedCampaigns?: Array<{
2111
+ name?: string | null;
2112
+ hideTitle?: boolean | null;
2113
+ } | null> | null;
2114
+ items?: Array<{
2115
+ quantity: number;
2116
+ skuId: number;
2117
+ campaign?: {
2118
+ appliedCampaigns?: Array<{
2119
+ name?: string | null;
2120
+ hideTitle?: boolean | null;
2121
+ } | null> | null;
2122
+ prices?: Array<{
2123
+ quantity: number;
2124
+ price?: {
2125
+ isDiscounted: boolean;
2126
+ sellingPriceIncVat: number;
2127
+ sellingPriceExVat: number;
2128
+ regularPriceIncVat: number;
2129
+ regularPriceExVat: number;
2130
+ vat: number;
2131
+ discountPercentage: number;
2132
+ regularPriceIncVatFormatted?: string | null;
2133
+ sellingPriceIncVatFormatted?: string | null;
2134
+ regularPriceExVatFormatted?: string | null;
2135
+ sellingPriceExVatFormatted?: string | null;
2136
+ } | null;
2137
+ } | null> | null;
2138
+ } | null;
2139
+ unitPrice?: {
2140
+ isDiscounted: boolean;
2141
+ sellingPriceIncVat: number;
2142
+ sellingPriceExVat: number;
2143
+ regularPriceIncVat: number;
2144
+ regularPriceExVat: number;
2145
+ vat: number;
2146
+ discountPercentage: number;
2147
+ regularPriceIncVatFormatted?: string | null;
2148
+ sellingPriceIncVatFormatted?: string | null;
2149
+ regularPriceExVatFormatted?: string | null;
2150
+ sellingPriceExVatFormatted?: string | null;
2151
+ } | null;
2152
+ product?: {
2153
+ productId: number;
2154
+ articleNumber?: string | null;
2155
+ name?: string | null;
2156
+ alias: string;
2157
+ canonicalUrl?: string | null;
2158
+ brand?: {
2159
+ name?: string | null;
2160
+ } | null;
2161
+ productImages?: Array<{
2162
+ fileName: string;
2163
+ } | null> | null;
2164
+ primaryCategory?: {
2165
+ name: string;
2166
+ } | null;
2167
+ skus?: Array<{
2168
+ skuId: number;
2169
+ name?: string | null;
2170
+ stock?: {
2171
+ inStock: number;
2172
+ oversellable: number;
2173
+ totalStock: number;
2174
+ static?: number | null;
2175
+ incoming?: string | null;
2176
+ } | null;
2177
+ } | null> | null;
2178
+ unitPrice?: {
2179
+ isDiscounted: boolean;
2180
+ sellingPriceIncVat: number;
2181
+ sellingPriceExVat: number;
2182
+ regularPriceIncVat: number;
2183
+ regularPriceExVat: number;
2184
+ vat: number;
2185
+ discountPercentage: number;
2186
+ regularPriceIncVatFormatted?: string | null;
2187
+ sellingPriceIncVatFormatted?: string | null;
2188
+ regularPriceExVatFormatted?: string | null;
2189
+ sellingPriceExVatFormatted?: string | null;
2190
+ } | null;
2191
+ } | null;
2192
+ totalPrice?: {
2193
+ isDiscounted: boolean;
2194
+ sellingPriceIncVat: number;
2195
+ sellingPriceExVat: number;
2196
+ regularPriceIncVat: number;
2197
+ regularPriceExVat: number;
2198
+ vat: number;
2199
+ discountPercentage: number;
2200
+ regularPriceIncVatFormatted?: string | null;
2201
+ sellingPriceIncVatFormatted?: string | null;
2202
+ regularPriceExVatFormatted?: string | null;
2203
+ sellingPriceExVatFormatted?: string | null;
2204
+ } | null;
2205
+ } | null> | null;
2206
+ summary?: {
2207
+ fixedAmountDiscountIncVat: number;
2208
+ fixedAmountDiscountExVat: number;
2209
+ balance?: {
2210
+ pending: number;
2211
+ pendingFormatted?: string | null;
2212
+ totalSellingPriceExBalanceExVat: number;
2213
+ totalSellingPriceExBalanceIncVat: number;
2214
+ totalSellingPriceExBalanceIncVatFormatted?: string | null;
2215
+ } | null;
2216
+ subTotal?: {
2217
+ regularPriceIncVatFormatted?: string | null;
2218
+ regularPriceExVatFormatted?: string | null;
2219
+ sellingPriceIncVatFormatted?: string | null;
2220
+ sellingPriceExVatFormatted?: string | null;
2221
+ sellingPriceExVat: number;
2222
+ sellingPriceIncVat: number;
2223
+ vat: number;
2224
+ } | null;
2225
+ shipping?: {
2226
+ amountLeftToFreeShipping: number;
2227
+ amountLeftToFreeShippingFormatted?: string | null;
2228
+ feeExVatFormatted?: string | null;
2229
+ feeIncVatFormatted?: string | null;
2230
+ feeIncVat: number;
2231
+ feeExVat: number;
2232
+ isDefault: boolean;
2233
+ } | null;
2234
+ total?: {
2235
+ isDiscounted: boolean;
2236
+ sellingPriceIncVatFormatted?: string | null;
2237
+ sellingPriceExVatFormatted?: string | null;
2238
+ sellingPriceIncVat: number;
2239
+ sellingPriceExVat: number;
2240
+ discountIncVatFormatted?: string | null;
2241
+ discountExVatFormatted?: string | null;
2242
+ discountExVat: number;
2243
+ discountIncVat: number;
2244
+ vatFormatted?: string | null;
2245
+ vat: number;
2246
+ } | null;
2247
+ } | null;
2248
+ };
2249
+ export type GeinsPriceType = {
2250
+ isDiscounted: boolean;
2251
+ sellingPriceIncVat: number;
2252
+ sellingPriceExVat: number;
2253
+ regularPriceIncVat: number;
2254
+ regularPriceExVat: number;
2255
+ vat: number;
2256
+ discountPercentage: number;
2257
+ regularPriceIncVatFormatted?: string | null;
2258
+ sellingPriceIncVatFormatted?: string | null;
2259
+ regularPriceExVatFormatted?: string | null;
2260
+ sellingPriceExVatFormatted?: string | null;
2261
+ };
2262
+ export type GeinsStockType = {
2263
+ inStock: number;
2264
+ oversellable: number;
2265
+ totalStock: number;
2266
+ static?: number | null;
2267
+ incoming?: string | null;
2268
+ };
2269
+ export type GeinsAddressType = {
2270
+ firstName: string;
2271
+ lastName: string;
2272
+ company: string;
2273
+ mobile: string;
2274
+ phone: string;
2275
+ careOf: string;
2276
+ entryCode: string;
2277
+ addressLine1: string;
2278
+ addressLine2: string;
2279
+ addressLine3: string;
2280
+ zip: string;
2281
+ city: string;
2282
+ state: string;
2283
+ country: string;
2284
+ };
2285
+ export type GeinsUserType = {
2286
+ id: number;
2287
+ email: string;
2288
+ personalId?: string | null;
2289
+ customerType?: GeinsCustomerType | null;
2290
+ gender?: GeinsGender | null;
2291
+ metaData?: string | null;
2292
+ address?: {
2293
+ firstName: string;
2294
+ lastName: string;
2295
+ company: string;
2296
+ mobile: string;
2297
+ phone: string;
2298
+ careOf: string;
2299
+ entryCode: string;
2300
+ addressLine1: string;
2301
+ addressLine2: string;
2302
+ addressLine3: string;
2303
+ zip: string;
2304
+ city: string;
2305
+ state: string;
2306
+ country: string;
2307
+ } | null;
2308
+ balances?: Array<{
2309
+ currency: string;
2310
+ amount: number;
2311
+ } | null> | null;
2312
+ };
2313
+ export type GeinsUserBalanceType = {
2314
+ currency: string;
2315
+ amount: number;
2316
+ };
2317
+ export type GeinsMenuAtLocationVariablesType = Exact<{
2318
+ menuLocationId?: InputMaybe<Scalars['String']['input']>;
2319
+ channelId?: InputMaybe<Scalars['String']['input']>;
2320
+ languageId?: InputMaybe<Scalars['String']['input']>;
2321
+ marketId?: InputMaybe<Scalars['String']['input']>;
2322
+ }> | undefined;
2323
+ export type GeinsMenuAtLocationType = {
2324
+ getMenuAtLocation?: {
2325
+ id: string;
2326
+ title?: string | null;
2327
+ menuItems?: Array<{
2328
+ id: string;
2329
+ label?: string | null;
2330
+ open: boolean;
2331
+ hidden: boolean;
2332
+ targetBlank: boolean;
2333
+ type: string;
2334
+ order: number;
2335
+ title?: string | null;
2336
+ canonicalUrl?: string | null;
2337
+ children?: Array<{
2338
+ id: string;
2339
+ label?: string | null;
2340
+ open: boolean;
2341
+ hidden: boolean;
2342
+ targetBlank: boolean;
2343
+ type: string;
2344
+ order: number;
2345
+ title?: string | null;
2346
+ canonicalUrl?: string | null;
2347
+ children?: Array<{
2348
+ id: string;
2349
+ label?: string | null;
2350
+ open: boolean;
2351
+ hidden: boolean;
2352
+ targetBlank: boolean;
2353
+ type: string;
2354
+ order: number;
2355
+ title?: string | null;
2356
+ canonicalUrl?: string | null;
2357
+ } | null> | null;
2358
+ } | null> | null;
2359
+ } | null> | null;
2360
+ } | null;
2361
+ };
2362
+ export type GeinsGetChannelVariablesType = Exact<{
2363
+ channelId?: InputMaybe<Scalars['String']['input']>;
2364
+ }> | undefined;
2365
+ export type GeinsGetChannelType = {
2366
+ channel?: {
2367
+ id: string;
2368
+ name: string;
2369
+ type: string;
2370
+ url: string;
2371
+ defaultLanguageId: string;
2372
+ defaultMarketId: string;
2373
+ markets?: Array<{
2374
+ id: string;
2375
+ alias?: string | null;
2376
+ onlyDisplayInCheckout?: boolean | null;
2377
+ virtual?: boolean | null;
2378
+ groupKey: string;
2379
+ allowedLanguages?: Array<{
2380
+ id: string;
2381
+ name: string;
2382
+ code: string;
2383
+ } | null> | null;
2384
+ country?: {
2385
+ name: string;
2386
+ code: string;
2387
+ } | null;
2388
+ currency?: {
2389
+ code: string;
2390
+ symbol: string;
2391
+ } | null;
2392
+ } | null> | null;
2393
+ languages?: Array<{
2394
+ id: string;
2395
+ name: string;
2396
+ code: string;
2397
+ } | null> | null;
2398
+ } | null;
2399
+ };
2400
+ export type GeinsGetChannelsVariablesType = Exact<{
2401
+ [key: string]: never;
2402
+ }> | undefined;
2403
+ export type GeinsGetChannelsType = {
2404
+ channels?: Array<{
2405
+ id: string;
2406
+ name: string;
2407
+ type: string;
2408
+ url: string;
2409
+ defaultLanguageId: string;
2410
+ defaultMarketId: string;
2411
+ markets?: Array<{
2412
+ id: string;
2413
+ alias?: string | null;
2414
+ onlyDisplayInCheckout?: boolean | null;
2415
+ virtual?: boolean | null;
2416
+ groupKey: string;
2417
+ allowedLanguages?: Array<{
2418
+ id: string;
2419
+ name: string;
2420
+ code: string;
2421
+ } | null> | null;
2422
+ country?: {
2423
+ name: string;
2424
+ code: string;
2425
+ } | null;
2426
+ currency?: {
2427
+ code: string;
2428
+ symbol: string;
2429
+ } | null;
2430
+ } | null> | null;
2431
+ languages?: Array<{
2432
+ id: string;
2433
+ name: string;
2434
+ code: string;
2435
+ } | null> | null;
2436
+ } | null> | null;
2437
+ };
2438
+ export type GeinsUserPasswordResetCommitVariablesType = Exact<{
2439
+ resetKey: Scalars['String']['input'];
2440
+ password: Scalars['String']['input'];
2441
+ channelId?: InputMaybe<Scalars['String']['input']>;
2442
+ languageId?: InputMaybe<Scalars['String']['input']>;
2443
+ marketId?: InputMaybe<Scalars['String']['input']>;
2444
+ }>;
2445
+ export type GeinsUserPasswordResetCommitType = {
2446
+ commitReset?: boolean | null;
2447
+ };
2448
+ export type GeinsUserRequestPasswordResetVariablesType = Exact<{
2449
+ email: Scalars['String']['input'];
2450
+ channelId?: InputMaybe<Scalars['String']['input']>;
2451
+ languageId?: InputMaybe<Scalars['String']['input']>;
2452
+ marketId?: InputMaybe<Scalars['String']['input']>;
2453
+ }>;
2454
+ export type GeinsUserRequestPasswordResetType = {
2455
+ requestPasswordReset?: boolean | null;
2456
+ };
2457
+ export type GeinsUserOrdersVariablesType = Exact<{
2458
+ channelId?: InputMaybe<Scalars['String']['input']>;
2459
+ languageId?: InputMaybe<Scalars['String']['input']>;
2460
+ marketId?: InputMaybe<Scalars['String']['input']>;
2461
+ }> | undefined;
2462
+ export type GeinsUserOrdersType = {
2463
+ getOrders?: Array<{
2464
+ createdAt?: string | null;
2465
+ id?: number | null;
2466
+ status: string;
2467
+ cart?: {
2468
+ id?: string | null;
2469
+ promoCode?: string | null;
2470
+ appliedCampaigns?: Array<{
2471
+ name?: string | null;
2472
+ hideTitle?: boolean | null;
2473
+ } | null> | null;
2474
+ items?: Array<{
2475
+ quantity: number;
2476
+ skuId: number;
2477
+ campaign?: {
2478
+ appliedCampaigns?: Array<{
2479
+ name?: string | null;
2480
+ hideTitle?: boolean | null;
2481
+ } | null> | null;
2482
+ prices?: Array<{
2483
+ quantity: number;
2484
+ price?: {
2485
+ isDiscounted: boolean;
2486
+ sellingPriceIncVat: number;
2487
+ sellingPriceExVat: number;
2488
+ regularPriceIncVat: number;
2489
+ regularPriceExVat: number;
2490
+ vat: number;
2491
+ discountPercentage: number;
2492
+ regularPriceIncVatFormatted?: string | null;
2493
+ sellingPriceIncVatFormatted?: string | null;
2494
+ regularPriceExVatFormatted?: string | null;
2495
+ sellingPriceExVatFormatted?: string | null;
2496
+ } | null;
2497
+ } | null> | null;
2498
+ } | null;
2499
+ unitPrice?: {
2500
+ isDiscounted: boolean;
2501
+ sellingPriceIncVat: number;
2502
+ sellingPriceExVat: number;
2503
+ regularPriceIncVat: number;
2504
+ regularPriceExVat: number;
2505
+ vat: number;
2506
+ discountPercentage: number;
2507
+ regularPriceIncVatFormatted?: string | null;
2508
+ sellingPriceIncVatFormatted?: string | null;
2509
+ regularPriceExVatFormatted?: string | null;
2510
+ sellingPriceExVatFormatted?: string | null;
2511
+ } | null;
2512
+ product?: {
2513
+ productId: number;
2514
+ articleNumber?: string | null;
2515
+ name?: string | null;
2516
+ alias: string;
2517
+ canonicalUrl?: string | null;
2518
+ brand?: {
2519
+ name?: string | null;
2520
+ } | null;
2521
+ productImages?: Array<{
2522
+ fileName: string;
2523
+ } | null> | null;
2524
+ primaryCategory?: {
2525
+ name: string;
2526
+ } | null;
2527
+ skus?: Array<{
2528
+ skuId: number;
2529
+ name?: string | null;
2530
+ stock?: {
2531
+ inStock: number;
2532
+ oversellable: number;
2533
+ totalStock: number;
2534
+ static?: number | null;
2535
+ incoming?: string | null;
2536
+ } | null;
2537
+ } | null> | null;
2538
+ unitPrice?: {
2539
+ isDiscounted: boolean;
2540
+ sellingPriceIncVat: number;
2541
+ sellingPriceExVat: number;
2542
+ regularPriceIncVat: number;
2543
+ regularPriceExVat: number;
2544
+ vat: number;
2545
+ discountPercentage: number;
2546
+ regularPriceIncVatFormatted?: string | null;
2547
+ sellingPriceIncVatFormatted?: string | null;
2548
+ regularPriceExVatFormatted?: string | null;
2549
+ sellingPriceExVatFormatted?: string | null;
2550
+ } | null;
2551
+ } | null;
2552
+ totalPrice?: {
2553
+ isDiscounted: boolean;
2554
+ sellingPriceIncVat: number;
2555
+ sellingPriceExVat: number;
2556
+ regularPriceIncVat: number;
2557
+ regularPriceExVat: number;
2558
+ vat: number;
2559
+ discountPercentage: number;
2560
+ regularPriceIncVatFormatted?: string | null;
2561
+ sellingPriceIncVatFormatted?: string | null;
2562
+ regularPriceExVatFormatted?: string | null;
2563
+ sellingPriceExVatFormatted?: string | null;
2564
+ } | null;
2565
+ } | null> | null;
2566
+ summary?: {
2567
+ fixedAmountDiscountIncVat: number;
2568
+ fixedAmountDiscountExVat: number;
2569
+ balance?: {
2570
+ pending: number;
2571
+ pendingFormatted?: string | null;
2572
+ totalSellingPriceExBalanceExVat: number;
2573
+ totalSellingPriceExBalanceIncVat: number;
2574
+ totalSellingPriceExBalanceIncVatFormatted?: string | null;
2575
+ } | null;
2576
+ subTotal?: {
2577
+ regularPriceIncVatFormatted?: string | null;
2578
+ regularPriceExVatFormatted?: string | null;
2579
+ sellingPriceIncVatFormatted?: string | null;
2580
+ sellingPriceExVatFormatted?: string | null;
2581
+ sellingPriceExVat: number;
2582
+ sellingPriceIncVat: number;
2583
+ vat: number;
2584
+ } | null;
2585
+ shipping?: {
2586
+ amountLeftToFreeShipping: number;
2587
+ amountLeftToFreeShippingFormatted?: string | null;
2588
+ feeExVatFormatted?: string | null;
2589
+ feeIncVatFormatted?: string | null;
2590
+ feeIncVat: number;
2591
+ feeExVat: number;
2592
+ isDefault: boolean;
2593
+ } | null;
2594
+ total?: {
2595
+ isDiscounted: boolean;
2596
+ sellingPriceIncVatFormatted?: string | null;
2597
+ sellingPriceExVatFormatted?: string | null;
2598
+ sellingPriceIncVat: number;
2599
+ sellingPriceExVat: number;
2600
+ discountIncVatFormatted?: string | null;
2601
+ discountExVatFormatted?: string | null;
2602
+ discountExVat: number;
2603
+ discountIncVat: number;
2604
+ vatFormatted?: string | null;
2605
+ vat: number;
2606
+ } | null;
2607
+ } | null;
2608
+ } | null;
2609
+ billingAddress?: {
2610
+ firstName: string;
2611
+ lastName: string;
2612
+ company: string;
2613
+ mobile: string;
2614
+ phone: string;
2615
+ careOf: string;
2616
+ entryCode: string;
2617
+ addressLine1: string;
2618
+ addressLine2: string;
2619
+ addressLine3: string;
2620
+ zip: string;
2621
+ city: string;
2622
+ state: string;
2623
+ country: string;
2624
+ } | null;
2625
+ shippingAddress?: {
2626
+ firstName: string;
2627
+ lastName: string;
2628
+ company: string;
2629
+ mobile: string;
2630
+ phone: string;
2631
+ careOf: string;
2632
+ entryCode: string;
2633
+ addressLine1: string;
2634
+ addressLine2: string;
2635
+ addressLine3: string;
2636
+ zip: string;
2637
+ city: string;
2638
+ state: string;
2639
+ country: string;
2640
+ } | null;
2641
+ shippingDetails?: Array<{
2642
+ name: string;
2643
+ trackingLink?: string | null;
2644
+ } | null> | null;
2645
+ paymentDetails?: Array<{
2646
+ displayName: string;
2647
+ } | null> | null;
2648
+ refunds?: Array<{
2649
+ id: number;
2650
+ itemId: number;
2651
+ createdAt: string;
2652
+ reason?: string | null;
2653
+ total: number;
2654
+ vat: number;
2655
+ } | null> | null;
2656
+ } | null> | null;
2657
+ };
2658
+ export type GeinsUserDeleteVariablesType = Exact<{
2659
+ [key: string]: never;
2660
+ }>;
2661
+ export type GeinsUserDeleteType = {
2662
+ deleteUser?: boolean | null;
2663
+ };
2664
+ export type GeinsUserGetVariablesType = Exact<{
2665
+ [key: string]: never;
2666
+ }> | undefined;
2667
+ export type GeinsUserGetType = {
2668
+ getUser?: {
2669
+ id: number;
2670
+ email: string;
2671
+ personalId?: string | null;
2672
+ customerType?: GeinsCustomerType | null;
2673
+ gender?: GeinsGender | null;
2674
+ metaData?: string | null;
2675
+ address?: {
2676
+ firstName: string;
2677
+ lastName: string;
2678
+ company: string;
2679
+ mobile: string;
2680
+ phone: string;
2681
+ careOf: string;
2682
+ entryCode: string;
2683
+ addressLine1: string;
2684
+ addressLine2: string;
2685
+ addressLine3: string;
2686
+ zip: string;
2687
+ city: string;
2688
+ state: string;
2689
+ country: string;
2690
+ } | null;
2691
+ balances?: Array<{
2692
+ currency: string;
2693
+ amount: number;
2694
+ } | null> | null;
2695
+ } | null;
2696
+ };
2697
+ export type GeinsUserCreateVariablesType = Exact<{
2698
+ user: GeinsUserInputTypeType;
2699
+ channelId?: InputMaybe<Scalars['String']['input']>;
2700
+ languageId?: InputMaybe<Scalars['String']['input']>;
2701
+ marketId?: InputMaybe<Scalars['String']['input']>;
2702
+ }>;
2703
+ export type GeinsUserCreateType = {
2704
+ updateUser?: {
2705
+ email: string;
2706
+ } | null;
2707
+ };
2708
+ export type GeinsUserUpdateVariablesType = Exact<{
2709
+ user: GeinsUserInputTypeType;
2710
+ channelId?: InputMaybe<Scalars['String']['input']>;
2711
+ languageId?: InputMaybe<Scalars['String']['input']>;
2712
+ marketId?: InputMaybe<Scalars['String']['input']>;
2713
+ }>;
2714
+ export type GeinsUserUpdateType = {
2715
+ updateUser?: {
2716
+ id: number;
2717
+ email: string;
2718
+ personalId?: string | null;
2719
+ customerType?: GeinsCustomerType | null;
2720
+ gender?: GeinsGender | null;
2721
+ metaData?: string | null;
2722
+ address?: {
2723
+ firstName: string;
2724
+ lastName: string;
2725
+ company: string;
2726
+ mobile: string;
2727
+ phone: string;
2728
+ careOf: string;
2729
+ entryCode: string;
2730
+ addressLine1: string;
2731
+ addressLine2: string;
2732
+ addressLine3: string;
2733
+ zip: string;
2734
+ city: string;
2735
+ state: string;
2736
+ country: string;
2737
+ } | null;
2738
+ balances?: Array<{
2739
+ currency: string;
2740
+ amount: number;
2741
+ } | null> | null;
2742
+ } | null;
2743
+ };
2744
+ /**
2745
+ * @typedef {Object} AddressInputType
2746
+ * @property {string} [addressLine1]
2747
+ * @property {string} [addressLine2]
2748
+ * @property {string} [addressLine3]
2749
+ * @property {string} [careOf]
2750
+ * @property {string} [city]
2751
+ * @property {string} [company]
2752
+ * @property {string} [country]
2753
+ * @property {string} [entryCode]
2754
+ * @property {string} [firstName]
2755
+ * @property {string} [lastName]
2756
+ * @property {string} [mobile]
2757
+ * @property {string} [phone]
2758
+ * @property {string} [state]
2759
+ * @property {string} [zip]
2760
+ */
2761
+ /**
2762
+ * @typedef {Object} AddressType
2763
+ * @property {string} addressLine1
2764
+ * @property {string} addressLine2
2765
+ * @property {string} addressLine3
2766
+ * @property {string} careOf
2767
+ * @property {string} city
2768
+ * @property {string} company
2769
+ * @property {string} country
2770
+ * @property {string} entryCode
2771
+ * @property {string} firstName
2772
+ * @property {string} lastName
2773
+ * @property {string} mobile
2774
+ * @property {string} phone
2775
+ * @property {string} state
2776
+ * @property {string} zip
2777
+ */
2778
+ /**
2779
+ * Type containing information about alternative urls to an entity
2780
+ * @typedef {Object} AlternativeUrlType
2781
+ * @property {string} channelId - The id of the channel that the alternative url exists on
2782
+ * @property {string} [country] - The country code of the alternative url
2783
+ * @property {string} culture - The culture of the alternative url
2784
+ * @property {string} language - The language code of the alternative url
2785
+ * @property {string} url - Alternative url
2786
+ */
2787
+ /**
2788
+ * Type containing account balance information
2789
+ * @typedef {Object} BalanceType
2790
+ * @property {Decimal} pending - The amount that will be used for this order
2791
+ * @property {string} [pendingFormatted] - Pending balance, formatted as a currency string
2792
+ * @property {Decimal} remaining - The remaining account balance
2793
+ * @property {string} [remainingFormatted] - Remaining account balance, formatted as a currency string
2794
+ * @property {Decimal} totalSellingPriceExBalanceExVat - The cart total selling price excl. VAT if balance hadn't been withdrawn.
2795
+ * @property {string} [totalSellingPriceExBalanceExVatFormatted] - Cart total excl. VAT, excl. balance, formatted as a currency string
2796
+ * @property {Decimal} totalSellingPriceExBalanceIncVat - The cart total selling price incl. VAT if balance hadn't been withdrawn .
2797
+ * @property {string} [totalSellingPriceExBalanceIncVatFormatted] - Cart total incl. VAT, excl. balance, formatted as a currency string
2798
+ */
2799
+ /**
2800
+ * Type containing brand listing information
2801
+ * @typedef {Object} BrandListType
2802
+ * @property {string} [alias] - Brand alias
2803
+ * @property {Array<(string|null|undefined)>} [alternativeCanonicalUrls] - Alternative full paths to the brand - DEPRECATED: Use AlternativeUrls instead.
2804
+ * @property {Array<(AlternativeUrlType|null|undefined)>} [alternativeUrls] - Alternative urls to the brand
2805
+ * @property {string} [backgroundImage] - Background image
2806
+ * @property {number} brandId - Brand ID
2807
+ * @property {string} [canonicalUrl] - The full path for this brand. e.g. '/l/brand-1'
2808
+ * @property {string} [description] - Brand description
2809
+ * @property {string} [logo] - Brand logo
2810
+ * @property {string} [name] - Brand name
2811
+ * @property {string} [primaryImage] - Primary image
2812
+ * @property {string} [secondaryDescription] - Secondary description
2813
+ */
2814
+ /**
2815
+ * Type containing brand information
2816
+ * @typedef {Object} BrandType
2817
+ * @property {string} [alias] - Brand alias
2818
+ * @property {Array<(string|null|undefined)>} [alternativeCanonicalUrls] - Alternative full paths to the brand - DEPRECATED: Use AlternativeUrls instead.
2819
+ * @property {Array<(AlternativeUrlType|null|undefined)>} [alternativeUrls] - Alternative urls to the brand
2820
+ * @property {number} brandId - Brand ID
2821
+ * @property {string} [canonicalUrl] - The full path for this brand. e.g. '/l/brand-1'
2822
+ * @property {string} [description] - Brand description
2823
+ * @property {string} [name] - Brand name
2824
+ */
2825
+ /**
2826
+ * Type containing breadcrumb information
2827
+ * @typedef {Object} BreadcrumbType
2828
+ * @property {number} categoryId - Category ID
2829
+ * @property {string} name - Breadcrumb display name
2830
+ * @property {number} parentCategoryId - Parent category ID
2831
+ * @property {string} [url] - Breadcrumb path
2832
+ */
2833
+ /**
2834
+ * Type containing campaign price information
2835
+ * @typedef {Object} CampaignPriceType
2836
+ * @property {Decimal} discount - Campaign price discount
2837
+ * @property {Decimal} discountPercentage - Campaign price discount percentage
2838
+ * @property {PriceType} [price] - Campaign price
2839
+ * @property {number} quantity - Campaign price quantity
2840
+ */
2841
+ /**
2842
+ * Type containing campaign rule information
2843
+ * @typedef {Object} CampaignRuleType
2844
+ * @property {string} [action] - Campaign action
2845
+ * @property {string} [actionValue] - Campaign action value
2846
+ * @property {string} campaignId - Campaign ID
2847
+ * @property {string} [canonicalUrl] - The url to this campaign, if any
2848
+ * @property {string} [category] - Campaign category
2849
+ * @property {boolean} [hideTitle] - Whether to hide the campaign title
2850
+ * @property {string} [name] - Campaign name
2851
+ * @property {string} [ruleType] - Campaign rule type
2852
+ */
2853
+ /**
2854
+ * Type containing campaign information
2855
+ * @typedef {Object} CampaignType
2856
+ * @property {Array<(CampaignRuleType|null|undefined)>} [appliedCampaigns] - Applied campaigns
2857
+ * @property {Array<(CampaignPriceType|null|undefined)>} [prices] - Campaign prices
2858
+ */
2859
+ /**
2860
+ * Type containing information about cart fees
2861
+ * @typedef {Object} CartFeesType
2862
+ * @property {Decimal} paymentFeeExVat - Payment fee excl. VAT
2863
+ * @property {Decimal} paymentFeeIncVat - Payment fee incl. VAT
2864
+ * @property {Decimal} shippingFeeExVat - Shipping fee excl. VAT
2865
+ * @property {Decimal} shippingFeeIncVat - Shipping fee incl. VAT
2866
+ */
2867
+ /**
2868
+ * @typedef {Object} CartGroupInputType
2869
+ * @property {string} [groupKey]
2870
+ * @property {number} quantity
2871
+ */
2872
+ /**
2873
+ * @typedef {Object} CartItemInputType
2874
+ * @property {string} [groupKey]
2875
+ * @property {string} [id]
2876
+ * @property {string} [message]
2877
+ * @property {number} quantity
2878
+ * @property {number} [skuId]
2879
+ */
2880
+ /**
2881
+ * Type containing cart item information
2882
+ * @typedef {Object} CartItemType
2883
+ * @property {CampaignType} [campaign] - Campaign
2884
+ * @property {string} [groupKey] - The key of the group that this cart item belong to
2885
+ * @property {string} id - Cart item Id
2886
+ * @property {string} [message] - Custom message
2887
+ * @property {ProductType} [product] - Product
2888
+ * @property {ProductPackageCartItemType} [productPackage] - Contains package meta data if the cart item was part of package
2889
+ * @property {number} quantity - Quantity
2890
+ * @property {number} skuId - SKU Id
2891
+ * @property {PriceType} [totalPrice] - Total price
2892
+ * @property {PriceType} [unitPrice] - Price per unit
2893
+ */
2894
+ /**
2895
+ * Type containing cart summary information
2896
+ * @typedef {Object} CartSummaryType
2897
+ * @property {BalanceType} [balance] - Account balance information
2898
+ * @property {CartFeesType} [fees] - Cart fee information
2899
+ * @property {Decimal} fixedAmountDiscountExVat - Cart fixed discount amount excl. VAT
2900
+ * @property {Decimal} fixedAmountDiscountIncVat - Cart fixed discount amount incl. VAT
2901
+ * @property {PaymentOptionType} [payment] - Cart payment option information
2902
+ * @property {ShippingOptionType} [shipping] - Cart shipping option information
2903
+ * @property {PriceType} [subTotal] - Cart sub-total
2904
+ * @property {PriceType} [total] - Cart total
2905
+ * @property {Array<(VatGroupType|null|undefined)>} [vats] - Cart VAT information
2906
+ */
2907
+ /**
2908
+ * Type containing cart information
2909
+ * @typedef {Object} CartType
2910
+ * @property {Array<(CampaignRuleType|null|undefined)>} [appliedCampaigns] - Campaigns applied to this cart
2911
+ * @property {Decimal} fixedDiscount - Cart fixed discount
2912
+ * @property {boolean} freeShipping - Whether the cart has free shipping
2913
+ * @property {string} [id] - The cart ID
2914
+ * @property {boolean} isCompleted - If true, the cart can not be modified further
2915
+ * @property {Array<(CartItemType|null|undefined)>} [items] - The cart items
2916
+ * @property {string} [promoCode] - Cart promo code
2917
+ * @property {CartSummaryType} [summary] - The cart summary
2918
+ */
2919
+ /**
2920
+ * Type containing category information
2921
+ * @typedef {Object} CategoryType
2922
+ * @property {string} [alias] - Category alias
2923
+ * @property {Array<(string|null|undefined)>} [alternativeCanonicalUrls] - Alternative full paths to the category - DEPRECATED: Use AlternativeUrls instead.
2924
+ * @property {Array<(AlternativeUrlType|null|undefined)>} [alternativeUrls] - Alternative urls to the category
2925
+ * @property {string} [backgroundImage] - Background image
2926
+ * @property {string} canonicalUrl - The full path to the category. e.g. '/l/category-1'
2927
+ * @property {number} categoryId - Category ID
2928
+ * @property {string} [description] - Category description
2929
+ * @property {GoogleTaxonomyType} [googleTaxonomy] - Google taxonomy data for this category
2930
+ * @property {boolean} [isHidden] - Category is hidden
2931
+ * @property {string} name - Category name
2932
+ * @property {number} order - Category display order
2933
+ * @property {number} parentCategoryId - Parent category ID
2934
+ * @property {string} [primaryImage] - Primary image
2935
+ * @property {string} [secondaryDescription] - Category secondary description
2936
+ */
2937
+ /**
2938
+ * Type containing all information about the channel-type
2939
+ * @typedef {Object} ChannelType
2940
+ * @property {string} defaultLanguageId - Default language ID used if no other is specified, or an invalid is supplied.
2941
+ * @property {string} defaultMarketId - Default market ID used if no other is specified, or an invalid is supplied.
2942
+ * @property {string} id - ID
2943
+ * @property {Array<(LanguageType|null|undefined)>} [languages]
2944
+ * @property {Array<(MarketType|null|undefined)>} [markets]
2945
+ * @property {string} name - Name
2946
+ * @property {string} type - Type
2947
+ * @property {string} url - Base URL
2948
+ */
2949
+ /**
2950
+ * @typedef {Object} CheckoutAndOrderType
2951
+ * @property {string} htmlSnippet - HTML-snippet
2952
+ * @property {CheckoutOrderType} [order] - Order details
2953
+ */
2954
+ /**
2955
+ * @typedef {Object} CheckoutDataType
2956
+ * @property {CartType} [cart] - The order details represented as a cart object.
2957
+ * @property {boolean} [completed] - Indicates if the purchase has been completed. This may not be available for all payment types
2958
+ * @property {string} [htmlSnippet] - HTML-snippet
2959
+ * @property {boolean} newCheckoutSession - True if this is a new checkout session
2960
+ * @property {number} nthPurchase - The total number of purchases that the customer has done including this one
2961
+ * @property {CheckoutOrderType} [order] - Order details
2962
+ */
2963
+ /**
2964
+ * @typedef {Object} CheckoutInputType
2965
+ * @property {Array<(string|null|undefined)>} [acceptedConsents]
2966
+ * @property {AddressInputType} [billingAddress]
2967
+ * @property {CustomerType} [customerType]
2968
+ * @property {DateTime} [desiredDeliveryDate]
2969
+ * @property {string} [email]
2970
+ * @property {Decimal} [externalShippingFee]
2971
+ * @property {string} [externalShippingId]
2972
+ * @property {string} [identityNumber]
2973
+ * @property {string} [merchantData]
2974
+ * @property {string} [message]
2975
+ * @property {number} [paymentId]
2976
+ * @property {string} [pickupPoint]
2977
+ * @property {AddressInputType} [shippingAddress]
2978
+ * @property {number} [shippingId]
2979
+ */
2980
+ /**
2981
+ * @typedef {Object} CheckoutOrderRowType
2982
+ * @property {string} [articleNumber] - Article number
2983
+ * @property {string} [brand] - Brand name
2984
+ * @property {Array<(string|null|undefined)>} [campaignIds] - Campaign IDs
2985
+ * @property {Array<(string|null|undefined)>} [campaignNames] - Campaign names
2986
+ * @property {Array<(string|null|undefined)>} [categories] - Categories
2987
+ * @property {Decimal} discountExVat - Discount excl. VAT
2988
+ * @property {Decimal} discountIncVat - Discount incl. VAT
2989
+ * @property {number} discountRate - Discount rate
2990
+ * @property {string} [externalId] - ExternalId
2991
+ * @property {string} [gtin] - GTIN
2992
+ * @property {number} height - Height
2993
+ * @property {string} [imageUrl] - Product image URL
2994
+ * @property {number} length - Length
2995
+ * @property {string} [message] - Message
2996
+ * @property {string} [name] - Name
2997
+ * @property {Decimal} priceExVat - Price excl. VAT
2998
+ * @property {Decimal} priceIncVat - Price incl. VAT
2999
+ * @property {number} productId - ProductId
3000
+ * @property {number} [productPriceCampaignId] - ProductPriceCampaignId
3001
+ * @property {number} [productPriceListId] - Product price list ID
3002
+ * @property {string} [productUrl] - ProductUrl
3003
+ * @property {number} quantity - Quantity
3004
+ * @property {string} [sku] - SKU
3005
+ * @property {string} [variant] - Variant
3006
+ * @property {number} weight - Weight
3007
+ * @property {number} width - Width
3008
+ */
3009
+ /**
3010
+ * @typedef {Object} CheckoutOrderType
3011
+ * @property {Array<(string|null|undefined)>} [campaignIds] - Campaign IDs
3012
+ * @property {Array<(string|null|undefined)>} [campaignNames] - Campaign names
3013
+ * @property {string} [currency] - Currency
3014
+ * @property {Decimal} discountExVat - Discount excl. VAT
3015
+ * @property {Decimal} discountIncVat - Discount incl. VAT
3016
+ * @property {string} [email] - E-mail
3017
+ * @property {string} [firstName] - First name
3018
+ * @property {Decimal} itemValueExVat - Item-value excl. VAT
3019
+ * @property {Decimal} itemValueIncVat - Item-value incl. VAT
3020
+ * @property {string} [lastName] - Last name
3021
+ * @property {string} marketId - Market ID.
3022
+ * @property {string} [message] - Order message
3023
+ * @property {string} [orderId] - Order ID
3024
+ * @property {Decimal} orderValueExVat - Order excl. VAT
3025
+ * @property {Decimal} orderValueIncVat - Order incl. VAT
3026
+ * @property {Decimal} paymentFeeExVat - Payment excl. VAT
3027
+ * @property {Decimal} paymentFeeIncVat - Payment incl. VAT
3028
+ * @property {Array<(CheckoutOrderRowType|null|undefined)>} [rows] - Order rows
3029
+ * @property {string} [secondaryTransactionId] - Secondary transaction ID
3030
+ * @property {Decimal} shippingFeeExVat - Shipping excl. VAT
3031
+ * @property {Decimal} shippingFeeIncVat - Shipping incl. VAT
3032
+ * @property {Decimal} sum - Order sum
3033
+ * @property {string} [transactionId] - Transaction ID
3034
+ * @property {string} [zip] - Zip code
3035
+ */
3036
+ /**
3037
+ * @typedef {("CUSTOMER_BLACKLISTED"|"OK")} CheckoutStatus
3038
+ */
3039
+ /**
3040
+ * @typedef {Object} CheckoutType
3041
+ * @property {AddressType} [billingAddress]
3042
+ * @property {CartType} [cart]
3043
+ * @property {CheckoutStatus} [checkoutStatus]
3044
+ * @property {Array<(ConsentType|null|undefined)>} [consents]
3045
+ * @property {string} [email]
3046
+ * @property {string} [identityNumber]
3047
+ * @property {Array<(PaymentOptionType|null|undefined)>} [paymentOptions]
3048
+ * @property {AddressType} [shippingAddress]
3049
+ * @property {string} [shippingData]
3050
+ * @property {Array<(ShippingOptionType|null|undefined)>} [shippingOptions]
3051
+ */
3052
+ /**
3053
+ * @typedef {Object} ConsentType
3054
+ * @property {boolean} autoAccept
3055
+ * @property {boolean} checked
3056
+ * @property {string} description
3057
+ * @property {string} name
3058
+ * @property {string} type
3059
+ */
3060
+ /**
3061
+ * Type containing all information about the country-type
3062
+ * @typedef {Object} CountryType
3063
+ * @property {string} code - Two-letter ISO code
3064
+ * @property {string} name - Name
3065
+ */
3066
+ /**
3067
+ * Type containing all information about the currency-type
3068
+ * @typedef {Object} CurrencyType
3069
+ * @property {string} code - Currency code
3070
+ * @property {string} name - Name
3071
+ * @property {Decimal} rate - Currency rate used to convert from this currency to default currency
3072
+ * @property {string} symbol - Currency symbol
3073
+ */
3074
+ /**
3075
+ * Customer type
3076
+ * @typedef {("ORGANIZATION"|"PERSON")} CustomerType
3077
+ */
3078
+ /**
3079
+ * The `DateTime` scalar type represents a date and time. `DateTime` expects timestamps to be formatted in accordance with the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
3080
+ * @typedef {*} DateTime
3081
+ */
3082
+ /**
3083
+ * @typedef {*} Decimal
3084
+ */
3085
+ /**
3086
+ * SKU dimensions
3087
+ * @typedef {Object} DimensionsType
3088
+ * @property {number} height - Height
3089
+ * @property {number} length - Length
3090
+ * @property {number} width - Width
3091
+ */
3092
+ /**
3093
+ * @typedef {("NONE"|"PRICE_CAMPAIGN"|"SALE_PRICE")} DiscountType
3094
+ */
3095
+ /**
3096
+ * Type containing collection of filters
3097
+ * @typedef {Object} FilterCollectionType
3098
+ * @property {Array<(FilterType|null|undefined)>} [facets] - The collection of facet values returned from the query
3099
+ * @property {PriceFilterType} [price] - The lowest / highest price found in the results
3100
+ */
3101
+ /**
3102
+ * Filter options
3103
+ * @typedef {Object} FilterInputType
3104
+ * @property {Array<(string|null|undefined)>} [exclude] - A list of string values, that when specified will exclude products that are associated with one of the facets
3105
+ * @property {Array<(string|null|undefined)>} [excludeFacets] - A list of string values, that when specified will exclude products that are associated with one of the facets
3106
+ * @property {Array<(string|null|undefined)>} [facets] - A list of string values, that when specified will only include products associated with those values
3107
+ * @property {FilterMode} [filterMode] - Filter mode
3108
+ * @property {Array<(string|null|undefined)>} [include] - A list of string values, that when specified will only include products associated with those values
3109
+ * @property {boolean} [includeCollapsed] - Include collapsed products
3110
+ * @property {PriceFilterInputType} [price] - Price filter
3111
+ * @property {Array<(number|null|undefined)>} [productIds] - A list of product ids to filter on
3112
+ * @property {string} [searchText] - Search text to filter by
3113
+ * @property {SortType} [sort] - Use this to sort the results in a particular way
3114
+ */
3115
+ /**
3116
+ * Filter mode
3117
+ * @typedef {("BY_GROUP"|"CURRENT")} FilterMode
3118
+ */
3119
+ /**
3120
+ * Filter group
3121
+ * @typedef {Object} FilterType
3122
+ * @property {string} filterId - ID for this filter type
3123
+ * @property {string} [group] - Parameter group name
3124
+ * @property {string} [label] - Parameter group display name
3125
+ * @property {string} [type] - Filter type. e.g. 'Parameter', 'Category', 'Sku'
3126
+ * @property {Array<(FilterValueType|null|undefined)>} [values] - Collection of facet values in this group
3127
+ */
3128
+ /**
3129
+ * Filter value
3130
+ * @typedef {Object} FilterValueType
3131
+ * @property {string} _id - FacetId_Count
3132
+ * @property {Long} count - The amount of products in the results associated with this facet
3133
+ * @property {string} [facetId] - Facet ID. Use this in the Facets-list in the products-query to retrieve products associated with it
3134
+ * @property {boolean} hidden - If the filter for this facet is hidden
3135
+ * @property {string} [label] - Facet display name
3136
+ * @property {number} order - The display order of this facet
3137
+ * @property {string} [parentId] - Parent ID. Only available for category-facets.0
3138
+ * @property {string} [url] - The path associated with this facet. e.g. '/c/category-1'
3139
+ */
3140
+ /**
3141
+ * @typedef {("MAN"|"UNSPECIFIED"|"WOMAN")} Gender
3142
+ */
3143
+ /**
3144
+ * Type containing Google taxonomy data
3145
+ * @typedef {Object} GoogleTaxonomyType
3146
+ * @property {number} [id] - Google taxonomy ID
3147
+ * @property {string} [name] - Google taxonomy name
3148
+ * @property {number} [parentId] - Parent Google taxonomy ID
3149
+ * @property {string} [path] - Google taxonomy path
3150
+ */
3151
+ /**
3152
+ * Type containing information for a group in a product package
3153
+ * @typedef {Object} GroupType
3154
+ * @property {string} [description] - The package group description
3155
+ * @property {number} groupId - The package group id
3156
+ * @property {string} [image] - The package group image
3157
+ * @property {string} [name] - The package group name
3158
+ * @property {Array<(OptionType|null|undefined)>} [options] - Options in this package group
3159
+ * @property {boolean} required - 'true' if this package group is required in order to place the package in cart
3160
+ * @property {number} sortOrder - The sort order of this package group relative to other groups
3161
+ */
3162
+ /**
3163
+ * @typedef {*} Guid
3164
+ */
3165
+ /**
3166
+ * Type containing all information about the language-type
3167
+ * @typedef {Object} LanguageType
3168
+ * @property {string} code - Two-letter ISO code
3169
+ * @property {string} id - Language ID
3170
+ * @property {string} name - Language name
3171
+ */
3172
+ /**
3173
+ * @typedef {*} Long
3174
+ */
3175
+ /**
3176
+ * Type containing information about the lowest price during last 30 days and the legal comparison price (EU). Observe that discount is calculated against comparison price and not the regular price.
3177
+ * @typedef {Object} LowestPriceType
3178
+ * @property {Decimal} comparisonPriceExVat - The comparison price excluding VAT
3179
+ * @property {string} [comparisonPriceExVatFormatted] - Comparison price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3180
+ * @property {Decimal} comparisonPriceIncVat - The comparison price including VAT
3181
+ * @property {string} [comparisonPriceIncVatFormatted] - Comparison price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3182
+ * @property {Decimal} discountExVat - Discount amount excluding VAT.
3183
+ * @property {string} [discountExVatFormatted] - Discount (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3184
+ * @property {Decimal} discountIncVat - Discount amount including VAT.
3185
+ * @property {string} [discountIncVatFormatted] - Discount (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3186
+ * @property {number} discountPercentage - Discount percentage.
3187
+ * @property {boolean} isDiscounted - Whether the price is discounted or not
3188
+ * @property {Decimal} lowestPriceExVat - The lowest price excluding VAT
3189
+ * @property {string} [lowestPriceExVatFormatted] - Lowest price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3190
+ * @property {Decimal} lowestPriceIncVat - The lowest price including VAT
3191
+ * @property {string} [lowestPriceIncVatFormatted] - Lowest price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3192
+ * @property {Decimal} sellingPriceExVat - The selling price excluding VAT
3193
+ * @property {string} [sellingPriceExVatFormatted] - Selling price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3194
+ * @property {Decimal} sellingPriceIncVat - The selling price including VAT
3195
+ * @property {string} [sellingPriceIncVatFormatted] - Selling price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3196
+ * @property {Decimal} vat - VAT amount
3197
+ * @property {string} [vatFormatted] - VAT amount, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3198
+ */
3199
+ /**
3200
+ * Type containing all information about the market-type
3201
+ * @typedef {Object} MarketType
3202
+ * @property {string} [alias] - The part of the market id that is used in the url.
3203
+ * @property {Array<(LanguageType|null|undefined)>} [allowedLanguages]
3204
+ * @property {CountryType} [country] - Country
3205
+ * @property {CurrencyType} [currency] - Currency
3206
+ * @property {string} defaultLanguageId - Default language ID used if no other is specified, or an invalid is supplied.
3207
+ * @property {string} groupKey - Group key used to group related markets together, i.e. if they belong to the same region or continent.
3208
+ * @property {string} id - ID
3209
+ * @property {boolean} [onlyDisplayInCheckout] - Indicates if the market should only be displayed in the checkout process.
3210
+ * @property {boolean} [virtual] - If true, indicates that the market is virtual. Virtual markets cannot be used in the checkout process
3211
+ */
3212
+ /**
3213
+ * @typedef {Object} MenuItemType
3214
+ * @property {string} [canonicalUrl]
3215
+ * @property {Array<(MenuItemType|null|undefined)>} [children]
3216
+ * @property {boolean} hidden
3217
+ * @property {string} id
3218
+ * @property {string} [label]
3219
+ * @property {boolean} open
3220
+ * @property {number} order
3221
+ * @property {boolean} targetBlank
3222
+ * @property {string} [title]
3223
+ * @property {string} type
3224
+ * @property {string} [value]
3225
+ */
3226
+ /**
3227
+ * @typedef {Object} MenuType
3228
+ * @property {Array<(string|null|undefined)>} [channels]
3229
+ * @property {string} id
3230
+ * @property {Array<(string|null|undefined)>} [languages]
3231
+ * @property {Array<(string|null|undefined)>} [locations]
3232
+ * @property {Array<(MenuItemType|null|undefined)>} [menuItems]
3233
+ * @property {string} [name]
3234
+ * @property {string} [title]
3235
+ */
3236
+ /**
3237
+ * Type containing metadata
3238
+ * @typedef {Object} MetadataType
3239
+ * @property {string} [description] - Description
3240
+ * @property {string} [keywords] - Keywords
3241
+ * @property {string} [title] - Title
3242
+ */
3243
+ /**
3244
+ * @typedef {Object} Mutation
3245
+ * @property {CartType} [addPackageToCart]
3246
+ * @property {CartType} [addToCart]
3247
+ * @property {boolean} [commitReset]
3248
+ * @property {CartType} [completeCart] - Marks the cart as completed, and makes it read-only
3249
+ * @property {CheckoutType} [createOrUpdateCheckout]
3250
+ * @property {boolean} [deleteUser]
3251
+ * @property {boolean} [monitorProductAvailability]
3252
+ * @property {PlaceOrderResponseType} [placeOrder]
3253
+ * @property {boolean} [postProductReview]
3254
+ * @property {boolean} [requestPasswordReset]
3255
+ * @property {CartType} [setCartPromoCode] - Set a promo code on the cart
3256
+ * @property {CheckoutType} [setCartShippingFee]
3257
+ * @property {boolean} [subscribeToNewsletter]
3258
+ * @property {CartType} [updateCartGroup] - Update the quantity of an entire cart group
3259
+ * @property {CartType} [updateCartItem] - Update the cart item
3260
+ * @property {UserType} [updateUser]
3261
+ */
3262
+ /**
3263
+ * Type containing information for an option in a product package group
3264
+ * @typedef {Object} OptionType
3265
+ * @property {boolean} isSelected - 'true' if this option should be selected by default
3266
+ * @property {number} optionId - The option id
3267
+ * @property {ProductType} [product] - The product that this options refers to
3268
+ * @property {number} quantity - The quantity of items that is chosen if this option is selected
3269
+ * @property {number} sortOrder - The sort order of this option relative to other options
3270
+ */
3271
+ /**
3272
+ * @typedef {Object} OrderType
3273
+ * @property {AddressType} [billingAddress]
3274
+ * @property {CartType} [cart]
3275
+ * @property {DateTime} [completedAt]
3276
+ * @property {DateTime} [createdAt]
3277
+ * @property {string} [currency]
3278
+ * @property {number} [customerId]
3279
+ * @property {DateTime} [desiredDeliveryDate]
3280
+ * @property {PriceType} [discount]
3281
+ * @property {Decimal} fromBalance - The amount taken from account balance
3282
+ * @property {string} [fromBalanceFormatted] - The amount taken from account balance. Formatted as a currency string.
3283
+ * @property {number} [id]
3284
+ * @property {string} [message]
3285
+ * @property {PriceType} [orderTotal]
3286
+ * @property {Array<(PaymentDetailsType|null|undefined)>} [paymentDetails]
3287
+ * @property {PriceType} [paymentFee]
3288
+ * @property {string} publicId
3289
+ * @property {Array<(RefundType|null|undefined)>} [refunds]
3290
+ * @property {AddressType} [shippingAddress]
3291
+ * @property {Array<(ShippingDetailType|null|undefined)>} [shippingDetails]
3292
+ * @property {PriceType} [shippingFee]
3293
+ * @property {string} status
3294
+ * @property {DateTime} [updatedAt]
3295
+ * @property {PriceType} [vat]
3296
+ */
3297
+ /**
3298
+ * Type containing widget page area information
3299
+ * @typedef {Object} PageAreaType
3300
+ * @property {number} id - ID
3301
+ * @property {number} index - Index
3302
+ * @property {string} [name] - Name
3303
+ */
3304
+ /**
3305
+ * Type containing page information
3306
+ * @typedef {Object} PageInfoType
3307
+ * @property {string} alias - Alias
3308
+ * @property {Array<(string|null|undefined)>} [alternativeCanonicalUrls] - Alternative full paths to the page - DEPRECATED: Use AlternativeUrls instead.
3309
+ * @property {Array<(AlternativeUrlType|null|undefined)>} [alternativeUrls] - Alternative urls to the page
3310
+ * @property {string} [backgroundImage] - Background image
3311
+ * @property {string} [canonicalUrl] - Full path to the page
3312
+ * @property {boolean} hideDescription - Whether the descriptions should be hidden
3313
+ * @property {boolean} hideTitle - Whether the Name-field should be hidden
3314
+ * @property {number} id - Page ID
3315
+ * @property {string} [logo] - Logo
3316
+ * @property {MetadataType} [meta] - Page metadata
3317
+ * @property {string} name - Name
3318
+ * @property {string} [primaryDescription] - Primary description
3319
+ * @property {string} [primaryImage] - Primary image
3320
+ * @property {string} [secondaryDescription] - Secondary description
3321
+ * @property {Array<(CategoryType|null|undefined)>} [subCategories] - Page sub-categories
3322
+ */
3323
+ /**
3324
+ * Type for filtering widgets
3325
+ * @typedef {Object} PageWidgetCollectionFilterInputType
3326
+ * @property {string} [key] - Filter key
3327
+ * @property {string} [value] - Filter value
3328
+ */
3329
+ /**
3330
+ * Type containing widget collection information
3331
+ * @typedef {Object} PageWidgetCollectionType
3332
+ * @property {Array<(PageWidgetContainerType|null|undefined)>} [containers] - Collection containers
3333
+ * @property {string} [familyName] - Collection family name
3334
+ * @property {number} id - Collection ID
3335
+ * @property {MetadataType} [meta] - Collection metadata
3336
+ * @property {string} name - Name
3337
+ * @property {PageAreaType} [pageArea] - Collection page area
3338
+ * @property {Array<(string|null|undefined)>} [tags] - List of tags
3339
+ * @property {string} [title] - Title
3340
+ */
3341
+ /**
3342
+ * Type containing widget container information
3343
+ * @typedef {Object} PageWidgetContainerType
3344
+ * @property {Array<(string|null|undefined)>} [classNames] - Container class names
3345
+ * @property {string} design - Container design
3346
+ * @property {number} id - ID
3347
+ * @property {string} layout - Container layout
3348
+ * @property {string} name - Name
3349
+ * @property {string} responsiveMode - Container responsive mode
3350
+ * @property {number} sortOrder - Sort order
3351
+ * @property {Array<(PageWidgetType|null|undefined)>} [widgets] - Widgets in this container
3352
+ */
3353
+ /**
3354
+ * Type containing widget image size information
3355
+ * @typedef {Object} PageWidgetImageSizeType
3356
+ * @property {number} imageHeight - Image height
3357
+ * @property {number} imageRatio - Image ratio
3358
+ * @property {number} imageWidth - Image width
3359
+ */
3360
+ /**
3361
+ * Type containing widget image information
3362
+ * @typedef {Object} PageWidgetImageType
3363
+ * @property {string} fileName - Filename
3364
+ * @property {PageWidgetImageSizeType} [largestSize] - Largest image size
3365
+ * @property {Array<(PageWidgetImageSizeType|null|undefined)>} [sizes] - Image sizes
3366
+ */
3367
+ /**
3368
+ * Type containing CMS page information
3369
+ * @typedef {Object} PageWidgetPageType
3370
+ * @property {DateTime} [activeFrom] - Active From
3371
+ * @property {DateTime} [activeTo] - Active To
3372
+ * @property {string} [alias] - Alias
3373
+ * @property {string} [canonicalUrl] - The url to this cms page
3374
+ * @property {number} id - Collection ID
3375
+ * @property {MetadataType} [meta] - Collection metadata
3376
+ * @property {string} name - Name
3377
+ * @property {Array<(string|null|undefined)>} [tags] - List of tags
3378
+ * @property {string} [title] - Title
3379
+ */
3380
+ /**
3381
+ * Type containing widget information
3382
+ * @typedef {Object} PageWidgetType
3383
+ * @property {Array<(string|null|undefined)>} [classNames] - Class names
3384
+ * @property {string} configuration - Configuration
3385
+ * @property {string} id - ID
3386
+ * @property {Array<(PageWidgetImageType|null|undefined)>} [images] - Images
3387
+ * @property {string} name - Name
3388
+ * @property {string} size - Size
3389
+ * @property {number} sortOrder - Sort order
3390
+ * @property {string} type - Widget Type
3391
+ */
3392
+ /**
3393
+ * Type containing product parameter group information
3394
+ * @typedef {Object} ParameterGroupType
3395
+ * @property {string} name - The parameter group name
3396
+ * @property {number} [parameterGroupId] - Parameter group ID
3397
+ * @property {Array<(ParameterType|null|undefined)>} [parameters] - List of parameters
3398
+ * @property {number} productId - Product ID associated with this parameter group
3399
+ */
3400
+ /**
3401
+ * Type containing parameter information
3402
+ * @typedef {Object} ParameterType
3403
+ * @property {string} [description] - Parameter description
3404
+ * @property {string} [facetId] - The ID of the associated facet
3405
+ * @property {string} [identifier] - The internal identifier of the parameter. This value is the same for all languages and does not change if the parameter name changes.
3406
+ * @property {string} [label] - Parameter label
3407
+ * @property {string} [name] - Parameter name
3408
+ * @property {number} parameterGroupId - ID of the associated parameter group
3409
+ * @property {number} parameterId - Parameter ID
3410
+ * @property {boolean} show - Whether this parameter should be shown within the product specifications
3411
+ * @property {boolean} showFilter - Whether this parameter should be shown within filter options
3412
+ * @property {string} [type] - The parameter type
3413
+ * @property {string} [value] - Parameter value
3414
+ */
3415
+ /**
3416
+ * @typedef {Object} PaymentDetailsType
3417
+ * @property {string} displayName
3418
+ * @property {number} id
3419
+ * @property {boolean} isPaid
3420
+ * @property {string} name
3421
+ * @property {DateTime} [paymentDate]
3422
+ * @property {number} paymentFee
3423
+ * @property {number} paymentId
3424
+ * @property {string} [paymentOption]
3425
+ * @property {DateTime} reservationDate
3426
+ * @property {string} [reservationNumber]
3427
+ * @property {number} shippingFee
3428
+ * @property {number} total
3429
+ * @property {string} transactionId
3430
+ */
3431
+ /**
3432
+ * Type containing payment option information
3433
+ * @typedef {Object} PaymentOptionType
3434
+ * @property {string} [displayName] - Display name
3435
+ * @property {Decimal} feeExVat - Fee excl. VAT
3436
+ * @property {string} [feeExVatFormatted] - Fee excl. VAT, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3437
+ * @property {Decimal} feeIncVat - Fee incl. VAT
3438
+ * @property {string} [feeIncVatFormatted] - Fee incl. VAT, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3439
+ * @property {number} id - Payment option ID
3440
+ * @property {boolean} isDefault - Whether this payment option is the default selection
3441
+ * @property {boolean} isSelected - Whether this option is the one selected
3442
+ * @property {string} [logo] - Shipping option logo
3443
+ * @property {string} [name] - Name
3444
+ * @property {boolean} newCheckoutSession - Whether it is a new checkout session
3445
+ * @property {string} [paymentData] - Payment option data
3446
+ * @property {PaymentType} [paymentType] - Payment type
3447
+ */
3448
+ /**
3449
+ * Payment types
3450
+ * @typedef {("AVARDA"|"KLARNA"|"STANDARD"|"SVEA"|"WALLEY")} PaymentType
3451
+ */
3452
+ /**
3453
+ * @typedef {Object} PlaceOrderResponseType
3454
+ * @property {string} [orderId]
3455
+ * @property {string} [redirectUrl]
3456
+ * @property {string} [status]
3457
+ */
3458
+ /**
3459
+ * Price range filter
3460
+ * @typedef {Object} PriceFilterInputType
3461
+ * @property {number} [highest] - The highest price you want to include
3462
+ * @property {number} [lowest] - The lowest price you want to include
3463
+ */
3464
+ /**
3465
+ * Price range filter
3466
+ * @typedef {Object} PriceFilterType
3467
+ * @property {number} highest - The highest price found in the results
3468
+ * @property {number} lowest - The lowest price found in the results
3469
+ */
3470
+ /**
3471
+ * Type containing all information about a product price log item
3472
+ * @typedef {Object} PriceLogItemType
3473
+ * @property {string} date - Date of the price change
3474
+ * @property {Decimal} discountExVat - Discount amount excluding VAT
3475
+ * @property {string} [discountExVatFormatted] - Discount (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3476
+ * @property {Decimal} discountIncVat - Discount amount including VAT
3477
+ * @property {string} [discountIncVatFormatted] - Discount (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3478
+ * @property {number} discountPercentage - Discount percentage
3479
+ * @property {boolean} isDiscounted - Whether the price is discounted or not
3480
+ * @property {boolean} isLowest - True if this log items has the lowest price for the last 30 days
3481
+ * @property {Decimal} regularPriceExVat - The regular price excluding VAT
3482
+ * @property {string} [regularPriceExVatFormatted] - Regular price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3483
+ * @property {Decimal} regularPriceIncVat - The regular price including VAT
3484
+ * @property {string} [regularPriceIncVatFormatted] - Regular price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3485
+ * @property {Decimal} sellingPriceExVat - The selling price excluding VAT
3486
+ * @property {string} [sellingPriceExVatFormatted] - Selling price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3487
+ * @property {Decimal} sellingPriceIncVat - The selling price including VAT
3488
+ * @property {string} [sellingPriceIncVatFormatted] - Selling price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3489
+ * @property {Decimal} vat - VAT amount
3490
+ * @property {string} [vatFormatted] - VAT amount, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3491
+ */
3492
+ /**
3493
+ * Type containing price information
3494
+ * @typedef {Object} PriceType
3495
+ * @property {Decimal} discountExVat - Discount amount excluding VAT
3496
+ * @property {string} [discountExVatFormatted] - Discount (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3497
+ * @property {Decimal} discountIncVat - Discount amount including VAT
3498
+ * @property {string} [discountIncVatFormatted] - Discount (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3499
+ * @property {number} discountPercentage - Discount percentage
3500
+ * @property {boolean} isDiscounted - Whether the price is discounted or not
3501
+ * @property {Decimal} regularPriceExVat - The regular price excluding VAT
3502
+ * @property {string} [regularPriceExVatFormatted] - Regular price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3503
+ * @property {Decimal} regularPriceIncVat - The regular price including VAT
3504
+ * @property {string} [regularPriceIncVatFormatted] - Regular price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3505
+ * @property {Decimal} sellingPriceExVat - The selling price excluding VAT
3506
+ * @property {string} [sellingPriceExVatFormatted] - Selling price (excl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3507
+ * @property {Decimal} sellingPriceIncVat - The selling price including VAT
3508
+ * @property {string} [sellingPriceIncVatFormatted] - Selling price (incl. VAT), formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3509
+ * @property {Decimal} vat - VAT amount
3510
+ * @property {string} [vatFormatted] - VAT amount, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3511
+ */
3512
+ /**
3513
+ * Type containing all information about a product image
3514
+ * @typedef {Object} ProductImageType
3515
+ * @property {string} fileName - The file name of the product image.
3516
+ * @property {Array<(string|null|undefined)>} [tags] - Custom tags associated with the product image.
3517
+ */
3518
+ /**
3519
+ * Type containing meta data for the package selection that a cart item was added from
3520
+ * @typedef {Object} ProductPackageCartItemType
3521
+ * @property {number} groupId - The group id
3522
+ * @property {number} optionId - The option id
3523
+ * @property {number} packageId - The package id
3524
+ * @property {string} packageName - The package name
3525
+ */
3526
+ /**
3527
+ * Type containing an option selection for a product package group
3528
+ * @typedef {Object} ProductPackageSelectionType
3529
+ * @property {number} groupId - The group id that the selection is made in
3530
+ * @property {number} optionId - The selected option id
3531
+ * @property {number} skuId - The selected SKU
3532
+ */
3533
+ /**
3534
+ * Type containing type specific information for a product of the type 'package'
3535
+ * @typedef {Object} ProductPackageType
3536
+ * @property {Array<(GroupType|null|undefined)>} [groups] - Groups in this package
3537
+ */
3538
+ /**
3539
+ * Product relation type
3540
+ * @typedef {("ACCESSORIES"|"RELATED"|"SIMILAR")} ProductRelation
3541
+ */
3542
+ /**
3543
+ * The results of the reviews query.
3544
+ * @typedef {Object} ProductReviewResultType
3545
+ * @property {number} averageRating - The average rating for this product
3546
+ * @property {Long} count - The total count of results for the query
3547
+ * @property {Array<(ProductReviewType|null|undefined)>} [reviews] - Results returned by the query
3548
+ */
3549
+ /**
3550
+ * Type containing all information about a product review
3551
+ * @typedef {Object} ProductReviewType
3552
+ * @property {string} author - Author of the review
3553
+ * @property {string} comment - The product review comment
3554
+ * @property {number} rating - The product rating (1-5)
3555
+ * @property {DateTime} reviewDate - The date and time for when the review was made
3556
+ */
3557
+ /**
3558
+ * Product info
3559
+ * @typedef {Object} ProductTextsType
3560
+ * @property {string} [text1] - Main product info
3561
+ * @property {string} [text2] - Secondary product info
3562
+ * @property {string} [text3] - Tertiary product info
3563
+ */
3564
+ /**
3565
+ * Type containing all information about a product
3566
+ * @typedef {Object} ProductType
3567
+ * @property {string} alias - Alias for the product
3568
+ * @property {Array<(string|null|undefined)>} [alternativeCanonicalUrls] - Alternative full paths to the product - DEPRECATED: Use AlternativeUrls instead.
3569
+ * @property {Array<(AlternativeUrlType|null|undefined)>} [alternativeUrls] - Alternative urls to the product
3570
+ * @property {string} [articleNumber] - The product article number
3571
+ * @property {BrandType} [brand] - Product brand information
3572
+ * @property {Array<(BreadcrumbType|null|undefined)>} [breadcrumbs] - Breadcrumbs
3573
+ * @property {string} [canonicalUrl] - The full path to the product
3574
+ * @property {Array<(CategoryType|null|undefined)>} [categories] - Product category information
3575
+ * @property {number} categoryId - The primary category ID
3576
+ * @property {VariantType} [currentProductVariant] - The current variant selection
3577
+ * @property {DimensionsType} [dimensions] - The dimensions of the Product. Note that this can also be set on SKU level
3578
+ * @property {Array<(CampaignRuleType|null|undefined)>} [discountCampaigns] - Product discount campaigns
3579
+ * @property {DiscountType} [discountType] - Type of discount price: None, Sale or Campaign
3580
+ * @property {string} [firstAvailableOn] - The date on which the product was first available (yyyy-mm-dd)
3581
+ * @property {string} [freightClass] - The Freightclass set for this product
3582
+ * @property {Array<(string|null|undefined)>} [images] - List of product images - DEPRECATED: Use ProductType.ProductImages instead.
3583
+ * @property {LowestPriceType} [lowestPrice] - Lowest price and comparison price according to EU price laws
3584
+ * @property {MetadataType} [meta] - Product metadata
3585
+ * @property {string} [name] - The product name
3586
+ * @property {Array<(ParameterGroupType|null|undefined)>} [parameterGroups] - Product parameter groups
3587
+ * @property {Array<(PriceLogItemType|null|undefined)>} [priceLog] - Price log with the prices from the last 30 days
3588
+ * @property {CategoryType} [primaryCategory] - Primary category for this product
3589
+ * @property {number} productId - Product ID
3590
+ * @property {Array<(ProductImageType|null|undefined)>} [productImages] - List of product images and their related properties
3591
+ * @property {ProductPackageType} [productPackage] - Package specific information for this product
3592
+ * @property {RatingType} [rating] - Product rating
3593
+ * @property {Array<(SkuType|null|undefined)>} [skus] - Product SKUs
3594
+ * @property {number} supplierId - The Supplier Id
3595
+ * @property {ProductTextsType} [texts] - Product text info
3596
+ * @property {StockType} [totalStock] - Product stock information
3597
+ * @property {string} [type] - The product type. Either 'product' or 'package'
3598
+ * @property {PriceType} [unitPrice] - Product price information
3599
+ * @property {Array<(VariantDimensionType|null|undefined)>} [variantDimensions] - Variant dimensions
3600
+ * @property {VariantGroupType} [variantGroup] - Product variant group
3601
+ * @property {number} weight - Weight in grams (g). Note that this can also be set on SKU level
3602
+ */
3603
+ /**
3604
+ * The results of the products-query.
3605
+ * @typedef {Object} ProductsResultType
3606
+ * @property {Long} count - The total count of results for the query
3607
+ * @property {FilterCollectionType} [filters] - The filters available for this query
3608
+ * @property {Array<(ProductType|null|undefined)>} [products] - Results returned by the query
3609
+ */
3610
+ /**
3611
+ * Gets all available channels
3612
+ * @typedef {Object} Query
3613
+ * @property {Array<(BrandListType|null|undefined)>} [brands] - Get all brands.
3614
+ * @property {Array<(CategoryType|null|undefined)>} [categories] - Get all categories.
3615
+ * @property {CategoryType} [category] - Gets a category with the specified ID.
3616
+ * @property {ChannelType} [channel] - Gets a channel with the specified ID.
3617
+ * @property {Array<(ChannelType|null|undefined)>} [channels]
3618
+ * @property {CheckoutDataType} [checkout] - Gets checkout data with a html snippet, checkout order data for the specified order and the User. If the order was recently completed, the html snippet will contain the "Thank you"-content.
3619
+ * @property {Array<(PageWidgetPageType|null|undefined)>} [cmsPages] - Gets all CMS pages.
3620
+ * @property {CartType} [getCart] - Get the cart
3621
+ * @property {string} [getCheckout] - Gets html snippet for the specified external order. If the order was recently completed, the html snippet will contain the "Thank you"-content. - DEPRECATED: Use Checkout instead
3622
+ * @property {CheckoutAndOrderType} [getCheckoutAndOrder] - Gets html snippet and checkout order data for the specified external order. If the order was recently completed, the html snippet will contain the "Thank you"-content. - DEPRECATED: Use Checkout instead
3623
+ * @property {MenuType} [getMenuAtLocation] - Get a menu
3624
+ * @property {OrderType} [getOrder] - Get a specific order with details
3625
+ * @property {OrderType} [getOrderPublic] - Get a specific order with details via public id
3626
+ * @property {Array<(OrderType|null|undefined)>} [getOrders] - Get orders for the current user
3627
+ * @property {UserType} [getUser] - Get the current user
3628
+ * @property {PageInfoType} [listPageInfo] - Gets information about the specified list page.
3629
+ * @property {ProductType} [product] - Gets a product with the specified ID.
3630
+ * @property {ProductsResultType} [products] - Gets all products according to the values provided.
3631
+ * @property {Array<(RelatedProductType|null|undefined)>} [relatedProducts] - Gets related products for the specified alias.
3632
+ * @property {ProductReviewResultType} [reviews] - Gets all products reviews to the values provided.
3633
+ * @property {UrlHistoryType} [urlHistory] - Gets an alternate url for a given url.
3634
+ * @property {ValidateOrderCreationResponseType} [validateOrderCreation]
3635
+ * @property {PageWidgetCollectionType} [widgetArea] - Gets the page area and widgets from the specifed family.
3636
+ */
3637
+ /**
3638
+ * Type containing product rating information
3639
+ * @typedef {Object} RatingType
3640
+ * @property {Decimal} score - Rating score
3641
+ * @property {number} voteCount - Vote count
3642
+ */
3643
+ /**
3644
+ * @typedef {Object} RefundType
3645
+ * @property {string} [articleNumber]
3646
+ * @property {DateTime} createdAt
3647
+ * @property {number} id
3648
+ * @property {number} itemId
3649
+ * @property {string} [reason]
3650
+ * @property {number} [reasonCode]
3651
+ * @property {string} [refundType]
3652
+ * @property {boolean} toBalance
3653
+ * @property {number} total
3654
+ * @property {number} vat
3655
+ */
3656
+ /**
3657
+ * Type containing a subset of product information for related products
3658
+ * @typedef {Object} RelatedProductType
3659
+ * @property {string} alias - Product alias
3660
+ * @property {BrandType} [brand] - Product brand information
3661
+ * @property {string} [canonicalUrl] - Full path to the product
3662
+ * @property {Array<(CampaignRuleType|null|undefined)>} [discountCampaigns] - Product campaigns
3663
+ * @property {Array<(string|null|undefined)>} [images] - List of product images - DEPRECATED: Use RelatedProductType.ProductImages instead.
3664
+ * @property {string} [name] - Product name
3665
+ * @property {Array<(ParameterGroupType|null|undefined)>} [parameterGroups] - Product parameter groups. The availability of data in this field needs to be configured.
3666
+ * @property {CategoryType} [primaryCategory] - Primary category for this product
3667
+ * @property {string} [primaryImage] - Product primary image
3668
+ * @property {Array<(ProductImageType|null|undefined)>} [productImages] - List of product images and their related properties
3669
+ * @property {ProductRelation} [relation] - Relation type - DEPRECATED: Use RelatedProductType.RelationType instead.
3670
+ * @property {string} relationType - Relation type
3671
+ * @property {string} [secondaryImage] - Product secondary image
3672
+ * @property {Array<(SkuType|null|undefined)>} [skus] - Product SKUs
3673
+ * @property {PriceType} [unitPrice] - Product price
3674
+ */
3675
+ /**
3676
+ * @typedef {Object} ShippingDetailType
3677
+ * @property {number} id
3678
+ * @property {string} name
3679
+ * @property {string} [parcelNumber]
3680
+ * @property {DateTime} [shippingDate]
3681
+ * @property {number} shippingId
3682
+ * @property {string} [trackingLink]
3683
+ */
3684
+ /**
3685
+ * Type containing shipping option information
3686
+ * @typedef {Object} ShippingOptionType
3687
+ * @property {Decimal} amountLeftToFreeShipping - Amount left to recieve free shipping
3688
+ * @property {string} [amountLeftToFreeShippingFormatted] - Amount left to recieve free shipping formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3689
+ * @property {string} [displayName] - Display name
3690
+ * @property {string} [externalId] - External ID
3691
+ * @property {Decimal} feeExVat - Fee excl. VAT
3692
+ * @property {string} [feeExVatFormatted] - Fee excl. VAT, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3693
+ * @property {Decimal} feeIncVat - Fee incl. VAT
3694
+ * @property {string} [feeIncVatFormatted] - Fee incl. VAT, formatted with currency info. e.g. '299 kr', '123,45 SEK', '$12.34'
3695
+ * @property {number} id - Shipping option ID
3696
+ * @property {boolean} isDefault - Whether this shipping option is the default selection
3697
+ * @property {boolean} isSelected - Whether this option is the one selected
3698
+ * @property {string} [logo] - Shipping option logo
3699
+ * @property {string} [name] - Name
3700
+ * @property {string} [shippingData] - Shipping data
3701
+ * @property {Array<(ShippingOptionType|null|undefined)>} [subOptions] - Sub-options
3702
+ */
3703
+ /**
3704
+ * Type containing all information about a product SKU
3705
+ * @typedef {Object} SkuType
3706
+ * @property {string} articleNumber - The article number of the SKU
3707
+ * @property {DimensionsType} [dimensions] - The dimensions of the SKU
3708
+ * @property {string} [externalId] - External ID of the SKU
3709
+ * @property {string} [gtin] - SKU GTIN
3710
+ * @property {DateTime} [incoming] - Incoming date
3711
+ * @property {string} [name] - SKU name
3712
+ * @property {number} productId - The associated product ID
3713
+ * @property {string} [shelf] - Shelf
3714
+ * @property {number} skuId - ID of the SKU
3715
+ * @property {StockType} [stock] - Stock information
3716
+ * @property {number} weight - Weight in grams (g)
3717
+ */
3718
+ /**
3719
+ * Sort types
3720
+ * @typedef {("ALPHABETICAL"|"ALPHABETICAL_DESC"|"AVAILABLE_STOCK"|"AVAILABLE_STOCK_DESC"|"BRAND"|"CUSTOM_1"|"CUSTOM_2"|"CUSTOM_3"|"CUSTOM_4"|"CUSTOM_5"|"FACET_ORDER"|"LATEST"|"MOST_SOLD"|"NONE"|"PRICE"|"PRICE_DESC"|"RELEVANCE"|"TOTAL_STOCK"|"TOTAL_STOCK_DESC"|"VOTES")} SortType
3721
+ */
3722
+ /**
3723
+ * Type containing information about SKU stock
3724
+ * @typedef {Object} StockType
3725
+ * @property {number} inStock - The units available at this moment
3726
+ * @property {DateTime} [incoming] - Incoming date - DEPRECATED: Use SkuType.Incoming or VariantType.Incoming instead
3727
+ * @property {number} oversellable - Over-sellable units
3728
+ * @property {string} [shelf] - Shelf - DEPRECATED: Use SkuType.Shelf or VariantType.Shelf instead
3729
+ * @property {number} [static] - Amount of units that are always available
3730
+ * @property {number} totalStock - The total units available
3731
+ */
3732
+ /**
3733
+ * @typedef {Object} UrlHistoryType
3734
+ * @property {string} newUrl
3735
+ * @property {string} oldUrl
3736
+ */
3737
+ /**
3738
+ * @typedef {Object} UserBalanceType
3739
+ * @property {Decimal} amount
3740
+ * @property {string} [amountFormatted] - User balance amount. Formatted as a currency string.
3741
+ * @property {string} currency
3742
+ */
3743
+ /**
3744
+ * @typedef {Object} UserInputType
3745
+ * @property {AddressInputType} [address]
3746
+ * @property {CustomerType} [customerType]
3747
+ * @property {Gender} [gender]
3748
+ * @property {string} [metaData] - Free-text field to store any data related to the customer.
3749
+ * @property {boolean} [newsletter]
3750
+ * @property {string} [personalId]
3751
+ */
3752
+ /**
3753
+ * @typedef {Object} UserType
3754
+ * @property {AddressType} [address]
3755
+ * @property {Decimal} balance - Account balance - DEPRECATED: Use Balances instead
3756
+ * @property {string} [balanceFormatted] - Account balance. Formatted as a currency string. - DEPRECATED: Use Balances instead
3757
+ * @property {Array<(UserBalanceType|null|undefined)>} [balances] - User balance per currency
3758
+ * @property {CustomerType} [customerType]
3759
+ * @property {string} email
3760
+ * @property {Gender} [gender]
3761
+ * @property {number} id
3762
+ * @property {number} memberId
3763
+ * @property {string} memberType
3764
+ * @property {string} [metaData] - Free-text field that can contain any additional metadata related to the customer.
3765
+ * @property {boolean} [newsletter]
3766
+ * @property {string} [personalId]
3767
+ */
3768
+ /**
3769
+ * @typedef {Object} ValidateOrderCreationResponseType
3770
+ * @property {boolean} isValid
3771
+ * @property {string} [memberType]
3772
+ * @property {string} [message]
3773
+ */
3774
+ /**
3775
+ * Type containing variant attribute information
3776
+ * @typedef {Object} VariantAttributeType
3777
+ * @property {string} key - Attribute key
3778
+ * @property {string} value - Attribute value
3779
+ */
3780
+ /**
3781
+ * Type containing variant dimension information
3782
+ * @typedef {Object} VariantDimensionType
3783
+ * @property {Array<(VariantAttributeType|null|undefined)>} [attributes] - Dimension attributes
3784
+ * @property {string} dimension - The dimension name
3785
+ * @property {Array<(VariantValueType|null|undefined)>} [group] - Group values
3786
+ * @property {string} [label] - Dimension label
3787
+ * @property {number} level - The level of this variant dimension
3788
+ * @property {string} type - Dimension type. e.g. 'product' if it leads to a different product, otherwise 'selection'
3789
+ * @property {string} [value] - Dimension value
3790
+ */
3791
+ /**
3792
+ * Type containing variant group information
3793
+ * @typedef {Object} VariantGroupType
3794
+ * @property {number} activeProducts - The amount of active products in this variant group
3795
+ * @property {boolean} collapseInLists - If true, only the main product will show up in product lists
3796
+ * @property {number} mainProductId - ID of the main product in this group
3797
+ * @property {string} name - Variant group name
3798
+ * @property {number} variantGroupId - Variant group ID
3799
+ * @property {Array<(VariantType|null|undefined)>} [variants] - Group variants
3800
+ */
3801
+ /**
3802
+ * Type containing variant information
3803
+ * @typedef {Object} VariantType
3804
+ * @property {string} [alias] - Alias for variant selection. e.g. 'product-4'
3805
+ * @property {Array<(VariantAttributeType|null|undefined)>} [attributes] - Variant attributes
3806
+ * @property {string} [canonicalUrl] - Canonical URL. Only available for the 'product'-level
3807
+ * @property {string} dimension - Variant dimension
3808
+ * @property {DateTime} [incoming] - Incoming date
3809
+ * @property {string} [label] - Variant label
3810
+ * @property {number} level - Level of this variant. Lower value is a more accurate selection
3811
+ * @property {string} [name] - Variant name
3812
+ * @property {string} [primaryImage] - The primary image used for the product. Only available for the 'product'-level
3813
+ * @property {number} productId - Product ID associated with this variant
3814
+ * @property {string} [shelf] - Shelf
3815
+ * @property {number} [skuId] - SKU ID associated with this variant
3816
+ * @property {StockType} [stock] - Stock information for variant
3817
+ * @property {string} type - Variant type. In order of accuracy 'sku', 'product', 'selection'
3818
+ * @property {string} [value] - Variant value
3819
+ * @property {Array<(VariantType|null|undefined)>} [variants] - List of variants for this variant
3820
+ */
3821
+ /**
3822
+ * Type containing variant value information
3823
+ * @typedef {Object} VariantValueType
3824
+ * @property {string} label - Label
3825
+ * @property {string} value - Value
3826
+ */
3827
+ /**
3828
+ * Type containing VAT group information
3829
+ * @typedef {Object} VatGroupType
3830
+ * @property {Decimal} amount - VAT amount
3831
+ * @property {number} rate - VAT rate
3832
+ */