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