@jetshop/core 3.13.4 → 3.13.5-non-polyfill

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.
package/types.d.ts CHANGED
@@ -6,34 +6,43 @@ export type Scalars = {
6
6
  Boolean: boolean;
7
7
  Int: number;
8
8
  Float: number;
9
- Uri: any;
10
- /** The `Paging` scalar type represents a numeric values between (0; 100> */
11
- Paging: any;
12
9
  Decimal: any;
10
+ Uri: any;
13
11
  /** The `DateTime` scalar type represents a date and time. `DateTime` expects
14
12
  * timestamps to be formatted in accordance with the
15
13
  * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
16
14
  */
17
15
  DateTime: any;
18
- /** The `Date` scalar type represents a year, month and day in accordance with the
19
- * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
20
- */
21
- Date: any;
22
- /** The `DateTimeOffset` scalar type represents a date, time and offset from UTC.
23
- * `DateTimeOffset` expects timestamps to be formatted in accordance with the
24
- * [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
25
- */
26
- DateTimeOffset: any;
27
- /** The `Milliseconds` scalar type represents a period of time represented as the total number of milliseconds. */
28
- Milliseconds: any;
29
- /** The `Seconds` scalar type represents a period of time represented as the total number of seconds. */
30
- Seconds: any;
16
+ /** The `Paging` scalar type represents a numeric values between <1; 100> */
17
+ Paging: any;
18
+ };
19
+
20
+ export type ActivateExternalCustomerByIdInput = {
21
+ externalCustomerId: Scalars['String'];
22
+ };
23
+
24
+ export type ActivateExternalCustomerByIdResult = {
25
+ __typename?: 'ActivateExternalCustomerByIdResult';
26
+ success: Scalars['Boolean'];
27
+ token?: Maybe<Token>;
28
+ };
29
+
30
+ export type ActivateExternalCustomerByTokenInput = {
31
+ externalCustomerToken: Scalars['String'];
32
+ };
33
+
34
+ export type ActivateExternalCustomerByTokenResult = {
35
+ __typename?: 'ActivateExternalCustomerByTokenResult';
36
+ success: Scalars['Boolean'];
37
+ customer?: Maybe<ExternalCustomer>;
31
38
  };
32
39
 
33
40
  export enum ActivationStatusSource {
34
41
  PreexistingCustomer = 'PREEXISTING_CUSTOMER',
35
42
  ActivationRequired = 'ACTIVATION_REQUIRED',
36
- AdditionalUserDataRequired = 'ADDITIONAL_USER_DATA_REQUIRED'
43
+ AdditionalUserDataRequired = 'ADDITIONAL_USER_DATA_REQUIRED',
44
+ NonExistingCustomer = 'NON_EXISTING_CUSTOMER',
45
+ CountryNotValid = 'COUNTRY_NOT_VALID'
37
46
  }
38
47
 
39
48
  export type ActiveFilters = {
@@ -72,10 +81,10 @@ export type AddToCustomerProductListInput = {
72
81
 
73
82
  export type AlternateRoute = {
74
83
  __typename?: 'AlternateRoute';
75
- alias?: Maybe<Scalars['String']>;
76
84
  channelId?: Maybe<Scalars['Int']>;
77
85
  culture?: Maybe<Scalars['String']>;
78
86
  route?: Maybe<Scalars['String']>;
87
+ alias?: Maybe<Scalars['String']>;
79
88
  };
80
89
 
81
90
  export type BooleanFilter = Filter & {
@@ -92,22 +101,33 @@ export type BooleanFilterInput = {
92
101
  value?: Maybe<Scalars['Boolean']>;
93
102
  };
94
103
 
104
+ export type BoolValue = {
105
+ __typename?: 'BoolValue';
106
+ value?: Maybe<Scalars['Boolean']>;
107
+ };
108
+
95
109
  export type BusinessCustomer = Customer & {
96
110
  __typename?: 'BusinessCustomer';
97
- billingAddress?: Maybe<CustomerAddress>;
98
- communication?: Maybe<CustomerCommunication>;
99
- deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
100
- dynamicContent?: Maybe<Scalars['String']>;
101
- email?: Maybe<Scalars['String']>;
111
+ organizationId?: Maybe<Scalars['String']>;
112
+ organizationNumber?: Maybe<Scalars['String']>;
102
113
  id: Scalars['ID'];
103
- language?: Maybe<Language>;
104
114
  memberId?: Maybe<Scalars['String']>;
115
+ email?: Maybe<Scalars['String']>;
116
+ /** Customer id for external system */
117
+ externalId?: Maybe<Scalars['String']>;
118
+ subscribedToNewsletter?: Maybe<Scalars['Boolean']>;
119
+ language?: Maybe<Language>;
120
+ billingAddress?: Maybe<CustomerAddress>;
121
+ deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
105
122
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
106
123
  orderHeaders?: Maybe<OrderHeaderResult>;
107
- organizationId?: Maybe<Scalars['String']>;
124
+ communication?: Maybe<CustomerCommunication>;
108
125
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
109
126
  store?: Maybe<Store>;
110
- subscribedToNewsletter?: Maybe<Scalars['Boolean']>;
127
+ dynamicContent?: Maybe<Scalars['String']>;
128
+ externalAttributes?: Maybe<Array<Maybe<CustomerExternalAttribute>>>;
129
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
130
+ googleUserId?: Maybe<Scalars['String']>;
111
131
  };
112
132
 
113
133
  export type BusinessCustomerOrderHeadersArgs = {
@@ -117,40 +137,40 @@ export type BusinessCustomerOrderHeadersArgs = {
117
137
 
118
138
  export type Cart = {
119
139
  __typename?: 'Cart';
120
- aggregatedDiscounts?: Maybe<Array<Maybe<Discount>>>;
140
+ id?: Maybe<Scalars['String']>;
141
+ totalQuantity?: Maybe<Scalars['Int']>;
142
+ productTotal?: Maybe<Price>;
143
+ productPreviousTotal?: Maybe<Price>;
121
144
  discountTotal?: Maybe<Price>;
145
+ aggregatedDiscounts?: Maybe<Array<Maybe<Discount>>>;
122
146
  externalCheckoutUrl?: Maybe<Scalars['Uri']>;
123
- id?: Maybe<Scalars['String']>;
124
147
  items?: Maybe<Array<Maybe<CartItem>>>;
125
- productPreviousTotal?: Maybe<Price>;
126
- productTotal?: Maybe<Price>;
127
- totalQuantity?: Maybe<Scalars['Int']>;
128
148
  };
129
149
 
130
150
  export type CartItem = {
131
151
  __typename?: 'CartItem';
152
+ id: Scalars['String'];
153
+ quantity: Scalars['Int'];
132
154
  articleNumber: Scalars['String'];
133
- configurations?: Maybe<Array<Maybe<SelectedProductConfiguration>>>;
155
+ images?: Maybe<Array<Maybe<ProductImage>>>;
156
+ subHeading?: Maybe<Scalars['String']>;
157
+ variant?: Maybe<ProductVariant>;
158
+ variantOptionNames?: Maybe<Array<Maybe<Scalars['String']>>>;
134
159
  customerComments?: Maybe<Array<Maybe<CartItemComment>>>;
135
- /** Discount total */
136
- discount?: Maybe<Price>;
137
160
  discounts?: Maybe<Array<Maybe<Discount>>>;
138
- id: Scalars['String'];
139
- images?: Maybe<Array<Maybe<ProductImage>>>;
140
- preOrderDate?: Maybe<Scalars['DateTime']>;
161
+ /** Total price, including discounts */
162
+ total: Price;
141
163
  /** Total price, excluding discounts */
142
164
  previousTotal: Price;
165
+ /** Unit price, including discounts */
166
+ unitPrice: Price;
143
167
  /** Unit price, excluding discounts */
144
168
  previousUnitPrice: Price;
169
+ /** Discount total */
170
+ discount?: Maybe<Price>;
145
171
  product?: Maybe<Product>;
146
- quantity: Scalars['Int'];
147
- subHeading?: Maybe<Scalars['String']>;
148
- /** Total price, including discounts */
149
- total: Price;
150
- /** Unit price, including discounts */
151
- unitPrice: Price;
152
- variant?: Maybe<ProductVariant>;
153
- variantOptionNames?: Maybe<Array<Maybe<Scalars['String']>>>;
172
+ configurations?: Maybe<Array<Maybe<SelectedProductConfiguration>>>;
173
+ preOrderDate?: Maybe<Scalars['DateTime']>;
154
174
  };
155
175
 
156
176
  export type CartItemComment = {
@@ -166,35 +186,52 @@ export type CartMutation = {
166
186
 
167
187
  export type Category = Document & {
168
188
  __typename?: 'Category';
169
- breadcrumbText?: Maybe<Scalars['String']>;
170
- content?: Maybe<Scalars['String']>;
171
- hasSubcategories?: Maybe<Scalars['Boolean']>;
172
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
173
- head?: Maybe<HtmlHead>;
174
189
  id: Scalars['Int'];
175
- images?: Maybe<Array<Maybe<CategoryImage>>>;
176
- /** A dynamic category has no fixed products; products are dynamically included
177
- * based on filters defined on the category in Admin. N.B. Products found on a
178
- * dynamic category has no route that includes said category, instead
179
- * product.primaryRoute will have to be used.
180
- */
181
- isDynamic: Scalars['Boolean'];
190
+ parentId?: Maybe<Scalars['Int']>;
191
+ name: Scalars['String'];
192
+ level: Scalars['Int'];
193
+ /** The time interval of the campaign/category */
194
+ activeDateSpan?: Maybe<CategoryActiveDateSpan>;
182
195
  /** Whether or not this category and all its children are considered hidden */
183
196
  isHidden: Scalars['Boolean'];
184
- level: Scalars['Int'];
185
197
  /** When empty will display the value of the name field */
186
198
  mainHeader?: Maybe<Scalars['String']>;
187
- name: Scalars['String'];
188
- parent?: Maybe<Category>;
189
- parentCategory?: Maybe<Category>;
190
- parentId?: Maybe<Scalars['Int']>;
199
+ content?: Maybe<Scalars['String']>;
200
+ externalId?: Maybe<Scalars['String']>;
201
+ externalDiscountId?: Maybe<Scalars['String']>;
202
+ images?: Maybe<Array<Maybe<CategoryImage>>>;
203
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
204
+ products?: Maybe<PagedResult>;
205
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
206
+ head?: Maybe<HtmlHead>;
191
207
  /** The primary route of this Category. NB: Carries a performance cost, as asking
192
208
  * for this will result in a separate API call in the backend.
193
209
  */
194
210
  primaryRoute?: Maybe<Route>;
195
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
196
- products?: Maybe<PagedResult>;
211
+ breadcrumbText?: Maybe<Scalars['String']>;
212
+ hasSubcategories?: Maybe<Scalars['Boolean']>;
197
213
  subcategories?: Maybe<Array<Maybe<Category>>>;
214
+ parentCategory?: Maybe<Category>;
215
+ parent?: Maybe<Category>;
216
+ /** A dynamic category has no fixed products; products are dynamically included
217
+ * based on filters defined on the category in Admin. N.B. Products found on a
218
+ * dynamic category has no route that includes said category, instead
219
+ * product.primaryRoute will have to be used.
220
+ */
221
+ isDynamic: Scalars['Boolean'];
222
+ /** The category's dynamic filtersNB: Carries a performance cost, as asking for
223
+ * this will result in a separate API call in the backend.
224
+ */
225
+ dynamicFiltering?: Maybe<Array<Maybe<CategoryDynamicFilter>>>;
226
+ /** Get content data set via the Content Editor. NB: Carries a performance cost,
227
+ * as asking for this will result in a separate API call in the backend.
228
+ */
229
+ data?: Maybe<Content>;
230
+ /** When set to false, the category will be excluded from sitemap. The frontend
231
+ * implementation should use this value to set meta tags to exclude the category
232
+ * from being indexed by crawlers. Defaults to true.
233
+ */
234
+ allowWebIndexing?: Maybe<Scalars['Boolean']>;
198
235
  };
199
236
 
200
237
  export type CategoryProductsArgs = {
@@ -205,16 +242,33 @@ export type CategoryProductsArgs = {
205
242
  filters?: Maybe<FilterInput>;
206
243
  };
207
244
 
245
+ export type CategoryActiveDateSpan = {
246
+ __typename?: 'CategoryActiveDateSpan';
247
+ startDate?: Maybe<Scalars['DateTime']>;
248
+ endDate?: Maybe<Scalars['DateTime']>;
249
+ };
250
+
208
251
  export type CategoryAutoCompleteResult = {
209
252
  __typename?: 'CategoryAutoCompleteResult';
210
253
  result?: Maybe<Array<Maybe<Category>>>;
211
254
  };
212
255
 
256
+ export type CategoryDynamicFilter = {
257
+ __typename?: 'CategoryDynamicFilter';
258
+ type?: Maybe<Scalars['String']>;
259
+ value?: Maybe<CategoryDynamicFilterValue>;
260
+ };
261
+
262
+ export type CategoryDynamicFilterValue =
263
+ | StringValue
264
+ | ListStringValue
265
+ | BoolValue;
266
+
213
267
  export type CategoryImage = {
214
268
  __typename?: 'CategoryImage';
269
+ width?: Maybe<Scalars['Int']>;
215
270
  height?: Maybe<Scalars['Int']>;
216
271
  url?: Maybe<Scalars['Uri']>;
217
- width?: Maybe<Scalars['Int']>;
218
272
  };
219
273
 
220
274
  export type CategorySearchResult = {
@@ -233,43 +287,83 @@ export type ChangeByOneItemQuantityInput = {
233
287
  */
234
288
  export type Channel = {
235
289
  __typename?: 'Channel';
236
- countries?: Maybe<Array<Maybe<Country>>>;
237
- currencies?: Maybe<Array<Maybe<Currency>>>;
238
- defaultCurrency?: Maybe<Currency>;
239
- defaultLanguage?: Maybe<Language>;
290
+ id: Scalars['Int'];
291
+ name?: Maybe<Scalars['String']>;
240
292
  displayName?: Maybe<Scalars['String']>;
241
293
  groupName?: Maybe<Scalars['String']>;
242
- id: Scalars['Int'];
243
- /** The root url of images, this can be used to build image urls if needed. */
244
- imageUrl?: Maybe<Scalars['String']>;
245
294
  isDefault?: Maybe<Scalars['Boolean']>;
295
+ url?: Maybe<Scalars['Uri']>;
296
+ settings?: Maybe<ChannelSettings>;
246
297
  languages?: Maybe<Array<Maybe<Language>>>;
247
- name?: Maybe<Scalars['String']>;
298
+ defaultLanguage?: Maybe<Language>;
299
+ currencies?: Maybe<Array<Maybe<Currency>>>;
300
+ defaultCurrency?: Maybe<Currency>;
301
+ countries?: Maybe<Array<Maybe<Country>>>;
302
+ /** The root url of images, this can be used to build image urls if needed. */
303
+ imageUrl?: Maybe<Scalars['String']>;
248
304
  /** This channel requires a user to be authorized. */
249
305
  requiresAuth?: Maybe<Scalars['Boolean']>;
250
- settings?: Maybe<ChannelSettings>;
251
- url?: Maybe<Scalars['Uri']>;
252
306
  };
253
307
 
254
308
  export type ChannelSettings = {
255
309
  __typename?: 'ChannelSettings';
256
- countrySettings?: Maybe<Array<Maybe<CountrySettings>>>;
257
- nostoAccountId?: Maybe<Scalars['String']>;
258
310
  pricesIncVat?: Maybe<Scalars['Boolean']>;
311
+ countrySettings?: Maybe<Array<Maybe<CountrySettings>>>;
259
312
  tracking?: Maybe<Tracking>;
313
+ nostoAccountId?: Maybe<Scalars['String']>;
260
314
  };
261
315
 
262
316
  export type Consent = {
263
317
  __typename?: 'Consent';
264
318
  id: Scalars['ID'];
265
- isMandatory?: Maybe<Scalars['Boolean']>;
266
- linkText?: Maybe<Scalars['String']>;
267
319
  name?: Maybe<Scalars['String']>;
268
- page?: Maybe<Page>;
269
- text?: Maybe<Scalars['String']>;
270
320
  title?: Maybe<Scalars['String']>;
321
+ text?: Maybe<Scalars['String']>;
322
+ linkText?: Maybe<Scalars['String']>;
323
+ page?: Maybe<Page>;
324
+ isMandatory?: Maybe<Scalars['Boolean']>;
325
+ };
326
+
327
+ export type Content = {
328
+ __typename?: 'Content';
329
+ name?: Maybe<Scalars['String']>;
330
+ id: Scalars['ID'];
331
+ items?: Maybe<Array<Maybe<ContentItem>>>;
332
+ tags?: Maybe<Array<Maybe<Scalars['String']>>>;
333
+ };
334
+
335
+ export type ContentItem = {
336
+ __typename?: 'ContentItem';
337
+ name?: Maybe<Scalars['String']>;
338
+ type: Scalars['String'];
339
+ properties?: Maybe<Array<Maybe<ContentItemProperty>>>;
340
+ children?: Maybe<Array<Maybe<ContentItem>>>;
341
+ };
342
+
343
+ export type ContentItemPropertiesArgs = {
344
+ getImageAsImageValue?: Maybe<Scalars['Boolean']>;
345
+ };
346
+
347
+ export type ContentItemProperty = {
348
+ __typename?: 'ContentItemProperty';
349
+ name: Scalars['String'];
350
+ type: Scalars['String'];
351
+ valueType?: Maybe<ContentPropertyValueType>;
352
+ value?: Maybe<ContentItemPropertyValue>;
271
353
  };
272
354
 
355
+ export type ContentItemPropertyValue =
356
+ | StringValue
357
+ | ImageValue
358
+ | BoolValue
359
+ | Product
360
+ | Category;
361
+
362
+ export enum ContentPropertyValueType {
363
+ Object = 'OBJECT',
364
+ Scalar = 'SCALAR'
365
+ }
366
+
273
367
  export type Coordinates = {
274
368
  __typename?: 'Coordinates';
275
369
  latitude: Scalars['Decimal'];
@@ -278,25 +372,33 @@ export type Coordinates = {
278
372
 
279
373
  export type Country = {
280
374
  __typename?: 'Country';
281
- code?: Maybe<Scalars['String']>;
282
375
  id: Scalars['ID'];
283
- isDefault?: Maybe<Scalars['Boolean']>;
376
+ code?: Maybe<Scalars['String']>;
284
377
  name?: Maybe<Scalars['String']>;
378
+ isDefault?: Maybe<Scalars['Boolean']>;
285
379
  };
286
380
 
287
381
  export type CountrySettings = {
288
382
  __typename?: 'CountrySettings';
289
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
290
- businessCustomerConsents?: Maybe<Array<Maybe<Consent>>>;
291
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
292
- businessCustomerFields?: Maybe<Array<Maybe<CustomerField>>>;
293
383
  countryCode: Scalars['String'];
294
384
  paymentTypes?: Maybe<Array<Maybe<PaymentType>>>;
295
385
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
296
- privateCustomerConsents?: Maybe<Array<Maybe<Consent>>>;
297
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
298
386
  privateCustomerFields?: Maybe<Array<Maybe<CustomerField>>>;
387
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
388
+ businessCustomerFields?: Maybe<Array<Maybe<CustomerField>>>;
299
389
  shipping?: Maybe<Shipping>;
390
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.
391
+ *
392
+ * This will use localization, and will work well when requesting one `channel`,
393
+ * but may give unpredictable results when getting multiple channels via `channels`
394
+ */
395
+ privateCustomerConsents?: Maybe<Array<Maybe<Consent>>>;
396
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.
397
+ *
398
+ * This will use localization, and will work well when requesting one `channel`,
399
+ * but may give unpredictable results when getting multiple channels via `channels`
400
+ */
401
+ businessCustomerConsents?: Maybe<Array<Maybe<Consent>>>;
300
402
  };
301
403
 
302
404
  export type CreateCustomerProductListInput = {
@@ -308,41 +410,46 @@ export type CreateCustomerProductListInput = {
308
410
 
309
411
  export type Currency = {
310
412
  __typename?: 'Currency';
311
- format?: Maybe<CurrencyFormat>;
312
413
  id: Scalars['String'];
313
- isDefault?: Maybe<Scalars['Boolean']>;
314
414
  name?: Maybe<Scalars['String']>;
415
+ isDefault?: Maybe<Scalars['Boolean']>;
416
+ format?: Maybe<CurrencyFormat>;
315
417
  };
316
418
 
317
419
  export type CurrencyFormat = {
318
420
  __typename?: 'CurrencyFormat';
319
- code: Scalars['String'];
320
421
  culture: Scalars['String'];
422
+ code: Scalars['String'];
321
423
  decimals: Scalars['Int'];
322
424
  };
323
425
 
324
426
  export type CustomBoolField = CustomField & {
325
427
  __typename?: 'CustomBoolField';
428
+ value: Scalars['Boolean'];
429
+ type?: Maybe<ProductCustomFieldType>;
326
430
  key?: Maybe<Scalars['String']>;
327
431
  title?: Maybe<Scalars['String']>;
328
- type?: Maybe<ProductCustomFieldType>;
329
- value: Scalars['Boolean'];
330
432
  };
331
433
 
332
434
  export type Customer = {
333
- billingAddress?: Maybe<CustomerAddress>;
334
- communication?: Maybe<CustomerCommunication>;
335
- deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
336
- dynamicContent?: Maybe<Scalars['String']>;
337
- email?: Maybe<Scalars['String']>;
338
435
  id: Scalars['ID'];
339
- language?: Maybe<Language>;
340
436
  memberId?: Maybe<Scalars['String']>;
437
+ email?: Maybe<Scalars['String']>;
438
+ /** Customer id for external system */
439
+ externalId?: Maybe<Scalars['String']>;
440
+ subscribedToNewsletter?: Maybe<Scalars['Boolean']>;
441
+ language?: Maybe<Language>;
442
+ billingAddress?: Maybe<CustomerAddress>;
443
+ deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
341
444
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
342
445
  orderHeaders?: Maybe<OrderHeaderResult>;
446
+ communication?: Maybe<CustomerCommunication>;
343
447
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
344
448
  store?: Maybe<Store>;
345
- subscribedToNewsletter?: Maybe<Scalars['Boolean']>;
449
+ dynamicContent?: Maybe<Scalars['String']>;
450
+ externalAttributes?: Maybe<Array<Maybe<CustomerExternalAttribute>>>;
451
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
452
+ googleUserId?: Maybe<Scalars['String']>;
346
453
  };
347
454
 
348
455
  export type CustomerOrderHeadersArgs = {
@@ -352,22 +459,22 @@ export type CustomerOrderHeadersArgs = {
352
459
 
353
460
  export type CustomerAddress = {
354
461
  __typename?: 'CustomerAddress';
462
+ id?: Maybe<Scalars['Int']>;
355
463
  addressName?: Maybe<Scalars['String']>;
356
- city?: Maybe<Scalars['String']>;
357
- co?: Maybe<Scalars['String']>;
358
- company?: Maybe<Scalars['String']>;
359
- companyAtt?: Maybe<Scalars['String']>;
360
- country?: Maybe<Country>;
361
- department?: Maybe<Scalars['String']>;
362
464
  firstName?: Maybe<Scalars['String']>;
363
- id?: Maybe<Scalars['Int']>;
364
465
  lastName?: Maybe<Scalars['String']>;
365
- mobilePhone?: Maybe<Scalars['String']>;
366
- municipality?: Maybe<Scalars['String']>;
367
- phone?: Maybe<Scalars['String']>;
466
+ companyAtt?: Maybe<Scalars['String']>;
467
+ company?: Maybe<Scalars['String']>;
468
+ department?: Maybe<Scalars['String']>;
469
+ streetName?: Maybe<Scalars['String']>;
470
+ co?: Maybe<Scalars['String']>;
368
471
  postalCode?: Maybe<Scalars['String']>;
472
+ city?: Maybe<Scalars['String']>;
473
+ municipality?: Maybe<Scalars['String']>;
369
474
  region?: Maybe<Scalars['String']>;
370
- streetName?: Maybe<Scalars['String']>;
475
+ country?: Maybe<Country>;
476
+ phone?: Maybe<Scalars['String']>;
477
+ mobilePhone?: Maybe<Scalars['String']>;
371
478
  };
372
479
 
373
480
  export type CustomerCommunication = {
@@ -377,41 +484,116 @@ export type CustomerCommunication = {
377
484
  acceptsSms?: Maybe<Scalars['Boolean']>;
378
485
  };
379
486
 
487
+ export type CustomerExternalAttribute = {
488
+ __typename?: 'CustomerExternalAttribute';
489
+ name: Scalars['String'];
490
+ value: Scalars['String'];
491
+ };
492
+
380
493
  export type CustomerField = {
381
494
  __typename?: 'CustomerField';
382
- fields?: Maybe<Array<Maybe<CustomerField>>>;
383
495
  id: Scalars['ID'];
384
- name: Scalars['ID'];
385
- pattern?: Maybe<Scalars['String']>;
386
496
  required: Scalars['Boolean'];
497
+ pattern?: Maybe<Scalars['String']>;
498
+ fields?: Maybe<Array<Maybe<CustomerField>>>;
499
+ name: Scalars['ID'];
387
500
  };
388
501
 
389
- export type CustomerProductList = {
390
- __typename?: 'CustomerProductList';
502
+ export type CustomerLoyalty = {
503
+ __typename?: 'CustomerLoyalty';
504
+ bonusChecks?: Maybe<Array<Maybe<CustomerLoyaltyBonusCheck>>>;
505
+ pointCards?: Maybe<Array<Maybe<CustomerLoyaltyPointCard>>>;
506
+ discounts?: Maybe<Array<Maybe<CustomerLoyaltyDiscount>>>;
507
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
508
+ bonusPoints?: Maybe<CustomerLoyaltyBonusPoints>;
509
+ };
510
+
511
+ export type CustomerLoyaltyDiscountsArgs = {
512
+ includeRedeemed?: Scalars['Boolean'];
513
+ };
514
+
515
+ export type CustomerLoyaltyBonusCheck = {
516
+ __typename?: 'CustomerLoyaltyBonusCheck';
517
+ externalId?: Maybe<Scalars['String']>;
518
+ name?: Maybe<Scalars['String']>;
519
+ startDate?: Maybe<Scalars['DateTime']>;
520
+ endDate?: Maybe<Scalars['DateTime']>;
521
+ redeemed?: Maybe<Scalars['Boolean']>;
522
+ redeemedOn?: Maybe<Scalars['DateTime']>;
523
+ /** For display purposes, not guaranteed to match up with a currency on the channel. */
524
+ currency?: Maybe<Scalars['String']>;
525
+ value?: Maybe<Scalars['Decimal']>;
526
+ };
527
+
528
+ export type CustomerLoyaltyBonusPoints = {
529
+ __typename?: 'CustomerLoyaltyBonusPoints';
530
+ points?: Maybe<Scalars['Int']>;
531
+ };
532
+
533
+ export type CustomerLoyaltyDiscount = {
534
+ __typename?: 'CustomerLoyaltyDiscount';
535
+ name?: Maybe<Scalars['String']>;
391
536
  description?: Maybe<Scalars['String']>;
392
- id: Scalars['ID'];
537
+ startDate?: Maybe<Scalars['DateTime']>;
538
+ endDate?: Maybe<Scalars['DateTime']>;
539
+ externalData?: Maybe<CustomerLoyaltyDiscountOfferExternalData>;
393
540
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
394
- items?: Maybe<Array<Maybe<CustomerProductListItem>>>;
541
+ category?: Maybe<Category>;
542
+ isActivatedByDiscountCode: Scalars['Boolean'];
543
+ discountCode?: Maybe<Scalars['String']>;
544
+ };
545
+
546
+ export type CustomerLoyaltyDiscountOfferExternalData = {
547
+ __typename?: 'CustomerLoyaltyDiscountOfferExternalData';
548
+ name?: Maybe<Scalars['String']>;
549
+ description?: Maybe<Scalars['String']>;
550
+ startDate?: Maybe<Scalars['DateTime']>;
551
+ endDate?: Maybe<Scalars['DateTime']>;
552
+ externalId?: Maybe<Scalars['String']>;
553
+ externalReference?: Maybe<Scalars['String']>;
554
+ heading?: Maybe<Scalars['String']>;
555
+ redeemed?: Maybe<Scalars['Boolean']>;
556
+ redeemedOn?: Maybe<Scalars['DateTime']>;
557
+ imageUrl?: Maybe<Scalars['String']>;
558
+ link?: Maybe<Scalars['String']>;
559
+ };
560
+
561
+ export type CustomerLoyaltyPointCard = {
562
+ __typename?: 'CustomerLoyaltyPointCard';
563
+ externalId?: Maybe<Scalars['String']>;
395
564
  name?: Maybe<Scalars['String']>;
565
+ lastStampTime?: Maybe<Scalars['DateTime']>;
566
+ numberOfSlots?: Maybe<Scalars['Int']>;
567
+ numberOfSlotsRemaining?: Maybe<Scalars['Int']>;
568
+ isActive?: Maybe<Scalars['Boolean']>;
569
+ };
570
+
571
+ export type CustomerProductList = {
572
+ __typename?: 'CustomerProductList';
573
+ id: Scalars['ID'];
396
574
  shareToken?: Maybe<Scalars['String']>;
575
+ name?: Maybe<Scalars['String']>;
576
+ description?: Maybe<Scalars['String']>;
397
577
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
398
578
  type?: Maybe<CustomerProductListType>;
579
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
580
+ items?: Maybe<Array<Maybe<CustomerProductListItem>>>;
399
581
  };
400
582
 
401
583
  export type CustomerProductListItem = {
402
584
  __typename?: 'CustomerProductListItem';
403
585
  description?: Maybe<Scalars['String']>;
404
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
405
- product?: Maybe<Product>;
406
586
  quantity?: Maybe<Scalars['Int']>;
407
587
  variant?: Maybe<ProductVariant>;
588
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
589
+ product?: Maybe<Product>;
408
590
  };
409
591
 
410
592
  export type CustomerProductListResult = {
411
593
  __typename?: 'CustomerProductListResult';
594
+ success?: Maybe<Scalars['Boolean']>;
412
595
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
413
596
  customerProductList?: Maybe<CustomerProductList>;
414
- success?: Maybe<Scalars['Boolean']>;
415
597
  };
416
598
 
417
599
  export type CustomerProductListType = {
@@ -469,13 +651,20 @@ export type CustomerUpdateDeliveryAddressInput = {
469
651
  addressName?: Maybe<Scalars['String']>;
470
652
  };
471
653
 
654
+ export type CustomerUpdateExternalAttribute = {
655
+ name: Scalars['String'];
656
+ value: Scalars['String'];
657
+ };
658
+
472
659
  export type CustomerUpdateInput = {
473
660
  pid?: Maybe<Scalars['String']>;
661
+ emailAddress?: Maybe<Scalars['String']>;
474
662
  organizationNumber?: Maybe<Scalars['String']>;
475
663
  billingAddress: CustomerUpdateBillingAddressInput;
476
664
  deliveryAddresses?: Maybe<Array<Maybe<CustomerUpdateDeliveryAddressInput>>>;
477
665
  preferences?: Maybe<CustomerUpdatePreferenceInput>;
478
666
  consents?: Maybe<Array<Maybe<CustomerUpdateConsentInput>>>;
667
+ externalAttributes?: Maybe<Array<Maybe<CustomerUpdateExternalAttribute>>>;
479
668
  dynamicContent?: Maybe<Scalars['String']>;
480
669
  };
481
670
 
@@ -498,42 +687,42 @@ export type CustomerUpdateResponse = {
498
687
  };
499
688
 
500
689
  export type CustomField = {
690
+ type?: Maybe<ProductCustomFieldType>;
501
691
  key?: Maybe<Scalars['String']>;
502
692
  title?: Maybe<Scalars['String']>;
503
- type?: Maybe<ProductCustomFieldType>;
504
693
  };
505
694
 
506
695
  export type CustomHtmlField = CustomField & {
507
696
  __typename?: 'CustomHtmlField';
697
+ value: Scalars['String'];
698
+ type?: Maybe<ProductCustomFieldType>;
508
699
  key?: Maybe<Scalars['String']>;
509
700
  title?: Maybe<Scalars['String']>;
510
- type?: Maybe<ProductCustomFieldType>;
511
- value: Scalars['String'];
512
701
  };
513
702
 
514
703
  export type CustomItem = {
515
704
  __typename?: 'CustomItem';
516
- content?: Maybe<Scalars['String']>;
517
705
  id: Scalars['Int'];
518
- image?: Maybe<Image>;
519
- linkUrl?: Maybe<Scalars['Uri']>;
520
706
  name: Scalars['String'];
707
+ content?: Maybe<Scalars['String']>;
708
+ linkUrl?: Maybe<Scalars['Uri']>;
709
+ image?: Maybe<Image>;
521
710
  };
522
711
 
523
712
  export type CustomListField = CustomField & {
524
713
  __typename?: 'CustomListField';
714
+ value?: Maybe<Array<Maybe<Scalars['String']>>>;
715
+ type?: Maybe<ProductCustomFieldType>;
525
716
  key?: Maybe<Scalars['String']>;
526
717
  title?: Maybe<Scalars['String']>;
527
- type?: Maybe<ProductCustomFieldType>;
528
- value?: Maybe<Array<Maybe<Scalars['String']>>>;
529
718
  };
530
719
 
531
720
  export type CustomMultiLevelListField = CustomField & {
532
721
  __typename?: 'CustomMultiLevelListField';
533
722
  items?: Maybe<Array<Maybe<CustomMultiLevelListFieldItem>>>;
723
+ type?: Maybe<ProductCustomFieldType>;
534
724
  key?: Maybe<Scalars['String']>;
535
725
  title?: Maybe<Scalars['String']>;
536
- type?: Maybe<ProductCustomFieldType>;
537
726
  };
538
727
 
539
728
  export type CustomMultiLevelListFieldItem = {
@@ -546,10 +735,10 @@ export type CustomMultiLevelListFieldItem = {
546
735
 
547
736
  export type CustomStringField = CustomField & {
548
737
  __typename?: 'CustomStringField';
738
+ value: Scalars['String'];
739
+ type?: Maybe<ProductCustomFieldType>;
549
740
  key?: Maybe<Scalars['String']>;
550
741
  title?: Maybe<Scalars['String']>;
551
- type?: Maybe<ProductCustomFieldType>;
552
- value: Scalars['String'];
553
742
  };
554
743
 
555
744
  export type DeleteCustomerProductListResult = {
@@ -559,46 +748,93 @@ export type DeleteCustomerProductListResult = {
559
748
 
560
749
  export type Discount = {
561
750
  __typename?: 'Discount';
562
- campaign?: Maybe<Category>;
563
- description?: Maybe<Scalars['String']>;
751
+ externalId?: Maybe<Scalars['ID']>;
564
752
  name?: Maybe<Scalars['String']>;
565
753
  value?: Maybe<Price>;
754
+ type?: Maybe<DiscountType>;
755
+ description?: Maybe<Scalars['String']>;
756
+ campaign?: Maybe<Category>;
566
757
  };
567
758
 
759
+ export enum DiscountType {
760
+ /** No discount defined */
761
+ Undefined = 'UNDEFINED',
762
+ /** Discount drops price of the order total by defined amount */
763
+ FixedAmount = 'FIXED_AMOUNT',
764
+ /** Discount drops price of the product by X % */
765
+ Percent = 'PERCENT',
766
+ /** Discount will get the amount of the cheapest product and use this as a discount */
767
+ Items = 'ITEMS',
768
+ /** Discount drops total price of the product if there is at least X of them in cart */
769
+ ItemsPercentageLimit = 'ITEMS_PERCENTAGE_LIMIT',
770
+ /** Only a collection of products */
771
+ OnlyUseLandingPage = 'ONLY_USE_LANDING_PAGE',
772
+ /** Discount drops price of the least expensive product in cart */
773
+ PercentOnLeastExpensiveItem = 'PERCENT_ON_LEAST_EXPENSIVE_ITEM',
774
+ /** Discount drops price of the most expensive product in cart */
775
+ PercentOnMostExpensiveItem = 'PERCENT_ON_MOST_EXPENSIVE_ITEM',
776
+ /** Discount allows to get a free gift when the product is added */
777
+ FreeProduct = 'FREE_PRODUCT',
778
+ /** Discount allows to get free shipping option for the product */
779
+ FreeShipping = 'FREE_SHIPPING',
780
+ /** Discount drops price for the package when all products in the package is added to cart */
781
+ PackageDiscount = 'PACKAGE_DISCOUNT',
782
+ /** Discount on the order total from a voucher */
783
+ BonusVoucherDiscount = 'BONUS_VOUCHER_DISCOUNT',
784
+ /** Discount allows to buy amount of X of the article, but pay only for amount of Y */
785
+ BuyXArticlesPayYAmount = 'BUY_X_ARTICLES_PAY_Y_AMOUNT'
786
+ }
787
+
568
788
  export type Document = {
569
- breadcrumbText?: Maybe<Scalars['String']>;
570
789
  head?: Maybe<HtmlHead>;
571
790
  primaryRoute?: Maybe<Route>;
791
+ breadcrumbText?: Maybe<Scalars['String']>;
572
792
  };
573
793
 
574
794
  export type ExternalCustomer = {
575
795
  __typename?: 'ExternalCustomer';
576
- address?: Maybe<MaskedProperty>;
577
- city?: Maybe<MaskedProperty>;
578
- co?: Maybe<MaskedProperty>;
579
- country?: Maybe<MaskedProperty>;
580
- email?: Maybe<MaskedProperty>;
581
796
  externalId?: Maybe<Scalars['String']>;
797
+ email?: Maybe<MaskedProperty>;
582
798
  firstName?: Maybe<MaskedProperty>;
583
799
  lastName?: Maybe<MaskedProperty>;
584
- mobilePhoneNumber?: Maybe<MaskedProperty>;
585
- phoneNumber?: Maybe<MaskedProperty>;
800
+ co?: Maybe<MaskedProperty>;
801
+ address?: Maybe<MaskedProperty>;
802
+ city?: Maybe<MaskedProperty>;
586
803
  postalCode?: Maybe<MaskedProperty>;
804
+ country?: Maybe<MaskedProperty>;
805
+ countryCode?: Maybe<Scalars['String']>;
806
+ phoneNumber?: Maybe<MaskedProperty>;
807
+ mobilePhoneNumber?: Maybe<MaskedProperty>;
808
+ pid?: Maybe<MaskedProperty>;
587
809
  };
588
810
 
589
- /** The activation status has 3 states;
811
+ /** The activation status has 4 states;
590
812
  * PREEXISTING_CUSTOMER: No customer info will be returned and the customer is advised to login to the preexisting account.
591
- * ACTIVATION_REQUIRED: The customer account needs to be activated. Email (masked)
592
- * and externalId will be the only fields set on `customer`.
813
+ * ACTIVATION_REQUIRED: The customer account needs to be activated. Email (masked),
814
+ * FirstName (masked) and externalId will be the only fields set on `customer`.
593
815
  * ADDITIONAL_USER_DATA_REQUIRED: Additional data needed to register the customer,
594
816
  * the existing customer info will be available with masking on customer.
595
- *
596
- * Error codes: CustomerByKeyFailed
817
+ * NON_EXISTING_CUSTOMER: Customer does not exist in any system and will have to do a sign up.
818
+ * COUNTRY_NOT_VALID: The customer account may not be activated on this channel as
819
+ * it's missing the customer country. Email (masked), FirstName (masked),
820
+ * externalId and countryCode will be the only fields set on `customer`.
597
821
  */
598
- export type ExternalCustomerLookupResult = {
599
- __typename?: 'ExternalCustomerLookupResult';
600
- customer?: Maybe<ExternalCustomer>;
822
+ export type ExternalCustomerResult = {
823
+ __typename?: 'ExternalCustomerResult';
601
824
  status?: Maybe<ActivationStatusSource>;
825
+ customer?: Maybe<ExternalCustomer>;
826
+ };
827
+
828
+ export type ExternalOrderData = {
829
+ __typename?: 'ExternalOrderData';
830
+ name: Scalars['String'];
831
+ value: Scalars['String'];
832
+ };
833
+
834
+ export type FacebookConversionsApi = {
835
+ __typename?: 'FacebookConversionsApi';
836
+ accessToken?: Maybe<Scalars['String']>;
837
+ pixelId?: Maybe<Scalars['String']>;
602
838
  };
603
839
 
604
840
  export type Filter = {
@@ -615,8 +851,8 @@ export type FilterInput = {
615
851
 
616
852
  export type FreeShippingLimit = {
617
853
  __typename?: 'FreeShippingLimit';
618
- exVat?: Maybe<Scalars['Decimal']>;
619
854
  incVat?: Maybe<Scalars['Decimal']>;
855
+ exVat?: Maybe<Scalars['Decimal']>;
620
856
  };
621
857
 
622
858
  export type GoogleAnalytics = {
@@ -625,29 +861,43 @@ export type GoogleAnalytics = {
625
861
  useArticleNumberAsId?: Maybe<Scalars['Boolean']>;
626
862
  };
627
863
 
864
+ export type GoogleAnalytics4 = {
865
+ __typename?: 'GoogleAnalytics4';
866
+ trackingId?: Maybe<Scalars['String']>;
867
+ useArticleNumberAsId?: Maybe<Scalars['Boolean']>;
868
+ };
869
+
628
870
  export type GoogleTagManager = {
629
871
  __typename?: 'GoogleTagManager';
630
872
  containerId?: Maybe<Scalars['String']>;
873
+ useGa4Events?: Maybe<Scalars['Boolean']>;
631
874
  };
632
875
 
633
876
  export type HtmlHead = {
634
877
  __typename?: 'HtmlHead';
635
- metaTags?: Maybe<Array<Maybe<HtmlMetaTag>>>;
636
878
  title?: Maybe<Scalars['String']>;
879
+ metaTags?: Maybe<Array<Maybe<HtmlMetaTag>>>;
637
880
  };
638
881
 
639
882
  export type HtmlMetaTag = {
640
883
  __typename?: 'HtmlMetaTag';
641
- content?: Maybe<Scalars['String']>;
642
884
  name?: Maybe<Scalars['String']>;
885
+ content?: Maybe<Scalars['String']>;
643
886
  };
644
887
 
645
888
  export type Image = {
646
889
  __typename?: 'Image';
647
- height?: Maybe<Scalars['Int']>;
648
890
  title?: Maybe<Scalars['String']>;
649
891
  url?: Maybe<Scalars['Uri']>;
650
892
  width?: Maybe<Scalars['Int']>;
893
+ height?: Maybe<Scalars['Int']>;
894
+ };
895
+
896
+ export type ImageValue = {
897
+ __typename?: 'ImageValue';
898
+ value?: Maybe<Scalars['String']>;
899
+ focalPointX?: Maybe<Scalars['Int']>;
900
+ focalPointY?: Maybe<Scalars['Int']>;
651
901
  };
652
902
 
653
903
  export type InputComment = {
@@ -657,17 +907,23 @@ export type InputComment = {
657
907
 
658
908
  export type Language = {
659
909
  __typename?: 'Language';
660
- culture: Scalars['String'];
661
910
  id: Scalars['String'];
662
- isDefault?: Maybe<Scalars['Boolean']>;
663
911
  name: Scalars['String'];
912
+ culture: Scalars['String'];
913
+ isDefault?: Maybe<Scalars['Boolean']>;
914
+ };
915
+
916
+ export type Link = {
917
+ __typename?: 'Link';
918
+ target?: Maybe<Scalars['String']>;
919
+ link?: Maybe<Scalars['Uri']>;
664
920
  };
665
921
 
666
922
  export type ListFilter = Filter & {
667
923
  __typename?: 'ListFilter';
668
924
  hasActiveItems: Scalars['Boolean'];
669
- id: Scalars['String'];
670
925
  items: Array<Maybe<ListFilterItem>>;
926
+ id: Scalars['String'];
671
927
  name: Scalars['String'];
672
928
  };
673
929
 
@@ -679,65 +935,44 @@ export type ListFilterInput = {
679
935
  export type ListFilterItem = {
680
936
  __typename?: 'ListFilterItem';
681
937
  isActive?: Maybe<Scalars['Boolean']>;
682
- id: Scalars['String'];
683
- resultCount?: Maybe<Scalars['Int']>;
684
938
  text: Scalars['String'];
939
+ id: Scalars['String'];
685
940
  value: Scalars['String'];
941
+ resultCount?: Maybe<Scalars['Int']>;
686
942
  };
687
943
 
688
- /** The response will contain a authorization token if the login was successful */
689
- export type LoginResponse = {
690
- __typename?: 'LoginResponse';
691
- token: Token;
692
- };
693
-
694
- export type Loyalty = {
695
- __typename?: 'Loyalty';
696
- bonusChecks?: Maybe<Array<Maybe<LoyaltyBonusCheck>>>;
697
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
698
- bonusPoints?: Maybe<LoyaltyBonusPoints>;
699
- pointCards?: Maybe<Array<Maybe<LoyaltyPointCard>>>;
944
+ export type ListStringValue = {
945
+ __typename?: 'ListStringValue';
946
+ value?: Maybe<Array<Maybe<Scalars['String']>>>;
700
947
  };
701
948
 
702
- export type LoyaltyBonusCheck = {
703
- __typename?: 'LoyaltyBonusCheck';
704
- /** For display purposes, not guaranteed to match up with a currency on the channel. */
705
- currency?: Maybe<Scalars['String']>;
706
- endDate?: Maybe<Scalars['DateTime']>;
707
- externalId?: Maybe<Scalars['String']>;
708
- name?: Maybe<Scalars['String']>;
709
- redeemed?: Maybe<Scalars['Boolean']>;
710
- redeemedOn?: Maybe<Scalars['DateTime']>;
711
- startDate?: Maybe<Scalars['DateTime']>;
712
- value?: Maybe<Scalars['Decimal']>;
949
+ export type LoginExternalCustomerInput = {
950
+ externalCustomerToken: Scalars['String'];
713
951
  };
714
952
 
715
- export type LoyaltyBonusPoints = {
716
- __typename?: 'LoyaltyBonusPoints';
717
- points?: Maybe<Scalars['Int']>;
953
+ export type LoginExternalCustomerResult = {
954
+ __typename?: 'LoginExternalCustomerResult';
955
+ token?: Maybe<Token>;
718
956
  };
719
957
 
720
- export type LoyaltyPointCard = {
721
- __typename?: 'LoyaltyPointCard';
722
- externalId?: Maybe<Scalars['String']>;
723
- isActive?: Maybe<Scalars['Boolean']>;
724
- lastStampTime?: Maybe<Scalars['DateTime']>;
725
- name?: Maybe<Scalars['String']>;
726
- numberOfSlots?: Maybe<Scalars['Int']>;
727
- numberOfSlotsRemaining?: Maybe<Scalars['Int']>;
958
+ /** The response will contain a authorization token if the login was successful */
959
+ export type LoginResponse = {
960
+ __typename?: 'LoginResponse';
961
+ token: Token;
962
+ customerId?: Maybe<Scalars['Int']>;
728
963
  };
729
964
 
730
965
  export type MaskedProperty = {
731
966
  __typename?: 'MaskedProperty';
732
- encrypted?: Maybe<Scalars['String']>;
733
967
  masked?: Maybe<Scalars['String']>;
968
+ encrypted?: Maybe<Scalars['String']>;
734
969
  };
735
970
 
736
971
  export type MultiListFilter = Filter & {
737
972
  __typename?: 'MultiListFilter';
738
973
  isActive: Scalars['Boolean'];
739
- id: Scalars['String'];
740
974
  lists: Array<Maybe<MultiListFilterList>>;
975
+ id: Scalars['String'];
741
976
  name: Scalars['String'];
742
977
  };
743
978
 
@@ -750,8 +985,14 @@ export type MultiListFilterList = {
750
985
  __typename?: 'MultiListFilterList';
751
986
  hasActiveItems: Scalars['Boolean'];
752
987
  id: Scalars['String'];
753
- items: Array<Maybe<ListFilterItem>>;
754
988
  name: Scalars['String'];
989
+ items: Array<Maybe<ListFilterItem>>;
990
+ };
991
+
992
+ export type MultipleContent = {
993
+ __typename?: 'MultipleContent';
994
+ notFoundIds: Array<Maybe<Scalars['ID']>>;
995
+ content: Array<Maybe<Content>>;
755
996
  };
756
997
 
757
998
  export type Mutation = {
@@ -766,18 +1007,14 @@ export type Mutation = {
766
1007
  setMultiListFilter?: Maybe<MultiListFilter>;
767
1008
  clearMultiListFilter?: Maybe<MultiListFilter>;
768
1009
  clearMultiListFilterList?: Maybe<MultiListFilter>;
769
- /** Adds products to the cart where you can add comments to the products and
770
- * determine their quantities. Replies with the affected cart if a cartId has
771
- * been presented, otherwise a new cart will be created.
772
- */
773
- addMultipleToCart?: Maybe<CartMutation>;
774
- /** Adds a product to the cart where you can add a comment to the product and
775
- * determine the quantity. Replies with the affected cart if a cartId has been
776
- * presented, otherwise a new cart will be created.
1010
+ subscribeToStockNotifications?: Maybe<Scalars['Boolean']>;
1011
+ /** This mutation's purpose is to subscribe a customer to a newsletter. In order
1012
+ * to subscribe a customer a valid email address is required
1013
+ *
1014
+ * Responds with a boolean value whether the subscription has been successful or not
777
1015
  */
778
- addToCart?: Maybe<CartMutation>;
779
- /** # addToCustomerProductList
780
- * ## Description
1016
+ subscribeToNewsletter?: Maybe<Scalars['Boolean']>;
1017
+ /** ## Description
781
1018
  * Adds items to product list, null id adds items to the default product list.
782
1019
  * ## Error Codes
783
1020
  * ### Unauthorized
@@ -792,8 +1029,7 @@ export type Mutation = {
792
1029
  * Article number matched more than one article
793
1030
  */
794
1031
  addToCustomerProductList?: Maybe<CustomerProductListResult>;
795
- /** # createCustomerProductList
796
- * ## Description
1032
+ /** ## Description
797
1033
  * Creates a product list for a logged in customer
798
1034
  * ## Error Codes
799
1035
  * ### Unauthorized
@@ -802,16 +1038,7 @@ export type Mutation = {
802
1038
  * Error in underlying API call, more info may be contained in the error message.
803
1039
  */
804
1040
  createCustomerProductList?: Maybe<CustomerProductListResult>;
805
- /** This mutation is used to reduce the quantity of a product in the cart, replies
806
- * with the affected cart ruled by the cartId in the input.
807
- */
808
- decrementItemQuantity?: Maybe<CartMutation>;
809
- /** This mutation deletes a customer. An authorization token is needed in the
810
- * request, in order to be able to delete the customer.
811
- */
812
- deleteCustomer?: Maybe<Scalars['Boolean']>;
813
- /** # deleteCustomerProductList
814
- * ## Description
1041
+ /** ## Description
815
1042
  * Deletes a product list for a logged in customer
816
1043
  * ## Error Codes
817
1044
  * ### Unauthorized
@@ -822,19 +1049,7 @@ export type Mutation = {
822
1049
  * Error in underlying API call, more info may be contained in the error message.
823
1050
  */
824
1051
  deleteCustomerProductList?: Maybe<DeleteCustomerProductListResult>;
825
- /** This mutation is used to increase the quantity of a product in the cart,
826
- * replies with the affected cart ruled by the cartId in the input
827
- */
828
- incrementItemQuantity?: Maybe<CartMutation>;
829
- /** LoginMutation will log a user in.
830
- * One of email, pid, externalId or memberNumber is required, along with a password.
831
- * Returns an authorization token if the login was successful.
832
- */
833
- login?: Maybe<LoginResponse>;
834
- /** Removes a specific product in the cart, replies with the affected cart */
835
- removeFromCart?: Maybe<CartMutation>;
836
- /** # removeFromCustomerProductList
837
- * ## Description
1052
+ /** ## Description
838
1053
  * Removes an item from a product list for a logged in customer, null id removes item in the default product list.
839
1054
  * ## Error Codes
840
1055
  * ### Unauthorized
@@ -851,46 +1066,7 @@ export type Mutation = {
851
1066
  * Argument `articleNumbers` cannot be null or empty.
852
1067
  */
853
1068
  removeFromCustomerProductList?: Maybe<CustomerProductListResult>;
854
- /** Removes specific items from the cart, replies with the affected cart */
855
- removeMultipleFromCart?: Maybe<CartMutation>;
856
- /** Requires a valid email and returns boolean value if successful, otherwise an error will be thrown */
857
- requestPasswordReset?: Maybe<RequestPasswordResetResult>;
858
- /** Requires a valid resetPasswordToken and a new password and if successful will return a authentication token */
859
- resetPassword?: Maybe<ResetPassword>;
860
- /** Used to add a specific quantity to a product in the cart. Replies with the affected cart ruled by the cartId in the input */
861
- setItemQuantity?: Maybe<CartMutation>;
862
- /** The SignUp-mutation is used for creating a customer.
863
- *
864
- * If the sign up is successful the customer may be considered to be logged on and an authentication token will be returned
865
- */
866
- signUp?: Maybe<SignUpResponse>;
867
- /** This mutation's purpose is to subscribe a customer to a newsletter. In order
868
- * to subscribe a customer a valid email address is required
869
- *
870
- * Responds with a boolean value whether the subscription has been successful or not
871
- */
872
- subscribeToNewsletter?: Maybe<Scalars['Boolean']>;
873
- subscribeToStockNotifications?: Maybe<Scalars['Boolean']>;
874
- /** Responds with the affected cart. */
875
- updateCart?: Maybe<UpdateCartMutation>;
876
- /** This mutation's purpose is to update a existing customer's information. An
877
- * authorization token is needed in the request, in order to be able to delete the customer.
878
- */
879
- updateCustomer?: Maybe<CustomerUpdateResponse>;
880
- /** # updateCustomerProductList
881
- * ## Description
882
- * Updates a product list for a logged in customer
883
- * ## Error Codes
884
- * ### Unauthorized
885
- *
886
- * ### ProductListNotFound
887
- * Argument `id` did not match any list for this customer.
888
- * ### UnableToUpdateProductList
889
- * Error in underlying API call, more info may be contained in the error message.
890
- */
891
- updateCustomerProductList?: Maybe<CustomerProductListResult>;
892
- /** # updateCustomerProductListItem
893
- * ## Description
1069
+ /** ## Description
894
1070
  * Updates an item in product list, null id updates item in the default product list.
895
1071
  * ## Error Codes
896
1072
  * ### Unauthorized
@@ -907,8 +1083,98 @@ export type Mutation = {
907
1083
  * Argument `articleNumber` cannot be null or empty.
908
1084
  */
909
1085
  updateCustomerProductListItem?: Maybe<CustomerProductListResult>;
1086
+ /** ## Description
1087
+ * Updates a product list for a logged in customer
1088
+ * ## Error Codes
1089
+ * ### Unauthorized
1090
+ *
1091
+ * ### ProductListNotFound
1092
+ * Argument `id` did not match any list for this customer.
1093
+ * ### UnableToUpdateProductList
1094
+ * Error in underlying API call, more info may be contained in the error message.
1095
+ */
1096
+ updateCustomerProductList?: Maybe<CustomerProductListResult>;
1097
+ /** Error codes: CustomerNotFound, CustomerAlreadyActivated,
1098
+ * UnableToActivateCustomer, UnableToLoginCustomer, InvalidCustomerActivateInput
1099
+ */
1100
+ activateExternalCustomerById?: Maybe<ActivateExternalCustomerByIdResult>;
1101
+ /** Error codes: CustomerNotFound, CustomerAlreadyActivated,
1102
+ * UnableToActivateCustomer, UnableToLoginCustomer, InvalidCustomerActivateInput
1103
+ */
1104
+ activateExternalCustomerByToken?: Maybe<
1105
+ ActivateExternalCustomerByTokenResult
1106
+ >;
1107
+ /** This mutation deletes a customer. An authorization token is needed in the
1108
+ * request, in order to be able to delete the customer.
1109
+ */
1110
+ deleteCustomer?: Maybe<Scalars['Boolean']>;
1111
+ loginExternalCustomer?: Maybe<LoginExternalCustomerResult>;
1112
+ /** LoginMutation will log a user in.
1113
+ * One of email, pid, externalId, memberNumber or customerId is required, along with a password.
1114
+ * Returns an authorization token if the login was successful.
1115
+ */
1116
+ login?: Maybe<LoginResponse>;
1117
+ /** Requires a valid email and returns boolean value if successful, otherwise an error will be thrown */
1118
+ requestPasswordReset?: Maybe<RequestPasswordResetResult>;
1119
+ /** Requires a valid resetPasswordToken and a new password and if successful will return a authentication token */
1120
+ resetPassword?: Maybe<ResetPassword>;
1121
+ /** The SignUp-mutation is used for creating a customer.
1122
+ *
1123
+ * If the sign up is successful the customer may be considered to be logged on and an authentication token will be returned
1124
+ */
1125
+ signUp?: Maybe<SignUpResponse>;
1126
+ /** ## Description
1127
+ * This mutation's purpose is to update a existing customer's group using an
1128
+ * access code. An authorization token is needed in the request, in order to be
1129
+ * able to update the customer.
1130
+ * ## Error Codes
1131
+ * ### Unauthorized
1132
+ * Unauthorized
1133
+ * ### UnableToUpdateCustomer
1134
+ * Error in underlying API call, more info may be contained in the error message.
1135
+ * ### CustomerAlreadyUpdated
1136
+ * Customer already in the customer group
1137
+ * ### CustomerNotFound
1138
+ * No match on customer with access code
1139
+ */
1140
+ updateCustomerGroup?: Maybe<UpdateCustomerGroupResult>;
1141
+ /** This mutation's purpose is to update an existing customer's information. An
1142
+ * authorization token is needed in the request, in order to be able to update the customer.
1143
+ */
1144
+ updateCustomer?: Maybe<CustomerUpdateResponse>;
1145
+ /** This mutation's purpose is to update a existing customer's price list using an
1146
+ * access code. An authorization token is needed in the request, in order to be
1147
+ * able to update the customer.
1148
+ */
1149
+ updateCustomerPriceList?: Maybe<UpdateCustomerPriceListResult>;
910
1150
  /** The updatePassword mutation updates the customers password. Both the old password and a new password is a requirement. */
911
1151
  updatePassword?: Maybe<UpdatePasswordResult>;
1152
+ /** Adds products to the cart where you can add comments to the products and
1153
+ * determine their quantities. Replies with the affected cart if a cartId has
1154
+ * been presented, otherwise a new cart will be created.
1155
+ */
1156
+ addMultipleToCart?: Maybe<CartMutation>;
1157
+ /** Adds a product to the cart where you can add a comment to the product and
1158
+ * determine the quantity. Replies with the affected cart if a cartId has been
1159
+ * presented, otherwise a new cart will be created.
1160
+ */
1161
+ addToCart?: Maybe<CartMutation>;
1162
+ /** This mutation is used to reduce the quantity of a product in the cart, replies
1163
+ * with the affected cart ruled by the cartId in the input.
1164
+ */
1165
+ decrementItemQuantity?: Maybe<CartMutation>;
1166
+ /** Used to add a specific quantity to a product in the cart. Replies with the affected cart ruled by the cartId in the input */
1167
+ setItemQuantity?: Maybe<CartMutation>;
1168
+ /** This mutation is used to increase the quantity of a product in the cart,
1169
+ * replies with the affected cart ruled by the cartId in the input
1170
+ */
1171
+ incrementItemQuantity?: Maybe<CartMutation>;
1172
+ /** Removes a specific product in the cart, replies with the affected cart */
1173
+ removeFromCart?: Maybe<CartMutation>;
1174
+ /** Removes specific items from the cart, replies with the affected cart */
1175
+ removeMultipleFromCart?: Maybe<CartMutation>;
1176
+ /** Responds with the affected cart. */
1177
+ updateCart?: Maybe<UpdateCartMutation>;
912
1178
  };
913
1179
 
914
1180
  export type MutationToggleListFilterItemArgs = {
@@ -955,13 +1221,13 @@ export type MutationClearMultiListFilterListArgs = {
955
1221
  filter: MultiListFilter;
956
1222
  };
957
1223
 
958
- export type MutationAddMultipleToCartArgs = {
959
- cartId?: Maybe<Scalars['String']>;
960
- items: Array<Maybe<AddMultipleToCartInput>>;
1224
+ export type MutationSubscribeToStockNotificationsArgs = {
1225
+ email: Scalars['String'];
1226
+ articleNumber: Scalars['String'];
961
1227
  };
962
1228
 
963
- export type MutationAddToCartArgs = {
964
- input: AddToCartInput;
1229
+ export type MutationSubscribeToNewsletterArgs = {
1230
+ email: Scalars['String'];
965
1231
  };
966
1232
 
967
1233
  export type MutationAddToCustomerProductListArgs = {
@@ -973,37 +1239,45 @@ export type MutationCreateCustomerProductListArgs = {
973
1239
  input: CreateCustomerProductListInput;
974
1240
  };
975
1241
 
976
- export type MutationDecrementItemQuantityArgs = {
977
- input: ChangeByOneItemQuantityInput;
978
- };
979
-
980
1242
  export type MutationDeleteCustomerProductListArgs = {
981
1243
  id: Scalars['ID'];
982
1244
  };
983
1245
 
984
- export type MutationIncrementItemQuantityArgs = {
985
- input: ChangeByOneItemQuantityInput;
1246
+ export type MutationRemoveFromCustomerProductListArgs = {
1247
+ id?: Maybe<Scalars['ID']>;
1248
+ articleNumbers?: Maybe<Array<Scalars['String']>>;
986
1249
  };
987
1250
 
988
- export type MutationLoginArgs = {
989
- password: Scalars['String'];
990
- email?: Maybe<Scalars['String']>;
991
- pid?: Maybe<Scalars['String']>;
992
- externalId?: Maybe<Scalars['String']>;
993
- memberNumber?: Maybe<Scalars['String']>;
1251
+ export type MutationUpdateCustomerProductListItemArgs = {
1252
+ input: UpdateCustomerProductListItemInput;
994
1253
  };
995
1254
 
996
- export type MutationRemoveFromCartArgs = {
997
- input: RemoveFromCartInput;
1255
+ export type MutationUpdateCustomerProductListArgs = {
1256
+ input: UpdateCustomerProductListInput;
998
1257
  };
999
1258
 
1000
- export type MutationRemoveFromCustomerProductListArgs = {
1001
- id?: Maybe<Scalars['ID']>;
1002
- articleNumbers?: Maybe<Array<Scalars['String']>>;
1259
+ export type MutationActivateExternalCustomerByIdArgs = {
1260
+ input?: Maybe<ActivateExternalCustomerByIdInput>;
1003
1261
  };
1004
1262
 
1005
- export type MutationRemoveMultipleFromCartArgs = {
1006
- input: RemoveMultipleFromCartInput;
1263
+ export type MutationActivateExternalCustomerByTokenArgs = {
1264
+ input?: Maybe<ActivateExternalCustomerByTokenInput>;
1265
+ };
1266
+
1267
+ export type MutationLoginExternalCustomerArgs = {
1268
+ input?: Maybe<LoginExternalCustomerInput>;
1269
+ };
1270
+
1271
+ export type MutationLoginArgs = {
1272
+ password?: Maybe<Scalars['String']>;
1273
+ email?: Maybe<Scalars['String']>;
1274
+ pid?: Maybe<Scalars['String']>;
1275
+ externalId?: Maybe<Scalars['String']>;
1276
+ memberNumber?: Maybe<Scalars['String']>;
1277
+ externalHashId?: Maybe<Scalars['String']>;
1278
+ timeStamp?: Maybe<Scalars['String']>;
1279
+ customerId?: Maybe<Scalars['Int']>;
1280
+ cartId?: Maybe<Scalars['String']>;
1007
1281
  };
1008
1282
 
1009
1283
  export type MutationRequestPasswordResetArgs = {
@@ -1015,42 +1289,58 @@ export type MutationResetPasswordArgs = {
1015
1289
  newPassword: Scalars['String'];
1016
1290
  };
1017
1291
 
1018
- export type MutationSetItemQuantityArgs = {
1019
- input: SetItemQuantityInput;
1020
- };
1021
-
1022
1292
  export type MutationSignUpArgs = {
1023
1293
  input: SignUpInput;
1024
1294
  };
1025
1295
 
1026
- export type MutationSubscribeToNewsletterArgs = {
1027
- email: Scalars['String'];
1296
+ export type MutationUpdateCustomerGroupArgs = {
1297
+ customerGroupAccessCode: Scalars['String'];
1028
1298
  };
1029
1299
 
1030
- export type MutationSubscribeToStockNotificationsArgs = {
1031
- email: Scalars['String'];
1032
- articleNumber: Scalars['String'];
1300
+ export type MutationUpdateCustomerArgs = {
1301
+ input: CustomerUpdateInput;
1033
1302
  };
1034
1303
 
1035
- export type MutationUpdateCartArgs = {
1036
- input: UpdateCartInput;
1304
+ export type MutationUpdateCustomerPriceListArgs = {
1305
+ priceListAccessCode: Scalars['String'];
1037
1306
  };
1038
1307
 
1039
- export type MutationUpdateCustomerArgs = {
1040
- input: CustomerUpdateInput;
1308
+ export type MutationUpdatePasswordArgs = {
1309
+ oldPassword: Scalars['String'];
1310
+ newPassword: Scalars['String'];
1041
1311
  };
1042
1312
 
1043
- export type MutationUpdateCustomerProductListArgs = {
1044
- input: UpdateCustomerProductListInput;
1313
+ export type MutationAddMultipleToCartArgs = {
1314
+ cartId?: Maybe<Scalars['String']>;
1315
+ items: Array<Maybe<AddMultipleToCartInput>>;
1045
1316
  };
1046
1317
 
1047
- export type MutationUpdateCustomerProductListItemArgs = {
1048
- input: UpdateCustomerProductListItemInput;
1318
+ export type MutationAddToCartArgs = {
1319
+ input: AddToCartInput;
1049
1320
  };
1050
1321
 
1051
- export type MutationUpdatePasswordArgs = {
1052
- oldPassword: Scalars['String'];
1053
- newPassword: Scalars['String'];
1322
+ export type MutationDecrementItemQuantityArgs = {
1323
+ input: ChangeByOneItemQuantityInput;
1324
+ };
1325
+
1326
+ export type MutationSetItemQuantityArgs = {
1327
+ input: SetItemQuantityInput;
1328
+ };
1329
+
1330
+ export type MutationIncrementItemQuantityArgs = {
1331
+ input: ChangeByOneItemQuantityInput;
1332
+ };
1333
+
1334
+ export type MutationRemoveFromCartArgs = {
1335
+ input: RemoveFromCartInput;
1336
+ };
1337
+
1338
+ export type MutationRemoveMultipleFromCartArgs = {
1339
+ input: RemoveMultipleFromCartInput;
1340
+ };
1341
+
1342
+ export type MutationUpdateCartArgs = {
1343
+ input: UpdateCartInput;
1054
1344
  };
1055
1345
 
1056
1346
  export type MyPagesContent = {
@@ -1063,26 +1353,29 @@ export type NumericRangeFilter = Filter & {
1063
1353
  __typename?: 'NumericRangeFilter';
1064
1354
  isActive: Scalars['Boolean'];
1065
1355
  value?: Maybe<Array<Maybe<Scalars['Decimal']>>>;
1066
- id: Scalars['String'];
1067
- max: Scalars['Decimal'];
1068
1356
  min: Scalars['Decimal'];
1357
+ max: Scalars['Decimal'];
1358
+ id: Scalars['String'];
1069
1359
  name: Scalars['String'];
1070
1360
  };
1071
1361
 
1072
1362
  export type Order = {
1073
1363
  __typename?: 'Order';
1364
+ id: Scalars['ID'];
1365
+ orderNumber?: Maybe<Scalars['String']>;
1366
+ status?: Maybe<OrderStatus>;
1367
+ items?: Maybe<Array<Maybe<OrderItem>>>;
1074
1368
  billingInfo?: Maybe<OrderInfo>;
1075
- currency?: Maybe<Currency>;
1076
1369
  deliveryInfo?: Maybe<OrderInfo>;
1370
+ paymentMethod?: Maybe<OrderPaymentMethod>;
1077
1371
  deliveryMethod?: Maybe<OrderDeliveryMethod>;
1078
1372
  giftVouchers?: Maybe<Array<Maybe<OrderGiftVoucher>>>;
1079
- id: Scalars['ID'];
1080
- items?: Maybe<Array<Maybe<OrderItem>>>;
1081
- orderDate?: Maybe<Scalars['Date']>;
1082
- orderNumber?: Maybe<Scalars['String']>;
1083
- paymentMethod?: Maybe<OrderPaymentMethod>;
1084
- status?: Maybe<OrderStatus>;
1085
1373
  total?: Maybe<Price>;
1374
+ orderDate?: Maybe<Scalars['DateTime']>;
1375
+ currency?: Maybe<Currency>;
1376
+ attachments?: Maybe<Array<Maybe<OrderAttachment>>>;
1377
+ orderPurchaseLocation?: Maybe<Scalars['String']>;
1378
+ orderComments?: Maybe<Array<Maybe<OrderComment>>>;
1086
1379
  };
1087
1380
 
1088
1381
  export type OrderItemsArgs = {
@@ -1092,18 +1385,30 @@ export type OrderItemsArgs = {
1092
1385
 
1093
1386
  export type OrderAddress = {
1094
1387
  __typename?: 'OrderAddress';
1388
+ street?: Maybe<Scalars['String']>;
1389
+ postcode?: Maybe<Scalars['String']>;
1095
1390
  city?: Maybe<Scalars['String']>;
1391
+ region?: Maybe<Scalars['String']>;
1096
1392
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1097
1393
  country?: Maybe<Country>;
1098
- postcode?: Maybe<Scalars['String']>;
1099
- region?: Maybe<Scalars['String']>;
1100
- street?: Maybe<Scalars['String']>;
1394
+ };
1395
+
1396
+ export type OrderAttachment = {
1397
+ __typename?: 'OrderAttachment';
1398
+ id: Scalars['ID'];
1399
+ url?: Maybe<Scalars['String']>;
1400
+ };
1401
+
1402
+ export type OrderComment = {
1403
+ __typename?: 'OrderComment';
1404
+ title?: Maybe<Scalars['String']>;
1405
+ text?: Maybe<Scalars['String']>;
1101
1406
  };
1102
1407
 
1103
1408
  export type OrderDeliveryMethod = {
1104
1409
  __typename?: 'OrderDeliveryMethod';
1105
- fee?: Maybe<Price>;
1106
1410
  name?: Maybe<Scalars['String']>;
1411
+ fee?: Maybe<Price>;
1107
1412
  tracking?: Maybe<OrderDeliveryMethodTracking>;
1108
1413
  };
1109
1414
 
@@ -1115,22 +1420,24 @@ export type OrderDeliveryMethodTracking = {
1115
1420
 
1116
1421
  export type OrderGiftVoucher = {
1117
1422
  __typename?: 'OrderGiftVoucher';
1423
+ name?: Maybe<Scalars['String']>;
1118
1424
  amount?: Maybe<Scalars['Decimal']>;
1119
1425
  charged?: Maybe<Scalars['Decimal']>;
1120
- name?: Maybe<Scalars['String']>;
1121
- validUntil?: Maybe<Scalars['Date']>;
1426
+ validUntil?: Maybe<Scalars['DateTime']>;
1122
1427
  };
1123
1428
 
1124
1429
  export type OrderHeader = {
1125
1430
  __typename?: 'OrderHeader';
1126
- currency?: Maybe<Currency>;
1127
1431
  id: Scalars['ID'];
1128
- orderDate?: Maybe<Scalars['Date']>;
1129
1432
  orderNumber?: Maybe<Scalars['String']>;
1130
1433
  status?: Maybe<OrderStatus>;
1131
1434
  statusTimeline?: Maybe<Array<Maybe<OrderStatus>>>;
1435
+ /** If this is false, a call to `order` for this order will result in a failure. */
1436
+ hasOrderDetails?: Maybe<Scalars['Boolean']>;
1132
1437
  total?: Maybe<Price>;
1438
+ orderDate?: Maybe<Scalars['DateTime']>;
1133
1439
  trackingId?: Maybe<Scalars['String']>;
1440
+ currency?: Maybe<Currency>;
1134
1441
  };
1135
1442
 
1136
1443
  export type OrderHeaderResult = {
@@ -1141,27 +1448,26 @@ export type OrderHeaderResult = {
1141
1448
 
1142
1449
  export type OrderInfo = {
1143
1450
  __typename?: 'OrderInfo';
1144
- address?: Maybe<OrderAddress>;
1145
- company?: Maybe<Scalars['String']>;
1146
1451
  firstName?: Maybe<Scalars['String']>;
1147
1452
  lastName?: Maybe<Scalars['String']>;
1453
+ company?: Maybe<Scalars['String']>;
1148
1454
  phone?: Maybe<Scalars['String']>;
1455
+ address?: Maybe<OrderAddress>;
1149
1456
  };
1150
1457
 
1151
1458
  export type OrderItem = {
1152
1459
  __typename?: 'OrderItem';
1153
1460
  articleNumber?: Maybe<Scalars['String']>;
1154
- discounts?: Maybe<Array<Maybe<OrderItemDiscount>>>;
1155
1461
  /** Name of the Product at the time the order was placed (may since have changed).
1156
1462
  * Use this as a fallback if the 'product' field itself is null.
1157
1463
  */
1158
1464
  name?: Maybe<Scalars['String']>;
1159
- preOrderDate?: Maybe<Scalars['DateTime']>;
1160
- /** N.B. this may be null if the Product has since been removed. */
1161
- product?: Maybe<Product>;
1162
1465
  quantity?: Maybe<Scalars['Int']>;
1163
- total?: Maybe<Price>;
1164
1466
  unitPrice?: Maybe<Price>;
1467
+ total?: Maybe<Price>;
1468
+ discounts?: Maybe<Array<Maybe<OrderItemDiscount>>>;
1469
+ /** N.B. this may be null if the Product has since been removed. */
1470
+ product?: Maybe<Product>;
1165
1471
  /** N.B. this may be null if the Product itself or the Variant has since been removed. */
1166
1472
  variant?: Maybe<ProductVariant>;
1167
1473
  /** N.B. this may be null if the Product has since been removed. */
@@ -1171,6 +1477,9 @@ export type OrderItem = {
1171
1477
  * be null when the OrderItem is not a Variant.
1172
1478
  */
1173
1479
  variantValue?: Maybe<Scalars['String']>;
1480
+ preOrderDate?: Maybe<Scalars['DateTime']>;
1481
+ /** list of name, value fields from orders coming from external systems. */
1482
+ externalOrderData?: Maybe<Array<Maybe<ExternalOrderData>>>;
1174
1483
  };
1175
1484
 
1176
1485
  export type OrderItemDiscount = {
@@ -1180,29 +1489,29 @@ export type OrderItemDiscount = {
1180
1489
 
1181
1490
  export type OrderPaymentMethod = {
1182
1491
  __typename?: 'OrderPaymentMethod';
1183
- fee?: Maybe<Price>;
1184
1492
  name?: Maybe<Scalars['String']>;
1493
+ fee?: Maybe<Price>;
1185
1494
  };
1186
1495
 
1187
1496
  export type OrderStatus = {
1188
1497
  __typename?: 'OrderStatus';
1189
- description?: Maybe<Scalars['String']>;
1190
1498
  id?: Maybe<Scalars['ID']>;
1499
+ description?: Maybe<Scalars['String']>;
1191
1500
  timestamp?: Maybe<Scalars['DateTime']>;
1192
1501
  };
1193
1502
 
1194
1503
  export type Package = {
1195
1504
  __typename?: 'Package';
1196
- /** Total package discount in percentage */
1197
- discountPercentage?: Maybe<Price>;
1198
- /** Total package discount amount */
1199
- discountValue?: Maybe<Price>;
1200
1505
  id: Scalars['ID'];
1201
1506
  items: Array<PackageItem>;
1202
- /** The previous package price without any potential discount */
1203
- previousPrice?: Maybe<Price>;
1204
1507
  /** The current package price with any potential discount */
1205
1508
  price?: Maybe<Price>;
1509
+ /** The previous package price without any potential discount */
1510
+ previousPrice?: Maybe<Price>;
1511
+ /** Total package discount amount */
1512
+ discountValue?: Maybe<Price>;
1513
+ /** Total package discount in percentage */
1514
+ discountPercentage?: Maybe<Scalars['Decimal']>;
1206
1515
  };
1207
1516
 
1208
1517
  export type PackageDiscount = PackageDiscountPercentage | PackageDiscountValue;
@@ -1214,20 +1523,20 @@ export type PackageDiscountPercentage = {
1214
1523
 
1215
1524
  export type PackageDiscountValue = {
1216
1525
  __typename?: 'PackageDiscountValue';
1217
- valueExVat: Scalars['Decimal'];
1218
1526
  valueIncVat: Scalars['Decimal'];
1527
+ valueExVat: Scalars['Decimal'];
1219
1528
  valueVat: Scalars['Decimal'];
1220
1529
  };
1221
1530
 
1222
1531
  export type PackageItem = {
1223
1532
  __typename?: 'PackageItem';
1224
- discount: PackageDiscount;
1533
+ product?: Maybe<Product>;
1225
1534
  minQuantity: Scalars['Int'];
1226
- /** The previous package price without any potential discount */
1227
- previousPrice?: Maybe<Price>;
1535
+ discount?: Maybe<PackageDiscount>;
1228
1536
  /** The current package price with any potential discount */
1229
1537
  price?: Maybe<Price>;
1230
- product?: Maybe<Product>;
1538
+ /** The previous package price without any potential discount */
1539
+ previousPrice?: Maybe<Price>;
1231
1540
  };
1232
1541
 
1233
1542
  export type PackagePriceInput = {
@@ -1237,28 +1546,55 @@ export type PackagePriceInput = {
1237
1546
 
1238
1547
  export type Page = Document & {
1239
1548
  __typename?: 'Page';
1240
- breadcrumbText?: Maybe<Scalars['String']>;
1549
+ id: Scalars['ID'];
1550
+ name: Scalars['String'];
1551
+ mainHeader?: Maybe<Scalars['String']>;
1241
1552
  content?: Maybe<Scalars['String']>;
1553
+ hasExternalUrl?: Maybe<Scalars['Boolean']>;
1554
+ /** External URL if page is set to URL, null if not. */
1555
+ externalUrl?: Maybe<Link>;
1556
+ images?: Maybe<Array<Maybe<Image>>>;
1242
1557
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1243
1558
  head?: Maybe<HtmlHead>;
1244
- id: Scalars['ID'];
1245
- images?: Maybe<Array<Maybe<Image>>>;
1246
- mainHeader?: Maybe<Scalars['String']>;
1247
- name: Scalars['String'];
1248
1559
  /** The primary route of this Page. NB: Carries a performance cost, as asking for
1249
1560
  * this will result in a separate API call in the backend.
1250
1561
  */
1251
1562
  primaryRoute?: Maybe<Route>;
1563
+ breadcrumbText?: Maybe<Scalars['String']>;
1564
+ /** Get content data set via the Content Editor. NB: Carries a performance cost,
1565
+ * as asking for this will result in a separate API call in the backend.
1566
+ */
1567
+ data?: Maybe<Content>;
1568
+ /** * If this page was fetched by ID using the `page(id)` query, `parent` will be returned even if it is hidden.
1569
+ * * If this page was fetched using the `pages` query, `parent` will not be returned if it is hidden
1570
+ */
1571
+ parent?: Maybe<Page>;
1572
+ /** * If this page was fetched by ID using the `page(id)` query, `subPages` will
1573
+ * be returned even if they are hidden. This can be overridden with the
1574
+ * `includeHidden` flag.
1575
+ * * If this page was fetched using the `pages` query, `subPages` will not be
1576
+ * returned if they are hidden. The `includeHidden` flag has no effect on this.
1577
+ */
1578
+ subPages?: Maybe<Array<Page>>;
1579
+ /** When set to false, the page will be excluded from sitemap. The frontend
1580
+ * implementation should use this value to set meta tags to exclude the page from
1581
+ * being indexed by crawlers. Defaults to true.
1582
+ */
1583
+ allowWebIndexing?: Maybe<Scalars['Boolean']>;
1584
+ };
1585
+
1586
+ export type PageSubPagesArgs = {
1587
+ includeHidden?: Maybe<Scalars['Boolean']>;
1252
1588
  };
1253
1589
 
1254
1590
  export type PagedResult = {
1255
1591
  __typename?: 'PagedResult';
1592
+ totalResults?: Maybe<Scalars['Int']>;
1593
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1594
+ sortOrders?: Maybe<Array<Maybe<ProductSortOrder>>>;
1256
1595
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1257
1596
  filters?: Maybe<Array<Maybe<Filter>>>;
1258
1597
  result: Array<Maybe<Product>>;
1259
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1260
- sortOrders?: Maybe<Array<Maybe<ProductSortOrder>>>;
1261
- totalResults?: Maybe<Scalars['Int']>;
1262
1598
  };
1263
1599
 
1264
1600
  export type PagedResultFiltersArgs = {
@@ -1272,48 +1608,59 @@ export type PagingInput = {
1272
1608
 
1273
1609
  export type PaymentType = {
1274
1610
  __typename?: 'paymentType';
1611
+ name: Scalars['String'];
1275
1612
  apiClientId: Scalars['String'];
1276
1613
  availableForBusiness: Scalars['Boolean'];
1277
1614
  availableForPrivate: Scalars['Boolean'];
1278
- name: Scalars['String'];
1279
1615
  };
1280
1616
 
1281
1617
  export type PersonLookup = {
1282
1618
  __typename?: 'PersonLookup';
1619
+ firstName?: Maybe<MaskedProperty>;
1620
+ lastName?: Maybe<MaskedProperty>;
1621
+ co?: Maybe<MaskedProperty>;
1283
1622
  address?: Maybe<MaskedProperty>;
1284
1623
  city?: Maybe<MaskedProperty>;
1285
- co?: Maybe<MaskedProperty>;
1624
+ postalCode?: Maybe<MaskedProperty>;
1286
1625
  country?: Maybe<MaskedProperty>;
1287
- firstName?: Maybe<MaskedProperty>;
1288
- lastName?: Maybe<MaskedProperty>;
1289
- mobilePhoneNumber?: Maybe<MaskedProperty>;
1290
1626
  phoneNumber?: Maybe<MaskedProperty>;
1291
- postalCode?: Maybe<MaskedProperty>;
1627
+ mobilePhoneNumber?: Maybe<MaskedProperty>;
1292
1628
  };
1293
1629
 
1294
1630
  export type Price = {
1295
1631
  __typename?: 'Price';
1296
- exVat: Scalars['Decimal'];
1297
1632
  incVat: Scalars['Decimal'];
1633
+ exVat: Scalars['Decimal'];
1298
1634
  vat: Scalars['Decimal'];
1299
1635
  };
1300
1636
 
1637
+ export type PriceHistory = {
1638
+ __typename?: 'PriceHistory';
1639
+ timestamp?: Maybe<Scalars['DateTime']>;
1640
+ price?: Maybe<Price>;
1641
+ };
1642
+
1301
1643
  export type PrivateCustomer = Customer & {
1302
1644
  __typename?: 'PrivateCustomer';
1303
- billingAddress?: Maybe<CustomerAddress>;
1304
- communication?: Maybe<CustomerCommunication>;
1305
- deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
1306
- dynamicContent?: Maybe<Scalars['String']>;
1307
- email?: Maybe<Scalars['String']>;
1645
+ pid?: Maybe<Scalars['String']>;
1308
1646
  id: Scalars['ID'];
1309
- language?: Maybe<Language>;
1310
1647
  memberId?: Maybe<Scalars['String']>;
1648
+ email?: Maybe<Scalars['String']>;
1649
+ /** Customer id for external system */
1650
+ externalId?: Maybe<Scalars['String']>;
1651
+ subscribedToNewsletter?: Maybe<Scalars['Boolean']>;
1652
+ language?: Maybe<Language>;
1653
+ billingAddress?: Maybe<CustomerAddress>;
1654
+ deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
1311
1655
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1312
1656
  orderHeaders?: Maybe<OrderHeaderResult>;
1313
- pid?: Maybe<Scalars['String']>;
1657
+ communication?: Maybe<CustomerCommunication>;
1314
1658
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1315
1659
  store?: Maybe<Store>;
1316
- subscribedToNewsletter?: Maybe<Scalars['Boolean']>;
1660
+ dynamicContent?: Maybe<Scalars['String']>;
1661
+ externalAttributes?: Maybe<Array<Maybe<CustomerExternalAttribute>>>;
1662
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1663
+ googleUserId?: Maybe<Scalars['String']>;
1317
1664
  };
1318
1665
 
1319
1666
  export type PrivateCustomerOrderHeadersArgs = {
@@ -1323,110 +1670,150 @@ export type PrivateCustomerOrderHeadersArgs = {
1323
1670
 
1324
1671
  export type Product = Document & {
1325
1672
  __typename?: 'Product';
1673
+ id: Scalars['Int'];
1326
1674
  articleNumber: Scalars['String'];
1675
+ name: Scalars['String'];
1676
+ subName: Scalars['String'];
1677
+ shortDescription: Scalars['String'];
1678
+ description: Scalars['String'];
1679
+ /** Product header if it differs from the actual product name, usually displayed
1680
+ * instead of the product name in the header tag at the product page.
1681
+ */
1682
+ mainHeader: Scalars['String'];
1683
+ publishedDate?: Maybe<Scalars['DateTime']>;
1327
1684
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1328
- badges?: Maybe<Array<Maybe<ProductBadge>>>;
1329
- barcode?: Maybe<Scalars['String']>;
1330
- breadcrumbText?: Maybe<Scalars['String']>;
1685
+ canonicalCategory?: Maybe<Category>;
1686
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1687
+ categories?: Maybe<Array<Maybe<Category>>>;
1331
1688
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1332
1689
  campaigns?: Maybe<Array<Maybe<Category>>>;
1690
+ hasVariants: Scalars['Boolean'];
1691
+ hasVariantsWithDifferingPrices: Scalars['Boolean'];
1692
+ variants?: Maybe<ProductVariants>;
1693
+ images?: Maybe<Array<Maybe<ProductImage>>>;
1333
1694
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1334
- canonicalCategory?: Maybe<Category>;
1695
+ relatedProducts?: Maybe<Array<Maybe<Product>>>;
1335
1696
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1336
- categories?: Maybe<Array<Maybe<Category>>>;
1337
- /** Calculates the price of the product based on the configuration choices that's
1338
- * been madeNB: Carries a performance cost, as asking for this will result in a
1339
- * separate API call in the backend.
1697
+ badges?: Maybe<Array<Maybe<ProductBadge>>>;
1698
+ /** The current price.
1699
+ * - Will be a Customer specific price if that Customer has a separate price list.
1700
+ * - Will be the member price if Customer is logged in and `Product.hasMemberPrice` is true.
1701
+ * - Will be the non-member price if Customer is not logged in and `Product.hasMemberPrice` is true.
1340
1702
  */
1341
- configurationPrice?: Maybe<ProductConfigurationPrice>;
1342
- /** Configurations on a product are used to assemble a complete product,
1343
- *
1344
- * For example, if the product is a ring then the ring may have two
1345
- * configurations; measures of circumference and choice of engraving
1346
- *
1347
- * In this field, all the configurations of the product will be presented, the configuration name and its various options.
1703
+ price?: Maybe<Price>;
1704
+ hidePrice?: Maybe<Scalars['Boolean']>;
1705
+ /** The previous price (i.e. this will be higher than `price` if the product is
1706
+ * discounted). Will be a Customer specific previous price, if that Customer has
1707
+ * a separate price list.
1348
1708
  */
1349
- configurations?: Maybe<Array<Maybe<ProductConfiguration>>>;
1709
+ previousPrice?: Maybe<Price>;
1710
+ /** Default price for the product in the channel, disregards Customer specific prices. */
1711
+ defaultPrice?: Maybe<Price>;
1712
+ /** Default previous price for the product in the channel, disregards Customer specific prices. */
1713
+ defaultPreviousPrice?: Maybe<Price>;
1714
+ /** Not in use. Always null. */
1715
+ recommendedPrice?: Maybe<Price>;
1716
+ /** The time interval of the discounted price. If the product has variants, the
1717
+ * time interval will be that of the variant which price is shown on the product.
1718
+ */
1719
+ priceDateSpan?: Maybe<ProductPriceDateSpan>;
1720
+ /** Indicates if this product and its variants has member prices. */
1721
+ hasMemberPrice?: Maybe<Scalars['Boolean']>;
1722
+ /** The price a Customer would get if member prices are active and the Customer is logged in.
1723
+ * - Will be null if `Product.hasMemberPrice` is false.
1724
+ * - Will be set if `Product.hasMemberPrice` is true.
1725
+ */
1726
+ memberPrice?: Maybe<Price>;
1350
1727
  /** Specifies input field(s) for the Customer to populate on the Product that will then carry through to the Order.
1351
- * If 'required' is true the Product should not be purchasable
1352
- * until the field is populated.NB: Carries a performance cost, as asking for
1353
- * this will result in a separate API call in the backend.
1728
+ * If 'required' is true the Product should not be purchasable until the field is populated.
1354
1729
  */
1355
1730
  customerComments?: Maybe<Array<Maybe<ProductComment>>>;
1731
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1732
+ stockStatus?: Maybe<StockStatus>;
1356
1733
  customFields?: Maybe<Array<Maybe<CustomField>>>;
1357
- /** Default previous price for the product in the channel, disregards Customer specific prices. */
1358
- defaultPreviousPrice?: Maybe<Price>;
1359
- /** Default price for the product in the channel, disregards Customer specific prices. */
1360
- defaultPrice?: Maybe<Price>;
1361
- description: Scalars['String'];
1734
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1735
+ warehouseStock?: Maybe<Array<Maybe<Warehouse>>>;
1736
+ head?: Maybe<HtmlHead>;
1737
+ /** The primary route of this Product. NB: Carries a performance cost, as asking
1738
+ * for this will result in a separate API call in the backend.
1739
+ */
1740
+ primaryRoute?: Maybe<Route>;
1741
+ breadcrumbText?: Maybe<Scalars['String']>;
1742
+ recommendedProducts?: Maybe<RecommendedProducts>;
1362
1743
  /** The product is recommended to only be purchasable in multiples of the
1363
1744
  * distributionPackageSize. (Different shops may have different levels of
1364
1745
  * leniency on this rule).
1365
1746
  */
1366
1747
  distributionPackageSize: Scalars['Int'];
1748
+ barcode?: Maybe<Scalars['String']>;
1749
+ /** Configurations on a product are used to assemble a complete product,
1750
+ *
1751
+ * For example, if the product is a ring then the ring may have two
1752
+ * configurations; measures of circumference and choice of engraving
1753
+ *
1754
+ * In this field, all the configurations of the product will be presented, the configuration name and its various options.
1755
+ */
1756
+ configurations?: Maybe<Array<Maybe<ProductConfiguration>>>;
1367
1757
  hasConfigurations: Scalars['Boolean'];
1368
- hasVariants: Scalars['Boolean'];
1369
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1370
- head?: Maybe<HtmlHead>;
1371
- id: Scalars['Int'];
1372
- images?: Maybe<Array<Maybe<ProductImage>>>;
1373
- inPackages?: Maybe<Array<Product>>;
1374
- isPackage?: Maybe<Scalars['Boolean']>;
1375
- isPreOrder?: Maybe<Scalars['Boolean']>;
1376
- /** Product header if it differs from the actual product name, usually displayed
1377
- * instead of the product name in the header tag at the product page.
1758
+ hasFamilyMembers: Scalars['Boolean'];
1759
+ /** Calculates the price of the product based on the configuration choices that's
1760
+ * been made. NB: Carries a performance cost, as asking for this will result in a
1761
+ * separate API call in the backend.
1378
1762
  */
1379
- mainHeader: Scalars['String'];
1380
- name: Scalars['String'];
1381
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1382
- package?: Maybe<Package>;
1763
+ configurationPrice?: Maybe<ProductConfigurationPrice>;
1764
+ /** Quantity suffix e.g pcs, box, etc. */
1765
+ quantitySuffix?: Maybe<Scalars['String']>;
1766
+ isPreOrder?: Maybe<Scalars['Boolean']>;
1383
1767
  preOrder?: Maybe<ProductPreOrder>;
1384
- /** The previous price (i.e. this will be higher than `price` if the product is
1385
- * discounted). Will be a Customer specific previous price, if that Customer has
1386
- * a separate price list.
1387
- */
1388
- previousPrice?: Maybe<Price>;
1389
- /** The current price. Will be a Customer specific price, if that Customer has a separate price list. */
1390
- price?: Maybe<Price>;
1391
- /** The primary route of this Product. NB: Carries a performance cost, as asking
1392
- * for this will result in a separate API call in the backend.
1768
+ isPackage?: Maybe<Scalars['Boolean']>;
1769
+ /** ## Description
1770
+ * NB: Carries a performance cost, as asking for this will result in a separate API call in the backend.
1771
+ * ## Error Codes
1772
+ * ### InvalidAmountOfArticleNumbers
1773
+ * Number of input products doesn't match package products
1774
+ * ### InvalidArticleNumber
1775
+ * Product or variant article number doesn't match any products
1776
+ * ### UnableToGetPackagePrice
1777
+ * Failed to calculate package price
1393
1778
  */
1394
- primaryRoute?: Maybe<Route>;
1395
- publishedDate?: Maybe<Scalars['Date']>;
1396
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1397
- quantitySuffix?: Maybe<Scalars['String']>;
1398
- /** Not in use. Always null. */
1399
- recommendedPrice?: Maybe<Price>;
1400
- recommendedProducts?: Maybe<RecommendedProducts>;
1401
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1402
- relatedProducts?: Maybe<Array<Maybe<Product>>>;
1403
- shortDescription: Scalars['String'];
1404
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1405
- stockStatus?: Maybe<StockStatus>;
1406
- subName: Scalars['String'];
1779
+ package?: Maybe<Package>;
1407
1780
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1408
1781
  upsell?: Maybe<Upsell>;
1409
- variants?: Maybe<ProductVariants>;
1410
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1411
- warehouseStock?: Maybe<Array<Maybe<Warehouse>>>;
1782
+ inPackages?: Maybe<Array<Product>>;
1783
+ hasUpsell?: Maybe<Scalars['Boolean']>;
1784
+ /** All other products in the same family as the product. NB: Carries a
1785
+ * performance cost, as asking for this will result in a separate API call in the backend.
1786
+ */
1787
+ familyMembers?: Maybe<Array<Product>>;
1788
+ /** Get Product History within the set number of days */
1789
+ history?: Maybe<ProductHistory>;
1412
1790
  };
1413
1791
 
1414
1792
  export type ProductCategoriesArgs = {
1415
1793
  includeHidden?: Maybe<Scalars['Boolean']>;
1416
1794
  };
1417
1795
 
1418
- export type ProductConfigurationPriceArgs = {
1419
- options?: Maybe<Array<ProductConfigurationPriceInput>>;
1420
- };
1421
-
1422
1796
  export type ProductImagesArgs = {
1423
1797
  includeVariantImages?: Maybe<Scalars['Boolean']>;
1798
+ limit?: Maybe<Scalars['Int']>;
1799
+ };
1800
+
1801
+ export type ProductWarehouseStockArgs = {
1802
+ includeInactive?: Maybe<Scalars['Boolean']>;
1803
+ };
1804
+
1805
+ export type ProductConfigurationPriceArgs = {
1806
+ options?: Maybe<Array<ProductConfigurationPriceInput>>;
1424
1807
  };
1425
1808
 
1426
1809
  export type ProductPackageArgs = {
1427
1810
  articleNumbers?: Maybe<Array<Maybe<PackagePriceInput>>>;
1428
1811
  };
1429
1812
 
1813
+ export type ProductHistoryArgs = {
1814
+ days?: Maybe<Scalars['Int']>;
1815
+ };
1816
+
1430
1817
  export type ProductAutoCompleteResult = {
1431
1818
  __typename?: 'ProductAutoCompleteResult';
1432
1819
  result: Array<Maybe<Product>>;
@@ -1434,11 +1821,11 @@ export type ProductAutoCompleteResult = {
1434
1821
 
1435
1822
  export type ProductBadge = {
1436
1823
  __typename?: 'ProductBadge';
1437
- location?: Maybe<ProductBadgeLocation>;
1438
1824
  name?: Maybe<Scalars['String']>;
1825
+ url?: Maybe<Scalars['Uri']>;
1826
+ location?: Maybe<ProductBadgeLocation>;
1439
1827
  style?: Maybe<Scalars['String']>;
1440
1828
  text?: Maybe<Scalars['String']>;
1441
- url?: Maybe<Scalars['Uri']>;
1442
1829
  };
1443
1830
 
1444
1831
  export enum ProductBadgeLocation {
@@ -1480,8 +1867,8 @@ export type ProductConfigurationOption = {
1480
1867
 
1481
1868
  export type ProductConfigurationPrice = {
1482
1869
  __typename?: 'ProductConfigurationPrice';
1483
- previousPrice?: Maybe<Price>;
1484
1870
  price?: Maybe<Price>;
1871
+ previousPrice?: Maybe<Price>;
1485
1872
  };
1486
1873
 
1487
1874
  /** Describes how the price is calculated on a configuration option.
@@ -1492,9 +1879,9 @@ export type ProductConfigurationPrice = {
1492
1879
  */
1493
1880
  export type ProductConfigurationPriceCalculation = {
1494
1881
  __typename?: 'ProductConfigurationPriceCalculation';
1495
- formula?: Maybe<Scalars['String']>;
1496
1882
  id: Scalars['ID'];
1497
1883
  name?: Maybe<Scalars['String']>;
1884
+ formula?: Maybe<Scalars['String']>;
1498
1885
  variables?: Maybe<Array<Maybe<ProductConfigurationPriceCalculationVariable>>>;
1499
1886
  };
1500
1887
 
@@ -1516,21 +1903,27 @@ export enum ProductCustomFieldType {
1516
1903
  MultiLevelList = 'MULTI_LEVEL_LIST'
1517
1904
  }
1518
1905
 
1906
+ export type ProductHistory = {
1907
+ __typename?: 'ProductHistory';
1908
+ previousPrice?: Maybe<Array<Maybe<PriceHistory>>>;
1909
+ };
1910
+
1519
1911
  export type ProductImage = {
1520
1912
  __typename?: 'ProductImage';
1521
1913
  /** Alternate text for the image, commonly used for the alt attribute of img-tags. */
1522
1914
  alt?: Maybe<Scalars['String']>;
1523
- sizes: Array<Maybe<ProductImageSize>>;
1524
1915
  /** Extra information, commonly used for the title attribute of img-tag. Should be shown on hover. */
1525
1916
  title?: Maybe<Scalars['String']>;
1917
+ sizes: Array<Maybe<ProductImageSize>>;
1526
1918
  url?: Maybe<Scalars['Uri']>;
1919
+ modifiedDate?: Maybe<Scalars['String']>;
1527
1920
  };
1528
1921
 
1529
1922
  export type ProductImageSize = {
1530
1923
  __typename?: 'ProductImageSize';
1924
+ width?: Maybe<Scalars['Int']>;
1531
1925
  height?: Maybe<Scalars['Int']>;
1532
1926
  url?: Maybe<Scalars['Uri']>;
1533
- width?: Maybe<Scalars['Int']>;
1534
1927
  };
1535
1928
 
1536
1929
  export enum ProductOrderOptions {
@@ -1549,46 +1942,78 @@ export type ProductPreOrder = {
1549
1942
  toDate?: Maybe<Scalars['DateTime']>;
1550
1943
  };
1551
1944
 
1945
+ export type ProductPriceDateSpan = {
1946
+ __typename?: 'ProductPriceDateSpan';
1947
+ startDate?: Maybe<Scalars['DateTime']>;
1948
+ endDate?: Maybe<Scalars['DateTime']>;
1949
+ };
1950
+
1552
1951
  export type ProductSearchResult = {
1553
1952
  __typename?: 'ProductSearchResult';
1554
- filters?: Maybe<Array<Maybe<Filter>>>;
1555
1953
  result: Array<Maybe<Product>>;
1954
+ filters?: Maybe<Array<Maybe<Filter>>>;
1556
1955
  totalResults?: Maybe<Scalars['Int']>;
1557
1956
  };
1558
1957
 
1559
1958
  export type ProductSortOrder = {
1560
1959
  __typename?: 'ProductSortOrder';
1561
- defaultDirection: SortDirection;
1562
- isDefault: Scalars['Boolean'];
1563
1960
  text: Scalars['String'];
1564
1961
  value: ProductOrderOptions;
1962
+ isDefault: Scalars['Boolean'];
1963
+ defaultDirection: SortDirection;
1565
1964
  };
1566
1965
 
1567
1966
  export type ProductVariant = {
1568
1967
  __typename?: 'ProductVariant';
1569
- articleNumber: Scalars['String'];
1570
- barcode?: Maybe<Scalars['String']>;
1571
- /** Default previous price for the product in the channel, disregards Customer specific prices. */
1572
- defaultPreviousPrice?: Maybe<Price>;
1573
- /** Default price for the product in the channel, disregards Customer specific prices. */
1574
- defaultPrice?: Maybe<Price>;
1575
1968
  id: Scalars['String'];
1576
- images?: Maybe<Array<Maybe<ProductImage>>>;
1969
+ articleNumber: Scalars['String'];
1970
+ /** Variant values (combination of option values) */
1971
+ values: Array<Maybe<Scalars['String']>>;
1972
+ /** The current price.
1973
+ * - Will be a Customer specific price if that Customer has a separate price list.
1974
+ * - Will be the member price if Customer is logged in and `Product.hasMemberPrice` is true.
1975
+ * - Will be the non-member price if Customer is not logged in and `Product.hasMemberPrice` is true.
1976
+ */
1977
+ price?: Maybe<Price>;
1577
1978
  /** The previous price (i.e. this will be higher than `price` if the product is
1578
1979
  * discounted). Will be a Customer specific previous price, if that Customer has
1579
1980
  * a separate price list.
1580
1981
  */
1581
1982
  previousPrice?: Maybe<Price>;
1582
- /** The current price. Will be a Customer specific price, if that Customer has a separate price list. */
1583
- price?: Maybe<Price>;
1983
+ /** Default price for the product in the channel, disregards Customer specific prices. */
1984
+ defaultPrice?: Maybe<Price>;
1985
+ /** Default previous price for the product in the channel, disregards Customer specific prices. */
1986
+ defaultPreviousPrice?: Maybe<Price>;
1584
1987
  /** Not in use. Always null. */
1585
1988
  recommendedPrice?: Maybe<Price>;
1989
+ /** The time interval of the discounted price. */
1990
+ priceDateSpan?: Maybe<ProductPriceDateSpan>;
1991
+ /** The price a Customer would get if member prices are active and the Customer is logged in.
1992
+ * - Will be null if `Product.hasMemberPrice` is false.
1993
+ * - Will be set if `Product.hasMemberPrice` is true.
1994
+ */
1995
+ memberPrice?: Maybe<Price>;
1586
1996
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1587
1997
  stockStatus?: Maybe<StockStatus>;
1588
- /** Variant values (combination of option values) */
1589
- values: Array<Maybe<Scalars['String']>>;
1590
1998
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1591
1999
  warehouseStock?: Maybe<Array<Maybe<Warehouse>>>;
2000
+ images?: Maybe<Array<Maybe<ProductImage>>>;
2001
+ barcode?: Maybe<Scalars['String']>;
2002
+ /** Get Product History within the set number of days */
2003
+ history?: Maybe<ProductVariantHistory>;
2004
+ };
2005
+
2006
+ export type ProductVariantWarehouseStockArgs = {
2007
+ includeInactive?: Maybe<Scalars['Boolean']>;
2008
+ };
2009
+
2010
+ export type ProductVariantHistoryArgs = {
2011
+ days?: Maybe<Scalars['Int']>;
2012
+ };
2013
+
2014
+ export type ProductVariantHistory = {
2015
+ __typename?: 'ProductVariantHistory';
2016
+ previousPrice?: Maybe<Array<Maybe<PriceHistory>>>;
1592
2017
  };
1593
2018
 
1594
2019
  export type ProductVariantOption = {
@@ -1607,79 +2032,75 @@ export type ProductVariants = {
1607
2032
 
1608
2033
  export type Query = {
1609
2034
  __typename?: 'Query';
1610
- cart?: Maybe<Cart>;
1611
- /** get categories by channel id, culture, root and culture */
1612
- categories: Array<Maybe<Category>>;
1613
- /** get category by id */
1614
- category?: Maybe<Category>;
1615
- /** get channel by id, null gets default channel */
1616
- channel?: Maybe<Channel>;
1617
- /** get all channels */
1618
- channels: Array<Maybe<Channel>>;
1619
- customer?: Maybe<Customer>;
2035
+ store?: Maybe<Store>;
2036
+ stores: Array<Maybe<Store>>;
2037
+ startPage?: Maybe<StartPage>;
2038
+ searchAutoComplete?: Maybe<SearchAutoCompleteResult>;
2039
+ search?: Maybe<SearchResult>;
2040
+ /** get product, category or page by path. */
2041
+ route?: Maybe<Route>;
2042
+ product?: Maybe<Product>;
2043
+ products: Array<Maybe<Product>>;
2044
+ /** Fetch a single page by ID. */
2045
+ page?: Maybe<Page>;
2046
+ /** Fetch all non-hidden pages. If you are using nested pages, only root level pages will be returned. */
2047
+ pages: Array<Maybe<Page>>;
2048
+ /** fetch order by id */
2049
+ order?: Maybe<Order>;
2050
+ /** Fetches my pages content */
2051
+ myPagesContent?: Maybe<MyPagesContent>;
1620
2052
  /** get customer product list by id, null gets default product list */
1621
2053
  customerProductList?: Maybe<CustomerProductList>;
1622
2054
  customerProductLists: Array<Maybe<CustomerProductList>>;
1623
- /** Used in the sign up process when the shop has a third party customer repository, e.g. Voyado. */
1624
- externalCustomerLookup?: Maybe<ExternalCustomerLookupResult>;
1625
2055
  /** Fetches customer-unique offers */
1626
- loyalty?: Maybe<Loyalty>;
1627
- /** Fetches my pages content */
1628
- myPagesContent?: Maybe<MyPagesContent>;
1629
- /** fetch order by id */
1630
- order?: Maybe<Order>;
1631
- page?: Maybe<Page>;
1632
- pages: Array<Maybe<Page>>;
2056
+ customerLoyalty?: Maybe<CustomerLoyalty>;
2057
+ /** Lookup a customer by a mobile phone number */
2058
+ customerLookup?: Maybe<Customer>;
2059
+ customer?: Maybe<Customer>;
2060
+ /** Used in the sign up process when the shop has a third party customer repository, e.g. Voyado.
2061
+ *
2062
+ * Error codes: INVALID_VALUE (if `key` is null), ExternalCustomerLookupFailed
2063
+ */
2064
+ externalCustomerLookup?: Maybe<ExternalCustomerResult>;
1633
2065
  /** Get information on person by Key(personal id number or phone number) */
1634
2066
  personLookup?: Maybe<PersonLookup>;
1635
- product?: Maybe<Product>;
1636
- products: Array<Maybe<Product>>;
1637
- /** get product, category or page by path. */
1638
- route?: Maybe<Route>;
1639
- search?: Maybe<SearchResult>;
1640
- searchAutoComplete?: Maybe<SearchAutoCompleteResult>;
1641
- startPage?: Maybe<StartPage>;
1642
- store?: Maybe<Store>;
1643
- stores: Array<Maybe<Store>>;
1644
- };
1645
-
1646
- export type QueryCartArgs = {
1647
- id?: Maybe<Scalars['String']>;
1648
- };
1649
-
1650
- export type QueryCategoriesArgs = {
1651
- root?: Maybe<Scalars['Int']>;
1652
- levels?: Maybe<Scalars['Int']>;
1653
- includeHidden?: Maybe<Scalars['Boolean']>;
2067
+ /** Returns content found, either by a list of content Ids, or filtered by tags.
2068
+ * In the case of filtering by ids, not found content Ids are listed as well.
2069
+ */
2070
+ content?: Maybe<MultipleContent>;
2071
+ /** get channel by id, null gets default channel */
2072
+ channel?: Maybe<Channel>;
2073
+ /** get all channels */
2074
+ channels: Array<Maybe<Channel>>;
2075
+ /** get categories by channel id, culture, root and culture */
2076
+ categories: Array<Maybe<Category>>;
2077
+ /** get category by id */
2078
+ category?: Maybe<Category>;
2079
+ cart?: Maybe<Cart>;
1654
2080
  };
1655
2081
 
1656
- export type QueryCategoryArgs = {
2082
+ export type QueryStoreArgs = {
1657
2083
  id: Scalars['Int'];
1658
2084
  };
1659
2085
 
1660
- export type QueryChannelArgs = {
1661
- id?: Maybe<Scalars['String']>;
1662
- };
1663
-
1664
- export type QueryCustomerProductListArgs = {
1665
- id?: Maybe<Scalars['ID']>;
1666
- shareToken?: Maybe<Scalars['String']>;
2086
+ export type QueryStoresArgs = {
2087
+ includeInactive?: Scalars['Boolean'];
1667
2088
  };
1668
2089
 
1669
- export type QueryExternalCustomerLookupArgs = {
1670
- key?: Maybe<Scalars['String']>;
2090
+ export type QueryStartPageArgs = {
2091
+ id?: Maybe<Scalars['Int']>;
1671
2092
  };
1672
2093
 
1673
- export type QueryOrderArgs = {
1674
- id: Scalars['Int'];
2094
+ export type QuerySearchAutoCompleteArgs = {
2095
+ term: Scalars['String'];
1675
2096
  };
1676
2097
 
1677
- export type QueryPageArgs = {
1678
- id: Scalars['Int'];
2098
+ export type QuerySearchArgs = {
2099
+ term: Scalars['String'];
1679
2100
  };
1680
2101
 
1681
- export type QueryPersonLookupArgs = {
1682
- key: Scalars['String'];
2102
+ export type QueryRouteArgs = {
2103
+ path: Scalars['String'];
1683
2104
  };
1684
2105
 
1685
2106
  export type QueryProductArgs = {
@@ -1694,24 +2115,53 @@ export type QueryProductsArgs = {
1694
2115
  barcodes?: Maybe<Array<Maybe<Scalars['String']>>>;
1695
2116
  };
1696
2117
 
1697
- export type QueryRouteArgs = {
1698
- path: Scalars['String'];
2118
+ export type QueryPageArgs = {
2119
+ id: Scalars['Int'];
1699
2120
  };
1700
2121
 
1701
- export type QuerySearchArgs = {
1702
- term: Scalars['String'];
2122
+ export type QueryOrderArgs = {
2123
+ id?: Maybe<Scalars['Int']>;
2124
+ orderId?: Maybe<Scalars['ID']>;
1703
2125
  };
1704
2126
 
1705
- export type QuerySearchAutoCompleteArgs = {
1706
- term: Scalars['String'];
2127
+ export type QueryCustomerProductListArgs = {
2128
+ id?: Maybe<Scalars['ID']>;
2129
+ shareToken?: Maybe<Scalars['String']>;
1707
2130
  };
1708
2131
 
1709
- export type QueryStartPageArgs = {
1710
- id?: Maybe<Scalars['Int']>;
2132
+ export type QueryCustomerLookupArgs = {
2133
+ phoneNumber?: Maybe<Scalars['String']>;
1711
2134
  };
1712
2135
 
1713
- export type QueryStoreArgs = {
1714
- id: Scalars['Int'];
2136
+ export type QueryExternalCustomerLookupArgs = {
2137
+ key?: Maybe<Scalars['String']>;
2138
+ };
2139
+
2140
+ export type QueryPersonLookupArgs = {
2141
+ key: Scalars['String'];
2142
+ };
2143
+
2144
+ export type QueryContentArgs = {
2145
+ ids?: Maybe<Array<Maybe<Scalars['String']>>>;
2146
+ tags?: Maybe<Array<Maybe<Scalars['String']>>>;
2147
+ };
2148
+
2149
+ export type QueryChannelArgs = {
2150
+ id?: Maybe<Scalars['String']>;
2151
+ };
2152
+
2153
+ export type QueryCategoriesArgs = {
2154
+ root?: Maybe<Scalars['Int']>;
2155
+ levels?: Maybe<Scalars['Int']>;
2156
+ includeHidden?: Maybe<Scalars['Boolean']>;
2157
+ };
2158
+
2159
+ export type QueryCategoryArgs = {
2160
+ id: Scalars['ID'];
2161
+ };
2162
+
2163
+ export type QueryCartArgs = {
2164
+ id?: Maybe<Scalars['String']>;
1715
2165
  };
1716
2166
 
1717
2167
  export type RangeFilterInput = {
@@ -1724,21 +2174,21 @@ export type RecommendedProducts = {
1724
2174
  __typename?: 'RecommendedProducts';
1725
2175
  /** Customers who bought this product also bought these products. */
1726
2176
  bought?: Maybe<Array<Maybe<Product>>>;
1727
- /** A shuffled top list of popular products. */
1728
- shuffledToplist?: Maybe<Array<Maybe<Product>>>;
1729
2177
  /** Customers who viewed this product also viewed these products. */
1730
2178
  viewed?: Maybe<Array<Maybe<Product>>>;
2179
+ /** A shuffled top list of popular products. */
2180
+ shuffledToplist?: Maybe<Array<Maybe<Product>>>;
1731
2181
  };
1732
2182
 
1733
2183
  export type RecommendedProductsBoughtArgs = {
1734
2184
  count?: Maybe<Scalars['Int']>;
1735
2185
  };
1736
2186
 
1737
- export type RecommendedProductsShuffledToplistArgs = {
2187
+ export type RecommendedProductsViewedArgs = {
1738
2188
  count?: Maybe<Scalars['Int']>;
1739
2189
  };
1740
2190
 
1741
- export type RecommendedProductsViewedArgs = {
2191
+ export type RecommendedProductsShuffledToplistArgs = {
1742
2192
  count?: Maybe<Scalars['Int']>;
1743
2193
  };
1744
2194
 
@@ -1765,12 +2215,10 @@ export type ResetPassword = {
1765
2215
  /** Represents a route to either a Category, a Product, a Page or the StartPage. */
1766
2216
  export type Route = {
1767
2217
  __typename?: 'Route';
1768
- /** Alternative routes for this object, if it exists in another channel and/or in
1769
- * another language.NB: Carries no additional performance cost.
1770
- */
1771
- alternateRoutes?: Maybe<Array<Maybe<AlternateRoute>>>;
1772
- canonicalPath?: Maybe<Scalars['String']>;
1773
2218
  id: Scalars['String'];
2219
+ path: Scalars['String'];
2220
+ canonicalPath?: Maybe<Scalars['String']>;
2221
+ slug: Scalars['String'];
1774
2222
  /** The Category, Product, Page or StartPage that the Route resolves to. NB:
1775
2223
  * Carries a performance cost, as asking for this will result in a separate API
1776
2224
  * call in the backend.
@@ -1782,16 +2230,22 @@ export type Route = {
1782
2230
  * categories a shop has, the more expensive this gets), route query in the backend.
1783
2231
  */
1784
2232
  parents?: Maybe<Array<Maybe<Route>>>;
1785
- path: Scalars['String'];
1786
- slug: Scalars['String'];
2233
+ /** Alternative routes for this object, if it exists in another channel and/or in
2234
+ * another language.NB: Carries no additional performance cost.
2235
+ */
2236
+ alternateRoutes?: Maybe<Array<Maybe<AlternateRoute>>>;
2237
+ /** N.B. for troubleshooting routes only! */
2238
+ debug?: Maybe<Scalars['String']>;
2239
+ /** Breadcrumb texts; starting with the root parent, ending on this route. */
2240
+ breadcrumbs?: Maybe<Array<Maybe<Scalars['String']>>>;
1787
2241
  };
1788
2242
 
1789
2243
  export type SearchAutoCompleteResult = {
1790
2244
  __typename?: 'SearchAutoCompleteResult';
1791
2245
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1792
- categories?: Maybe<CategoryAutoCompleteResult>;
1793
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1794
2246
  products?: Maybe<ProductAutoCompleteResult>;
2247
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
2248
+ categories?: Maybe<CategoryAutoCompleteResult>;
1795
2249
  };
1796
2250
 
1797
2251
  export type SearchAutoCompleteResultCategoriesArgs = {
@@ -1800,18 +2254,18 @@ export type SearchAutoCompleteResultCategoriesArgs = {
1800
2254
 
1801
2255
  export type SearchResult = {
1802
2256
  __typename?: 'SearchResult';
2257
+ products?: Maybe<ProductSearchResult>;
1803
2258
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1804
2259
  categories?: Maybe<CategorySearchResult>;
1805
- products?: Maybe<ProductSearchResult>;
1806
2260
  };
1807
2261
 
1808
- export type SearchResultCategoriesArgs = {
2262
+ export type SearchResultProductsArgs = {
1809
2263
  paging?: Maybe<PagingInput>;
2264
+ filters?: Maybe<FilterInput>;
1810
2265
  };
1811
2266
 
1812
- export type SearchResultProductsArgs = {
2267
+ export type SearchResultCategoriesArgs = {
1813
2268
  paging?: Maybe<PagingInput>;
1814
- filters?: Maybe<FilterInput>;
1815
2269
  };
1816
2270
 
1817
2271
  export type SelectedProductConfiguration = {
@@ -1882,17 +2336,26 @@ export type SignUpDeliveryAddressInput = {
1882
2336
  addressName?: Maybe<Scalars['String']>;
1883
2337
  };
1884
2338
 
2339
+ export type SignUpExternalAttribute = {
2340
+ name: Scalars['String'];
2341
+ value: Scalars['String'];
2342
+ };
2343
+
1885
2344
  export type SignUpInput = {
1886
2345
  type: CustomerType;
1887
2346
  pid?: Maybe<Scalars['String']>;
1888
2347
  organizationNumber?: Maybe<Scalars['String']>;
1889
2348
  emailAddress: Scalars['String'];
1890
2349
  password?: Maybe<Scalars['String']>;
2350
+ /** Customer id for external system */
2351
+ externalId?: Maybe<Scalars['String']>;
1891
2352
  billingAddress: SignUpBillingAddressInput;
1892
2353
  deliveryAddresses?: Maybe<Array<Maybe<SignUpDeliveryAddressInput>>>;
1893
2354
  preferences?: Maybe<SignUpPreferencesInput>;
1894
2355
  consents?: Maybe<Array<Maybe<SignUpConsentInput>>>;
2356
+ externalAttributes?: Maybe<Array<Maybe<SignUpExternalAttribute>>>;
1895
2357
  dynamicContent?: Maybe<Scalars['String']>;
2358
+ priceListAccessCode?: Maybe<Scalars['String']>;
1896
2359
  };
1897
2360
 
1898
2361
  export type SignUpPreferencesCommunicationInput = {
@@ -1929,55 +2392,73 @@ export enum SortDirection {
1929
2392
 
1930
2393
  export type StartPage = Document & {
1931
2394
  __typename?: 'StartPage';
1932
- breadcrumbText?: Maybe<Scalars['String']>;
1933
- content?: Maybe<Scalars['String']>;
1934
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1935
- head?: Maybe<HtmlHead>;
1936
2395
  id: Scalars['Int'];
2396
+ name: Scalars['String'];
1937
2397
  images?: Maybe<Array<Maybe<Image>>>;
1938
2398
  isActive?: Maybe<Scalars['Boolean']>;
2399
+ content?: Maybe<Scalars['String']>;
1939
2400
  items?: Maybe<Array<Maybe<StartPageItem>>>;
1940
- name: Scalars['String'];
1941
- /** The primary route of this StartPage. NB: Carries no additional performance cost. */
2401
+ /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
2402
+ head?: Maybe<HtmlHead>;
2403
+ /** The primary route of this StartPage */
1942
2404
  primaryRoute?: Maybe<Route>;
2405
+ breadcrumbText?: Maybe<Scalars['String']>;
2406
+ /** Get content data set via the Content Editor. NB: Carries a performance cost,
2407
+ * as asking for this will result in a separate API call in the backend.
2408
+ */
2409
+ data?: Maybe<Content>;
1943
2410
  };
1944
2411
 
1945
2412
  export type StartPageItem = {
1946
2413
  __typename?: 'StartPageItem';
1947
- column?: Maybe<Scalars['Int']>;
1948
2414
  id: Scalars['Int'];
1949
- item: StartPageItemObjectGraphType;
1950
2415
  row?: Maybe<Scalars['Int']>;
2416
+ column?: Maybe<Scalars['Int']>;
2417
+ item: StartPageItemObject;
1951
2418
  };
1952
2419
 
1953
- export type StartPageItemObjectGraphType = Product | CustomItem;
2420
+ export type StartPageItemObject = Product | CustomItem;
1954
2421
 
1955
2422
  export type StockStatus = {
1956
2423
  __typename?: 'StockStatus';
1957
- buyable: Scalars['Boolean'];
2424
+ /** Globally unique id. */
1958
2425
  id: Scalars['ID'];
1959
- maxOrderQuantity?: Maybe<Scalars['Int']>;
1960
- stockDate?: Maybe<Scalars['Date']>;
1961
- stockNotificationEnabled?: Maybe<Scalars['Boolean']>;
2426
+ /** The stock status id, not globally unique. */
2427
+ stockStatusId: Scalars['ID'];
1962
2428
  text?: Maybe<Scalars['String']>;
2429
+ buyable: Scalars['Boolean'];
2430
+ stockNotificationEnabled?: Maybe<Scalars['Boolean']>;
2431
+ stockDate?: Maybe<Scalars['DateTime']>;
2432
+ maxOrderQuantity?: Maybe<Scalars['Int']>;
1963
2433
  };
1964
2434
 
1965
2435
  export type Store = {
1966
2436
  __typename?: 'Store';
2437
+ id: Scalars['Int'];
2438
+ externalId?: Maybe<Scalars['String']>;
2439
+ name?: Maybe<Scalars['String']>;
2440
+ city?: Maybe<Scalars['String']>;
2441
+ region?: Maybe<Scalars['String']>;
1967
2442
  address1?: Maybe<Scalars['String']>;
1968
2443
  address2?: Maybe<Scalars['String']>;
1969
- city?: Maybe<Scalars['String']>;
1970
- contact?: Maybe<Scalars['String']>;
1971
- coordinates?: Maybe<Coordinates>;
1972
2444
  description?: Maybe<Scalars['String']>;
1973
- id: Scalars['Int'];
1974
- name?: Maybe<Scalars['String']>;
1975
- openHours?: Maybe<Scalars['String']>;
1976
2445
  other?: Maybe<Scalars['String']>;
1977
- region?: Maybe<Scalars['String']>;
2446
+ openHours?: Maybe<Scalars['String']>;
2447
+ contact?: Maybe<Scalars['String']>;
2448
+ coordinates?: Maybe<Coordinates>;
2449
+ };
2450
+
2451
+ export type StringValue = {
2452
+ __typename?: 'StringValue';
2453
+ value?: Maybe<Scalars['String']>;
1978
2454
  };
1979
2455
 
1980
- /** Authorization token that is used for customer actions such as login, delete or update */
2456
+ /** Authorization token that is used for customer actions such as login, delete or update
2457
+ * The token contains three different roles:
2458
+ * 0: Standard.
2459
+ * 1: Lite
2460
+ * 2: VoyadoSemiLogin
2461
+ */
1981
2462
  export type Token = {
1982
2463
  __typename?: 'Token';
1983
2464
  value: Scalars['String'];
@@ -1986,7 +2467,15 @@ export type Token = {
1986
2467
  export type Tracking = {
1987
2468
  __typename?: 'Tracking';
1988
2469
  ga?: Maybe<GoogleAnalytics>;
2470
+ ga4?: Maybe<GoogleAnalytics4>;
1989
2471
  gtm?: Maybe<GoogleTagManager>;
2472
+ fca?: Maybe<FacebookConversionsApi>;
2473
+ trackingConsents?: Maybe<TrackingConsents>;
2474
+ };
2475
+
2476
+ export type TrackingConsents = {
2477
+ __typename?: 'TrackingConsents';
2478
+ useTrackingConsentApi?: Maybe<Scalars['Boolean']>;
1990
2479
  };
1991
2480
 
1992
2481
  export type UpdateCartInput = {
@@ -2006,6 +2495,16 @@ export type UpdateCartMutation = {
2006
2495
  cart?: Maybe<Cart>;
2007
2496
  };
2008
2497
 
2498
+ export type UpdateCustomerGroupResult = {
2499
+ __typename?: 'UpdateCustomerGroupResult';
2500
+ success: Scalars['Boolean'];
2501
+ };
2502
+
2503
+ export type UpdateCustomerPriceListResult = {
2504
+ __typename?: 'UpdateCustomerPriceListResult';
2505
+ success: Scalars['Boolean'];
2506
+ };
2507
+
2009
2508
  export type UpdateCustomerProductListInput = {
2010
2509
  id: Scalars['ID'];
2011
2510
  typeId: Scalars['ID'];
@@ -2042,21 +2541,20 @@ export type UpsellDiscountPercentage = {
2042
2541
 
2043
2542
  export type UpsellDiscountValue = {
2044
2543
  __typename?: 'UpsellDiscountValue';
2045
- valueExVat: Scalars['Decimal'];
2046
2544
  valueIncVat: Scalars['Decimal'];
2545
+ valueExVat: Scalars['Decimal'];
2047
2546
  valueVat: Scalars['Decimal'];
2048
2547
  };
2049
2548
 
2050
2549
  export type UpsellItem = {
2051
2550
  __typename?: 'UpsellItem';
2052
- discount: UpsellDiscount;
2053
- minQuantity: Scalars['Int'];
2054
2551
  product?: Maybe<Product>;
2552
+ minQuantity: Scalars['Int'];
2553
+ discount: UpsellDiscount;
2055
2554
  };
2056
2555
 
2057
2556
  export type Warehouse = {
2058
2557
  __typename?: 'Warehouse';
2059
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
2060
- location?: Maybe<Store>;
2061
2558
  stockLevel?: Maybe<Scalars['Int']>;
2559
+ location?: Maybe<Store>;
2062
2560
  };