@jetshop/core 3.13.3 → 3.13.5-non-polyfill

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/boot/addMissingConfig.d.ts +1 -0
  2. package/boot/server/createRenderer.js +4 -3
  3. package/boot/server/createRenderer.js.map +1 -1
  4. package/components/Auth/formFieldsFromSettings.d.ts +10 -10
  5. package/components/Auth/useAddressFields.d.ts +3 -3
  6. package/components/Auth/useCustomer.d.ts +6 -6
  7. package/components/Auth/useLoginFields.d.ts +3 -3
  8. package/components/ConfigProvider.d.ts +2 -0
  9. package/components/ConfigProvider.js.map +1 -1
  10. package/components/ProductVariationProvider/ProductVariationProvider.d.ts +4 -4
  11. package/components/ProductVariationProvider/ProductVariationProvider.js +3 -36
  12. package/components/ProductVariationProvider/ProductVariationProvider.js.map +1 -1
  13. package/components/ProductVariationProvider/ProductVariationProvider.test.js +1 -1
  14. package/components/ProductVariationProvider/getDefaultValuesFromUrl.d.ts +5 -0
  15. package/components/ProductVariationProvider/getDefaultValuesFromUrl.js +37 -0
  16. package/components/ProductVariationProvider/getDefaultValuesFromUrl.js.map +1 -0
  17. package/helpers/decodeUrlQuery.js +9 -1
  18. package/helpers/decodeUrlQuery.js.map +1 -1
  19. package/hooks/ProductList/list-transforms.d.ts +38 -29
  20. package/hooks/usePreconnectLinks.d.ts +1 -1
  21. package/hooks/usePreconnectLinks.js +3 -3
  22. package/hooks/usePreconnectLinks.js.map +1 -1
  23. package/hooks/usePrice.d.ts +1 -1
  24. package/hooks/useProductVariants/useProductVariants.js +2 -1
  25. package/hooks/useProductVariants/useProductVariants.js.map +1 -1
  26. package/hooks/useProductVariants/useVariantFromUrl.d.ts +5 -0
  27. package/hooks/useProductVariants/useVariantFromUrl.js +17 -0
  28. package/hooks/useProductVariants/useVariantFromUrl.js.map +1 -0
  29. package/hooks/useProductVariants/useVariantFromUrl.test.js +52 -0
  30. package/package.json +2 -3
  31. package/polyfills.d.ts +1 -1
  32. package/polyfills.js +18 -4
  33. package/polyfills.js.map +1 -1
  34. package/types.d.ts +1091 -551
  35. package/analytics/README.md +0 -81
package/types.d.ts CHANGED
@@ -6,30 +6,45 @@ 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
 
40
+ export enum ActivationStatusSource {
41
+ PreexistingCustomer = 'PREEXISTING_CUSTOMER',
42
+ ActivationRequired = 'ACTIVATION_REQUIRED',
43
+ AdditionalUserDataRequired = 'ADDITIONAL_USER_DATA_REQUIRED',
44
+ NonExistingCustomer = 'NON_EXISTING_CUSTOMER',
45
+ CountryNotValid = 'COUNTRY_NOT_VALID'
46
+ }
47
+
33
48
  export type ActiveFilters = {
34
49
  __typename?: 'ActiveFilters';
35
50
  listFilters?: Maybe<Array<Maybe<ListFilterInput>>>;
@@ -66,10 +81,10 @@ export type AddToCustomerProductListInput = {
66
81
 
67
82
  export type AlternateRoute = {
68
83
  __typename?: 'AlternateRoute';
69
- alias?: Maybe<Scalars['String']>;
70
84
  channelId?: Maybe<Scalars['Int']>;
71
85
  culture?: Maybe<Scalars['String']>;
72
86
  route?: Maybe<Scalars['String']>;
87
+ alias?: Maybe<Scalars['String']>;
73
88
  };
74
89
 
75
90
  export type BooleanFilter = Filter & {
@@ -86,22 +101,33 @@ export type BooleanFilterInput = {
86
101
  value?: Maybe<Scalars['Boolean']>;
87
102
  };
88
103
 
104
+ export type BoolValue = {
105
+ __typename?: 'BoolValue';
106
+ value?: Maybe<Scalars['Boolean']>;
107
+ };
108
+
89
109
  export type BusinessCustomer = Customer & {
90
110
  __typename?: 'BusinessCustomer';
91
- billingAddress?: Maybe<CustomerAddress>;
92
- communication?: Maybe<CustomerCommunication>;
93
- deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
94
- dynamicContent?: Maybe<Scalars['String']>;
95
- email?: Maybe<Scalars['String']>;
111
+ organizationId?: Maybe<Scalars['String']>;
112
+ organizationNumber?: Maybe<Scalars['String']>;
96
113
  id: Scalars['ID'];
97
- language?: Maybe<Language>;
98
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>>>;
99
122
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
100
123
  orderHeaders?: Maybe<OrderHeaderResult>;
101
- organizationId?: Maybe<Scalars['String']>;
124
+ communication?: Maybe<CustomerCommunication>;
102
125
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
103
126
  store?: Maybe<Store>;
104
- 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']>;
105
131
  };
106
132
 
107
133
  export type BusinessCustomerOrderHeadersArgs = {
@@ -111,40 +137,40 @@ export type BusinessCustomerOrderHeadersArgs = {
111
137
 
112
138
  export type Cart = {
113
139
  __typename?: 'Cart';
114
- aggregatedDiscounts?: Maybe<Array<Maybe<Discount>>>;
140
+ id?: Maybe<Scalars['String']>;
141
+ totalQuantity?: Maybe<Scalars['Int']>;
142
+ productTotal?: Maybe<Price>;
143
+ productPreviousTotal?: Maybe<Price>;
115
144
  discountTotal?: Maybe<Price>;
145
+ aggregatedDiscounts?: Maybe<Array<Maybe<Discount>>>;
116
146
  externalCheckoutUrl?: Maybe<Scalars['Uri']>;
117
- id?: Maybe<Scalars['String']>;
118
147
  items?: Maybe<Array<Maybe<CartItem>>>;
119
- productPreviousTotal?: Maybe<Price>;
120
- productTotal?: Maybe<Price>;
121
- totalQuantity?: Maybe<Scalars['Int']>;
122
148
  };
123
149
 
124
150
  export type CartItem = {
125
151
  __typename?: 'CartItem';
152
+ id: Scalars['String'];
153
+ quantity: Scalars['Int'];
126
154
  articleNumber: Scalars['String'];
127
- 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']>>>;
128
159
  customerComments?: Maybe<Array<Maybe<CartItemComment>>>;
129
- /** Discount total */
130
- discount?: Maybe<Price>;
131
160
  discounts?: Maybe<Array<Maybe<Discount>>>;
132
- id: Scalars['String'];
133
- images?: Maybe<Array<Maybe<ProductImage>>>;
134
- preOrderDate?: Maybe<Scalars['DateTime']>;
161
+ /** Total price, including discounts */
162
+ total: Price;
135
163
  /** Total price, excluding discounts */
136
164
  previousTotal: Price;
165
+ /** Unit price, including discounts */
166
+ unitPrice: Price;
137
167
  /** Unit price, excluding discounts */
138
168
  previousUnitPrice: Price;
169
+ /** Discount total */
170
+ discount?: Maybe<Price>;
139
171
  product?: Maybe<Product>;
140
- quantity: Scalars['Int'];
141
- subHeading?: Maybe<Scalars['String']>;
142
- /** Total price, including discounts */
143
- total: Price;
144
- /** Unit price, including discounts */
145
- unitPrice: Price;
146
- variant?: Maybe<ProductVariant>;
147
- variantOptionNames?: Maybe<Array<Maybe<Scalars['String']>>>;
172
+ configurations?: Maybe<Array<Maybe<SelectedProductConfiguration>>>;
173
+ preOrderDate?: Maybe<Scalars['DateTime']>;
148
174
  };
149
175
 
150
176
  export type CartItemComment = {
@@ -160,35 +186,52 @@ export type CartMutation = {
160
186
 
161
187
  export type Category = Document & {
162
188
  __typename?: 'Category';
163
- breadcrumbText?: Maybe<Scalars['String']>;
164
- content?: Maybe<Scalars['String']>;
165
- hasSubcategories?: Maybe<Scalars['Boolean']>;
166
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
167
- head?: Maybe<HtmlHead>;
168
189
  id: Scalars['Int'];
169
- images?: Maybe<Array<Maybe<CategoryImage>>>;
170
- /** A dynamic category has no fixed products; products are dynamically included
171
- * based on filters defined on the category in Admin. N.B. Products found on a
172
- * dynamic category has no route that includes said category, instead
173
- * product.primaryRoute will have to be used.
174
- */
175
- 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>;
176
195
  /** Whether or not this category and all its children are considered hidden */
177
196
  isHidden: Scalars['Boolean'];
178
- level: Scalars['Int'];
179
197
  /** When empty will display the value of the name field */
180
198
  mainHeader?: Maybe<Scalars['String']>;
181
- name: Scalars['String'];
182
- parent?: Maybe<Category>;
183
- parentCategory?: Maybe<Category>;
184
- 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>;
185
207
  /** The primary route of this Category. NB: Carries a performance cost, as asking
186
208
  * for this will result in a separate API call in the backend.
187
209
  */
188
210
  primaryRoute?: Maybe<Route>;
189
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
190
- products?: Maybe<PagedResult>;
211
+ breadcrumbText?: Maybe<Scalars['String']>;
212
+ hasSubcategories?: Maybe<Scalars['Boolean']>;
191
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']>;
192
235
  };
193
236
 
194
237
  export type CategoryProductsArgs = {
@@ -199,16 +242,33 @@ export type CategoryProductsArgs = {
199
242
  filters?: Maybe<FilterInput>;
200
243
  };
201
244
 
245
+ export type CategoryActiveDateSpan = {
246
+ __typename?: 'CategoryActiveDateSpan';
247
+ startDate?: Maybe<Scalars['DateTime']>;
248
+ endDate?: Maybe<Scalars['DateTime']>;
249
+ };
250
+
202
251
  export type CategoryAutoCompleteResult = {
203
252
  __typename?: 'CategoryAutoCompleteResult';
204
253
  result?: Maybe<Array<Maybe<Category>>>;
205
254
  };
206
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
+
207
267
  export type CategoryImage = {
208
268
  __typename?: 'CategoryImage';
269
+ width?: Maybe<Scalars['Int']>;
209
270
  height?: Maybe<Scalars['Int']>;
210
271
  url?: Maybe<Scalars['Uri']>;
211
- width?: Maybe<Scalars['Int']>;
212
272
  };
213
273
 
214
274
  export type CategorySearchResult = {
@@ -227,43 +287,83 @@ export type ChangeByOneItemQuantityInput = {
227
287
  */
228
288
  export type Channel = {
229
289
  __typename?: 'Channel';
230
- countries?: Maybe<Array<Maybe<Country>>>;
231
- currencies?: Maybe<Array<Maybe<Currency>>>;
232
- defaultCurrency?: Maybe<Currency>;
233
- defaultLanguage?: Maybe<Language>;
290
+ id: Scalars['Int'];
291
+ name?: Maybe<Scalars['String']>;
234
292
  displayName?: Maybe<Scalars['String']>;
235
293
  groupName?: Maybe<Scalars['String']>;
236
- id: Scalars['Int'];
237
- /** The root url of images, this can be used to build image urls if needed. */
238
- imageUrl?: Maybe<Scalars['String']>;
239
294
  isDefault?: Maybe<Scalars['Boolean']>;
295
+ url?: Maybe<Scalars['Uri']>;
296
+ settings?: Maybe<ChannelSettings>;
240
297
  languages?: Maybe<Array<Maybe<Language>>>;
241
- 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']>;
242
304
  /** This channel requires a user to be authorized. */
243
305
  requiresAuth?: Maybe<Scalars['Boolean']>;
244
- settings?: Maybe<ChannelSettings>;
245
- url?: Maybe<Scalars['Uri']>;
246
306
  };
247
307
 
248
308
  export type ChannelSettings = {
249
309
  __typename?: 'ChannelSettings';
250
- countrySettings?: Maybe<Array<Maybe<CountrySettings>>>;
251
- nostoAccountId?: Maybe<Scalars['String']>;
252
310
  pricesIncVat?: Maybe<Scalars['Boolean']>;
311
+ countrySettings?: Maybe<Array<Maybe<CountrySettings>>>;
253
312
  tracking?: Maybe<Tracking>;
313
+ nostoAccountId?: Maybe<Scalars['String']>;
254
314
  };
255
315
 
256
316
  export type Consent = {
257
317
  __typename?: 'Consent';
258
318
  id: Scalars['ID'];
259
- isMandatory?: Maybe<Scalars['Boolean']>;
260
- linkText?: Maybe<Scalars['String']>;
261
319
  name?: Maybe<Scalars['String']>;
262
- page?: Maybe<Page>;
263
- text?: Maybe<Scalars['String']>;
264
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>;
265
353
  };
266
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
+
267
367
  export type Coordinates = {
268
368
  __typename?: 'Coordinates';
269
369
  latitude: Scalars['Decimal'];
@@ -272,25 +372,33 @@ export type Coordinates = {
272
372
 
273
373
  export type Country = {
274
374
  __typename?: 'Country';
275
- code?: Maybe<Scalars['String']>;
276
375
  id: Scalars['ID'];
277
- isDefault?: Maybe<Scalars['Boolean']>;
376
+ code?: Maybe<Scalars['String']>;
278
377
  name?: Maybe<Scalars['String']>;
378
+ isDefault?: Maybe<Scalars['Boolean']>;
279
379
  };
280
380
 
281
381
  export type CountrySettings = {
282
382
  __typename?: 'CountrySettings';
283
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
284
- businessCustomerConsents?: Maybe<Array<Maybe<Consent>>>;
285
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
286
- businessCustomerFields?: Maybe<Array<Maybe<CustomerField>>>;
287
383
  countryCode: Scalars['String'];
288
384
  paymentTypes?: Maybe<Array<Maybe<PaymentType>>>;
289
385
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
290
- privateCustomerConsents?: 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
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>>>;
293
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>>>;
294
402
  };
295
403
 
296
404
  export type CreateCustomerProductListInput = {
@@ -302,41 +410,46 @@ export type CreateCustomerProductListInput = {
302
410
 
303
411
  export type Currency = {
304
412
  __typename?: 'Currency';
305
- format?: Maybe<CurrencyFormat>;
306
413
  id: Scalars['String'];
307
- isDefault?: Maybe<Scalars['Boolean']>;
308
414
  name?: Maybe<Scalars['String']>;
415
+ isDefault?: Maybe<Scalars['Boolean']>;
416
+ format?: Maybe<CurrencyFormat>;
309
417
  };
310
418
 
311
419
  export type CurrencyFormat = {
312
420
  __typename?: 'CurrencyFormat';
313
- code: Scalars['String'];
314
421
  culture: Scalars['String'];
422
+ code: Scalars['String'];
315
423
  decimals: Scalars['Int'];
316
424
  };
317
425
 
318
426
  export type CustomBoolField = CustomField & {
319
427
  __typename?: 'CustomBoolField';
428
+ value: Scalars['Boolean'];
429
+ type?: Maybe<ProductCustomFieldType>;
320
430
  key?: Maybe<Scalars['String']>;
321
431
  title?: Maybe<Scalars['String']>;
322
- type?: Maybe<ProductCustomFieldType>;
323
- value: Scalars['Boolean'];
324
432
  };
325
433
 
326
434
  export type Customer = {
327
- billingAddress?: Maybe<CustomerAddress>;
328
- communication?: Maybe<CustomerCommunication>;
329
- deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
330
- dynamicContent?: Maybe<Scalars['String']>;
331
- email?: Maybe<Scalars['String']>;
332
435
  id: Scalars['ID'];
333
- language?: Maybe<Language>;
334
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>>>;
335
444
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
336
445
  orderHeaders?: Maybe<OrderHeaderResult>;
446
+ communication?: Maybe<CustomerCommunication>;
337
447
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
338
448
  store?: Maybe<Store>;
339
- 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']>;
340
453
  };
341
454
 
342
455
  export type CustomerOrderHeadersArgs = {
@@ -346,22 +459,22 @@ export type CustomerOrderHeadersArgs = {
346
459
 
347
460
  export type CustomerAddress = {
348
461
  __typename?: 'CustomerAddress';
462
+ id?: Maybe<Scalars['Int']>;
349
463
  addressName?: Maybe<Scalars['String']>;
350
- city?: Maybe<Scalars['String']>;
351
- co?: Maybe<Scalars['String']>;
352
- company?: Maybe<Scalars['String']>;
353
- companyAtt?: Maybe<Scalars['String']>;
354
- country?: Maybe<Country>;
355
- department?: Maybe<Scalars['String']>;
356
464
  firstName?: Maybe<Scalars['String']>;
357
- id?: Maybe<Scalars['Int']>;
358
465
  lastName?: Maybe<Scalars['String']>;
359
- mobilePhone?: Maybe<Scalars['String']>;
360
- municipality?: Maybe<Scalars['String']>;
361
- 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']>;
362
471
  postalCode?: Maybe<Scalars['String']>;
472
+ city?: Maybe<Scalars['String']>;
473
+ municipality?: Maybe<Scalars['String']>;
363
474
  region?: Maybe<Scalars['String']>;
364
- streetName?: Maybe<Scalars['String']>;
475
+ country?: Maybe<Country>;
476
+ phone?: Maybe<Scalars['String']>;
477
+ mobilePhone?: Maybe<Scalars['String']>;
365
478
  };
366
479
 
367
480
  export type CustomerCommunication = {
@@ -371,41 +484,116 @@ export type CustomerCommunication = {
371
484
  acceptsSms?: Maybe<Scalars['Boolean']>;
372
485
  };
373
486
 
487
+ export type CustomerExternalAttribute = {
488
+ __typename?: 'CustomerExternalAttribute';
489
+ name: Scalars['String'];
490
+ value: Scalars['String'];
491
+ };
492
+
374
493
  export type CustomerField = {
375
494
  __typename?: 'CustomerField';
376
- fields?: Maybe<Array<Maybe<CustomerField>>>;
377
495
  id: Scalars['ID'];
378
- name: Scalars['ID'];
379
- pattern?: Maybe<Scalars['String']>;
380
496
  required: Scalars['Boolean'];
381
- };
382
-
383
- export type CustomerProductList = {
384
- __typename?: 'CustomerProductList';
497
+ pattern?: Maybe<Scalars['String']>;
498
+ fields?: Maybe<Array<Maybe<CustomerField>>>;
499
+ name: Scalars['ID'];
500
+ };
501
+
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']>;
385
536
  description?: Maybe<Scalars['String']>;
386
- id: Scalars['ID'];
537
+ startDate?: Maybe<Scalars['DateTime']>;
538
+ endDate?: Maybe<Scalars['DateTime']>;
539
+ externalData?: Maybe<CustomerLoyaltyDiscountOfferExternalData>;
387
540
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
388
- 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';
389
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']>;
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'];
390
574
  shareToken?: Maybe<Scalars['String']>;
575
+ name?: Maybe<Scalars['String']>;
576
+ description?: Maybe<Scalars['String']>;
391
577
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
392
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>>>;
393
581
  };
394
582
 
395
583
  export type CustomerProductListItem = {
396
584
  __typename?: 'CustomerProductListItem';
397
585
  description?: Maybe<Scalars['String']>;
398
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
399
- product?: Maybe<Product>;
400
586
  quantity?: Maybe<Scalars['Int']>;
401
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>;
402
590
  };
403
591
 
404
592
  export type CustomerProductListResult = {
405
593
  __typename?: 'CustomerProductListResult';
594
+ success?: Maybe<Scalars['Boolean']>;
406
595
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
407
596
  customerProductList?: Maybe<CustomerProductList>;
408
- success?: Maybe<Scalars['Boolean']>;
409
597
  };
410
598
 
411
599
  export type CustomerProductListType = {
@@ -463,13 +651,20 @@ export type CustomerUpdateDeliveryAddressInput = {
463
651
  addressName?: Maybe<Scalars['String']>;
464
652
  };
465
653
 
654
+ export type CustomerUpdateExternalAttribute = {
655
+ name: Scalars['String'];
656
+ value: Scalars['String'];
657
+ };
658
+
466
659
  export type CustomerUpdateInput = {
467
660
  pid?: Maybe<Scalars['String']>;
661
+ emailAddress?: Maybe<Scalars['String']>;
468
662
  organizationNumber?: Maybe<Scalars['String']>;
469
663
  billingAddress: CustomerUpdateBillingAddressInput;
470
664
  deliveryAddresses?: Maybe<Array<Maybe<CustomerUpdateDeliveryAddressInput>>>;
471
665
  preferences?: Maybe<CustomerUpdatePreferenceInput>;
472
666
  consents?: Maybe<Array<Maybe<CustomerUpdateConsentInput>>>;
667
+ externalAttributes?: Maybe<Array<Maybe<CustomerUpdateExternalAttribute>>>;
473
668
  dynamicContent?: Maybe<Scalars['String']>;
474
669
  };
475
670
 
@@ -492,42 +687,42 @@ export type CustomerUpdateResponse = {
492
687
  };
493
688
 
494
689
  export type CustomField = {
690
+ type?: Maybe<ProductCustomFieldType>;
495
691
  key?: Maybe<Scalars['String']>;
496
692
  title?: Maybe<Scalars['String']>;
497
- type?: Maybe<ProductCustomFieldType>;
498
693
  };
499
694
 
500
695
  export type CustomHtmlField = CustomField & {
501
696
  __typename?: 'CustomHtmlField';
697
+ value: Scalars['String'];
698
+ type?: Maybe<ProductCustomFieldType>;
502
699
  key?: Maybe<Scalars['String']>;
503
700
  title?: Maybe<Scalars['String']>;
504
- type?: Maybe<ProductCustomFieldType>;
505
- value: Scalars['String'];
506
701
  };
507
702
 
508
703
  export type CustomItem = {
509
704
  __typename?: 'CustomItem';
510
- content?: Maybe<Scalars['String']>;
511
705
  id: Scalars['Int'];
512
- image?: Maybe<Image>;
513
- linkUrl?: Maybe<Scalars['Uri']>;
514
706
  name: Scalars['String'];
707
+ content?: Maybe<Scalars['String']>;
708
+ linkUrl?: Maybe<Scalars['Uri']>;
709
+ image?: Maybe<Image>;
515
710
  };
516
711
 
517
712
  export type CustomListField = CustomField & {
518
713
  __typename?: 'CustomListField';
714
+ value?: Maybe<Array<Maybe<Scalars['String']>>>;
715
+ type?: Maybe<ProductCustomFieldType>;
519
716
  key?: Maybe<Scalars['String']>;
520
717
  title?: Maybe<Scalars['String']>;
521
- type?: Maybe<ProductCustomFieldType>;
522
- value?: Maybe<Array<Maybe<Scalars['String']>>>;
523
718
  };
524
719
 
525
720
  export type CustomMultiLevelListField = CustomField & {
526
721
  __typename?: 'CustomMultiLevelListField';
527
722
  items?: Maybe<Array<Maybe<CustomMultiLevelListFieldItem>>>;
723
+ type?: Maybe<ProductCustomFieldType>;
528
724
  key?: Maybe<Scalars['String']>;
529
725
  title?: Maybe<Scalars['String']>;
530
- type?: Maybe<ProductCustomFieldType>;
531
726
  };
532
727
 
533
728
  export type CustomMultiLevelListFieldItem = {
@@ -540,10 +735,10 @@ export type CustomMultiLevelListFieldItem = {
540
735
 
541
736
  export type CustomStringField = CustomField & {
542
737
  __typename?: 'CustomStringField';
738
+ value: Scalars['String'];
739
+ type?: Maybe<ProductCustomFieldType>;
543
740
  key?: Maybe<Scalars['String']>;
544
741
  title?: Maybe<Scalars['String']>;
545
- type?: Maybe<ProductCustomFieldType>;
546
- value: Scalars['String'];
547
742
  };
548
743
 
549
744
  export type DeleteCustomerProductListResult = {
@@ -553,16 +748,93 @@ export type DeleteCustomerProductListResult = {
553
748
 
554
749
  export type Discount = {
555
750
  __typename?: 'Discount';
556
- campaign?: Maybe<Category>;
557
- description?: Maybe<Scalars['String']>;
751
+ externalId?: Maybe<Scalars['ID']>;
558
752
  name?: Maybe<Scalars['String']>;
559
753
  value?: Maybe<Price>;
754
+ type?: Maybe<DiscountType>;
755
+ description?: Maybe<Scalars['String']>;
756
+ campaign?: Maybe<Category>;
560
757
  };
561
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
+
562
788
  export type Document = {
563
- breadcrumbText?: Maybe<Scalars['String']>;
564
789
  head?: Maybe<HtmlHead>;
565
790
  primaryRoute?: Maybe<Route>;
791
+ breadcrumbText?: Maybe<Scalars['String']>;
792
+ };
793
+
794
+ export type ExternalCustomer = {
795
+ __typename?: 'ExternalCustomer';
796
+ externalId?: Maybe<Scalars['String']>;
797
+ email?: Maybe<MaskedProperty>;
798
+ firstName?: Maybe<MaskedProperty>;
799
+ lastName?: Maybe<MaskedProperty>;
800
+ co?: Maybe<MaskedProperty>;
801
+ address?: Maybe<MaskedProperty>;
802
+ city?: Maybe<MaskedProperty>;
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>;
809
+ };
810
+
811
+ /** The activation status has 4 states;
812
+ * PREEXISTING_CUSTOMER: No customer info will be returned and the customer is advised to login to the preexisting account.
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`.
815
+ * ADDITIONAL_USER_DATA_REQUIRED: Additional data needed to register the customer,
816
+ * the existing customer info will be available with masking on customer.
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`.
821
+ */
822
+ export type ExternalCustomerResult = {
823
+ __typename?: 'ExternalCustomerResult';
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']>;
566
838
  };
567
839
 
568
840
  export type Filter = {
@@ -579,8 +851,8 @@ export type FilterInput = {
579
851
 
580
852
  export type FreeShippingLimit = {
581
853
  __typename?: 'FreeShippingLimit';
582
- exVat?: Maybe<Scalars['Decimal']>;
583
854
  incVat?: Maybe<Scalars['Decimal']>;
855
+ exVat?: Maybe<Scalars['Decimal']>;
584
856
  };
585
857
 
586
858
  export type GoogleAnalytics = {
@@ -589,29 +861,43 @@ export type GoogleAnalytics = {
589
861
  useArticleNumberAsId?: Maybe<Scalars['Boolean']>;
590
862
  };
591
863
 
864
+ export type GoogleAnalytics4 = {
865
+ __typename?: 'GoogleAnalytics4';
866
+ trackingId?: Maybe<Scalars['String']>;
867
+ useArticleNumberAsId?: Maybe<Scalars['Boolean']>;
868
+ };
869
+
592
870
  export type GoogleTagManager = {
593
871
  __typename?: 'GoogleTagManager';
594
872
  containerId?: Maybe<Scalars['String']>;
873
+ useGa4Events?: Maybe<Scalars['Boolean']>;
595
874
  };
596
875
 
597
876
  export type HtmlHead = {
598
877
  __typename?: 'HtmlHead';
599
- metaTags?: Maybe<Array<Maybe<HtmlMetaTag>>>;
600
878
  title?: Maybe<Scalars['String']>;
879
+ metaTags?: Maybe<Array<Maybe<HtmlMetaTag>>>;
601
880
  };
602
881
 
603
882
  export type HtmlMetaTag = {
604
883
  __typename?: 'HtmlMetaTag';
605
- content?: Maybe<Scalars['String']>;
606
884
  name?: Maybe<Scalars['String']>;
885
+ content?: Maybe<Scalars['String']>;
607
886
  };
608
887
 
609
888
  export type Image = {
610
889
  __typename?: 'Image';
611
- height?: Maybe<Scalars['Int']>;
612
890
  title?: Maybe<Scalars['String']>;
613
891
  url?: Maybe<Scalars['Uri']>;
614
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']>;
615
901
  };
616
902
 
617
903
  export type InputComment = {
@@ -621,17 +907,23 @@ export type InputComment = {
621
907
 
622
908
  export type Language = {
623
909
  __typename?: 'Language';
624
- culture: Scalars['String'];
625
910
  id: Scalars['String'];
626
- isDefault?: Maybe<Scalars['Boolean']>;
627
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']>;
628
920
  };
629
921
 
630
922
  export type ListFilter = Filter & {
631
923
  __typename?: 'ListFilter';
632
924
  hasActiveItems: Scalars['Boolean'];
633
- id: Scalars['String'];
634
925
  items: Array<Maybe<ListFilterItem>>;
926
+ id: Scalars['String'];
635
927
  name: Scalars['String'];
636
928
  };
637
929
 
@@ -643,65 +935,44 @@ export type ListFilterInput = {
643
935
  export type ListFilterItem = {
644
936
  __typename?: 'ListFilterItem';
645
937
  isActive?: Maybe<Scalars['Boolean']>;
646
- id: Scalars['String'];
647
- resultCount?: Maybe<Scalars['Int']>;
648
938
  text: Scalars['String'];
939
+ id: Scalars['String'];
649
940
  value: Scalars['String'];
941
+ resultCount?: Maybe<Scalars['Int']>;
650
942
  };
651
943
 
652
- /** The response will contain a authorization token if the login was successful */
653
- export type LoginResponse = {
654
- __typename?: 'LoginResponse';
655
- token: Token;
656
- };
657
-
658
- export type Loyalty = {
659
- __typename?: 'Loyalty';
660
- bonusChecks?: Maybe<Array<Maybe<LoyaltyBonusCheck>>>;
661
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
662
- bonusPoints?: Maybe<LoyaltyBonusPoints>;
663
- pointCards?: Maybe<Array<Maybe<LoyaltyPointCard>>>;
944
+ export type ListStringValue = {
945
+ __typename?: 'ListStringValue';
946
+ value?: Maybe<Array<Maybe<Scalars['String']>>>;
664
947
  };
665
948
 
666
- export type LoyaltyBonusCheck = {
667
- __typename?: 'LoyaltyBonusCheck';
668
- /** For display purposes, not guaranteed to match up with a currency on the channel. */
669
- currency?: Maybe<Scalars['String']>;
670
- endDate?: Maybe<Scalars['DateTime']>;
671
- externalId?: Maybe<Scalars['String']>;
672
- name?: Maybe<Scalars['String']>;
673
- redeemed?: Maybe<Scalars['Boolean']>;
674
- redeemedOn?: Maybe<Scalars['DateTime']>;
675
- startDate?: Maybe<Scalars['DateTime']>;
676
- value?: Maybe<Scalars['Decimal']>;
949
+ export type LoginExternalCustomerInput = {
950
+ externalCustomerToken: Scalars['String'];
677
951
  };
678
952
 
679
- export type LoyaltyBonusPoints = {
680
- __typename?: 'LoyaltyBonusPoints';
681
- points?: Maybe<Scalars['Int']>;
953
+ export type LoginExternalCustomerResult = {
954
+ __typename?: 'LoginExternalCustomerResult';
955
+ token?: Maybe<Token>;
682
956
  };
683
957
 
684
- export type LoyaltyPointCard = {
685
- __typename?: 'LoyaltyPointCard';
686
- externalId?: Maybe<Scalars['String']>;
687
- isActive?: Maybe<Scalars['Boolean']>;
688
- lastStampTime?: Maybe<Scalars['DateTime']>;
689
- name?: Maybe<Scalars['String']>;
690
- numberOfSlots?: Maybe<Scalars['Int']>;
691
- 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']>;
692
963
  };
693
964
 
694
965
  export type MaskedProperty = {
695
966
  __typename?: 'MaskedProperty';
696
- encrypted?: Maybe<Scalars['String']>;
697
967
  masked?: Maybe<Scalars['String']>;
968
+ encrypted?: Maybe<Scalars['String']>;
698
969
  };
699
970
 
700
971
  export type MultiListFilter = Filter & {
701
972
  __typename?: 'MultiListFilter';
702
973
  isActive: Scalars['Boolean'];
703
- id: Scalars['String'];
704
974
  lists: Array<Maybe<MultiListFilterList>>;
975
+ id: Scalars['String'];
705
976
  name: Scalars['String'];
706
977
  };
707
978
 
@@ -714,8 +985,14 @@ export type MultiListFilterList = {
714
985
  __typename?: 'MultiListFilterList';
715
986
  hasActiveItems: Scalars['Boolean'];
716
987
  id: Scalars['String'];
717
- items: Array<Maybe<ListFilterItem>>;
718
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>>;
719
996
  };
720
997
 
721
998
  export type Mutation = {
@@ -730,18 +1007,14 @@ export type Mutation = {
730
1007
  setMultiListFilter?: Maybe<MultiListFilter>;
731
1008
  clearMultiListFilter?: Maybe<MultiListFilter>;
732
1009
  clearMultiListFilterList?: Maybe<MultiListFilter>;
733
- /** Adds products to the cart where you can add comments to the products and
734
- * determine their quantities. Replies with the affected cart if a cartId has
735
- * been presented, otherwise a new cart will be created.
736
- */
737
- addMultipleToCart?: Maybe<CartMutation>;
738
- /** Adds a product to the cart where you can add a comment to the product and
739
- * determine the quantity. Replies with the affected cart if a cartId has been
740
- * 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
741
1015
  */
742
- addToCart?: Maybe<CartMutation>;
743
- /** # addToCustomerProductList
744
- * ## Description
1016
+ subscribeToNewsletter?: Maybe<Scalars['Boolean']>;
1017
+ /** ## Description
745
1018
  * Adds items to product list, null id adds items to the default product list.
746
1019
  * ## Error Codes
747
1020
  * ### Unauthorized
@@ -756,8 +1029,7 @@ export type Mutation = {
756
1029
  * Article number matched more than one article
757
1030
  */
758
1031
  addToCustomerProductList?: Maybe<CustomerProductListResult>;
759
- /** # createCustomerProductList
760
- * ## Description
1032
+ /** ## Description
761
1033
  * Creates a product list for a logged in customer
762
1034
  * ## Error Codes
763
1035
  * ### Unauthorized
@@ -766,16 +1038,7 @@ export type Mutation = {
766
1038
  * Error in underlying API call, more info may be contained in the error message.
767
1039
  */
768
1040
  createCustomerProductList?: Maybe<CustomerProductListResult>;
769
- /** This mutation is used to reduce the quantity of a product in the cart, replies
770
- * with the affected cart ruled by the cartId in the input.
771
- */
772
- decrementItemQuantity?: Maybe<CartMutation>;
773
- /** This mutation deletes a customer. An authorization token is needed in the
774
- * request, in order to be able to delete the customer.
775
- */
776
- deleteCustomer?: Maybe<Scalars['Boolean']>;
777
- /** # deleteCustomerProductList
778
- * ## Description
1041
+ /** ## Description
779
1042
  * Deletes a product list for a logged in customer
780
1043
  * ## Error Codes
781
1044
  * ### Unauthorized
@@ -786,19 +1049,7 @@ export type Mutation = {
786
1049
  * Error in underlying API call, more info may be contained in the error message.
787
1050
  */
788
1051
  deleteCustomerProductList?: Maybe<DeleteCustomerProductListResult>;
789
- /** This mutation is used to increase the quantity of a product in the cart,
790
- * replies with the affected cart ruled by the cartId in the input
791
- */
792
- incrementItemQuantity?: Maybe<CartMutation>;
793
- /** LoginMutation will log a user in.
794
- * One of email, pid, externalId or memberNumber is required, along with a password.
795
- * Returns an authorization token if the login was successful.
796
- */
797
- login?: Maybe<LoginResponse>;
798
- /** Removes a specific product in the cart, replies with the affected cart */
799
- removeFromCart?: Maybe<CartMutation>;
800
- /** # removeFromCustomerProductList
801
- * ## Description
1052
+ /** ## Description
802
1053
  * Removes an item from a product list for a logged in customer, null id removes item in the default product list.
803
1054
  * ## Error Codes
804
1055
  * ### Unauthorized
@@ -815,46 +1066,7 @@ export type Mutation = {
815
1066
  * Argument `articleNumbers` cannot be null or empty.
816
1067
  */
817
1068
  removeFromCustomerProductList?: Maybe<CustomerProductListResult>;
818
- /** Removes specific items from the cart, replies with the affected cart */
819
- removeMultipleFromCart?: Maybe<CartMutation>;
820
- /** Requires a valid email and returns boolean value if successful, otherwise an error will be thrown */
821
- requestPasswordReset?: Maybe<RequestPasswordResetResult>;
822
- /** Requires a valid resetPasswordToken and a new password and if successful will return a authentication token */
823
- resetPassword?: Maybe<ResetPassword>;
824
- /** Used to add a specific quantity to a product in the cart. Replies with the affected cart ruled by the cartId in the input */
825
- setItemQuantity?: Maybe<CartMutation>;
826
- /** The SignUp-mutation is used for creating a customer.
827
- *
828
- * If the sign up is successful the customer may be considered to be logged on and an authentication token will be returned
829
- */
830
- signUp?: Maybe<SignUpResponse>;
831
- /** This mutation's purpose is to subscribe a customer to a newsletter. In order
832
- * to subscribe a customer a valid email address is required
833
- *
834
- * Responds with a boolean value whether the subscription has been successful or not
835
- */
836
- subscribeToNewsletter?: Maybe<Scalars['Boolean']>;
837
- subscribeToStockNotifications?: Maybe<Scalars['Boolean']>;
838
- /** Responds with the affected cart. */
839
- updateCart?: Maybe<UpdateCartMutation>;
840
- /** This mutation's purpose is to update a existing customer's information. An
841
- * authorization token is needed in the request, in order to be able to delete the customer.
842
- */
843
- updateCustomer?: Maybe<CustomerUpdateResponse>;
844
- /** # updateCustomerProductList
845
- * ## Description
846
- * Updates a product list for a logged in customer
847
- * ## Error Codes
848
- * ### Unauthorized
849
- *
850
- * ### ProductListNotFound
851
- * Argument `id` did not match any list for this customer.
852
- * ### UnableToUpdateProductList
853
- * Error in underlying API call, more info may be contained in the error message.
854
- */
855
- updateCustomerProductList?: Maybe<CustomerProductListResult>;
856
- /** # updateCustomerProductListItem
857
- * ## Description
1069
+ /** ## Description
858
1070
  * Updates an item in product list, null id updates item in the default product list.
859
1071
  * ## Error Codes
860
1072
  * ### Unauthorized
@@ -871,8 +1083,98 @@ export type Mutation = {
871
1083
  * Argument `articleNumber` cannot be null or empty.
872
1084
  */
873
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>;
874
1150
  /** The updatePassword mutation updates the customers password. Both the old password and a new password is a requirement. */
875
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>;
876
1178
  };
877
1179
 
878
1180
  export type MutationToggleListFilterItemArgs = {
@@ -919,13 +1221,13 @@ export type MutationClearMultiListFilterListArgs = {
919
1221
  filter: MultiListFilter;
920
1222
  };
921
1223
 
922
- export type MutationAddMultipleToCartArgs = {
923
- cartId?: Maybe<Scalars['String']>;
924
- items: Array<Maybe<AddMultipleToCartInput>>;
1224
+ export type MutationSubscribeToStockNotificationsArgs = {
1225
+ email: Scalars['String'];
1226
+ articleNumber: Scalars['String'];
925
1227
  };
926
1228
 
927
- export type MutationAddToCartArgs = {
928
- input: AddToCartInput;
1229
+ export type MutationSubscribeToNewsletterArgs = {
1230
+ email: Scalars['String'];
929
1231
  };
930
1232
 
931
1233
  export type MutationAddToCustomerProductListArgs = {
@@ -937,37 +1239,45 @@ export type MutationCreateCustomerProductListArgs = {
937
1239
  input: CreateCustomerProductListInput;
938
1240
  };
939
1241
 
940
- export type MutationDecrementItemQuantityArgs = {
941
- input: ChangeByOneItemQuantityInput;
942
- };
943
-
944
1242
  export type MutationDeleteCustomerProductListArgs = {
945
1243
  id: Scalars['ID'];
946
1244
  };
947
1245
 
948
- export type MutationIncrementItemQuantityArgs = {
949
- input: ChangeByOneItemQuantityInput;
1246
+ export type MutationRemoveFromCustomerProductListArgs = {
1247
+ id?: Maybe<Scalars['ID']>;
1248
+ articleNumbers?: Maybe<Array<Scalars['String']>>;
950
1249
  };
951
1250
 
952
- export type MutationLoginArgs = {
953
- password: Scalars['String'];
954
- email?: Maybe<Scalars['String']>;
955
- pid?: Maybe<Scalars['String']>;
956
- externalId?: Maybe<Scalars['String']>;
957
- memberNumber?: Maybe<Scalars['String']>;
1251
+ export type MutationUpdateCustomerProductListItemArgs = {
1252
+ input: UpdateCustomerProductListItemInput;
958
1253
  };
959
1254
 
960
- export type MutationRemoveFromCartArgs = {
961
- input: RemoveFromCartInput;
1255
+ export type MutationUpdateCustomerProductListArgs = {
1256
+ input: UpdateCustomerProductListInput;
962
1257
  };
963
1258
 
964
- export type MutationRemoveFromCustomerProductListArgs = {
965
- id?: Maybe<Scalars['ID']>;
966
- articleNumbers?: Maybe<Array<Scalars['String']>>;
1259
+ export type MutationActivateExternalCustomerByIdArgs = {
1260
+ input?: Maybe<ActivateExternalCustomerByIdInput>;
967
1261
  };
968
1262
 
969
- export type MutationRemoveMultipleFromCartArgs = {
970
- 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']>;
971
1281
  };
972
1282
 
973
1283
  export type MutationRequestPasswordResetArgs = {
@@ -979,42 +1289,58 @@ export type MutationResetPasswordArgs = {
979
1289
  newPassword: Scalars['String'];
980
1290
  };
981
1291
 
982
- export type MutationSetItemQuantityArgs = {
983
- input: SetItemQuantityInput;
984
- };
985
-
986
1292
  export type MutationSignUpArgs = {
987
1293
  input: SignUpInput;
988
1294
  };
989
1295
 
990
- export type MutationSubscribeToNewsletterArgs = {
991
- email: Scalars['String'];
1296
+ export type MutationUpdateCustomerGroupArgs = {
1297
+ customerGroupAccessCode: Scalars['String'];
992
1298
  };
993
1299
 
994
- export type MutationSubscribeToStockNotificationsArgs = {
995
- email: Scalars['String'];
996
- articleNumber: Scalars['String'];
1300
+ export type MutationUpdateCustomerArgs = {
1301
+ input: CustomerUpdateInput;
997
1302
  };
998
1303
 
999
- export type MutationUpdateCartArgs = {
1000
- input: UpdateCartInput;
1304
+ export type MutationUpdateCustomerPriceListArgs = {
1305
+ priceListAccessCode: Scalars['String'];
1001
1306
  };
1002
1307
 
1003
- export type MutationUpdateCustomerArgs = {
1004
- input: CustomerUpdateInput;
1308
+ export type MutationUpdatePasswordArgs = {
1309
+ oldPassword: Scalars['String'];
1310
+ newPassword: Scalars['String'];
1005
1311
  };
1006
1312
 
1007
- export type MutationUpdateCustomerProductListArgs = {
1008
- input: UpdateCustomerProductListInput;
1313
+ export type MutationAddMultipleToCartArgs = {
1314
+ cartId?: Maybe<Scalars['String']>;
1315
+ items: Array<Maybe<AddMultipleToCartInput>>;
1009
1316
  };
1010
1317
 
1011
- export type MutationUpdateCustomerProductListItemArgs = {
1012
- input: UpdateCustomerProductListItemInput;
1318
+ export type MutationAddToCartArgs = {
1319
+ input: AddToCartInput;
1013
1320
  };
1014
1321
 
1015
- export type MutationUpdatePasswordArgs = {
1016
- oldPassword: Scalars['String'];
1017
- 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;
1018
1344
  };
1019
1345
 
1020
1346
  export type MyPagesContent = {
@@ -1027,26 +1353,29 @@ export type NumericRangeFilter = Filter & {
1027
1353
  __typename?: 'NumericRangeFilter';
1028
1354
  isActive: Scalars['Boolean'];
1029
1355
  value?: Maybe<Array<Maybe<Scalars['Decimal']>>>;
1030
- id: Scalars['String'];
1031
- max: Scalars['Decimal'];
1032
1356
  min: Scalars['Decimal'];
1357
+ max: Scalars['Decimal'];
1358
+ id: Scalars['String'];
1033
1359
  name: Scalars['String'];
1034
1360
  };
1035
1361
 
1036
1362
  export type Order = {
1037
1363
  __typename?: 'Order';
1364
+ id: Scalars['ID'];
1365
+ orderNumber?: Maybe<Scalars['String']>;
1366
+ status?: Maybe<OrderStatus>;
1367
+ items?: Maybe<Array<Maybe<OrderItem>>>;
1038
1368
  billingInfo?: Maybe<OrderInfo>;
1039
- currency?: Maybe<Currency>;
1040
1369
  deliveryInfo?: Maybe<OrderInfo>;
1370
+ paymentMethod?: Maybe<OrderPaymentMethod>;
1041
1371
  deliveryMethod?: Maybe<OrderDeliveryMethod>;
1042
1372
  giftVouchers?: Maybe<Array<Maybe<OrderGiftVoucher>>>;
1043
- id: Scalars['ID'];
1044
- items?: Maybe<Array<Maybe<OrderItem>>>;
1045
- orderDate?: Maybe<Scalars['Date']>;
1046
- orderNumber?: Maybe<Scalars['String']>;
1047
- paymentMethod?: Maybe<OrderPaymentMethod>;
1048
- status?: Maybe<OrderStatus>;
1049
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>>>;
1050
1379
  };
1051
1380
 
1052
1381
  export type OrderItemsArgs = {
@@ -1056,18 +1385,30 @@ export type OrderItemsArgs = {
1056
1385
 
1057
1386
  export type OrderAddress = {
1058
1387
  __typename?: 'OrderAddress';
1388
+ street?: Maybe<Scalars['String']>;
1389
+ postcode?: Maybe<Scalars['String']>;
1059
1390
  city?: Maybe<Scalars['String']>;
1391
+ region?: Maybe<Scalars['String']>;
1060
1392
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1061
1393
  country?: Maybe<Country>;
1062
- postcode?: Maybe<Scalars['String']>;
1063
- region?: Maybe<Scalars['String']>;
1064
- 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']>;
1065
1406
  };
1066
1407
 
1067
1408
  export type OrderDeliveryMethod = {
1068
1409
  __typename?: 'OrderDeliveryMethod';
1069
- fee?: Maybe<Price>;
1070
1410
  name?: Maybe<Scalars['String']>;
1411
+ fee?: Maybe<Price>;
1071
1412
  tracking?: Maybe<OrderDeliveryMethodTracking>;
1072
1413
  };
1073
1414
 
@@ -1079,22 +1420,24 @@ export type OrderDeliveryMethodTracking = {
1079
1420
 
1080
1421
  export type OrderGiftVoucher = {
1081
1422
  __typename?: 'OrderGiftVoucher';
1423
+ name?: Maybe<Scalars['String']>;
1082
1424
  amount?: Maybe<Scalars['Decimal']>;
1083
1425
  charged?: Maybe<Scalars['Decimal']>;
1084
- name?: Maybe<Scalars['String']>;
1085
- validUntil?: Maybe<Scalars['Date']>;
1426
+ validUntil?: Maybe<Scalars['DateTime']>;
1086
1427
  };
1087
1428
 
1088
1429
  export type OrderHeader = {
1089
1430
  __typename?: 'OrderHeader';
1090
- currency?: Maybe<Currency>;
1091
1431
  id: Scalars['ID'];
1092
- orderDate?: Maybe<Scalars['Date']>;
1093
1432
  orderNumber?: Maybe<Scalars['String']>;
1094
1433
  status?: Maybe<OrderStatus>;
1095
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']>;
1096
1437
  total?: Maybe<Price>;
1438
+ orderDate?: Maybe<Scalars['DateTime']>;
1097
1439
  trackingId?: Maybe<Scalars['String']>;
1440
+ currency?: Maybe<Currency>;
1098
1441
  };
1099
1442
 
1100
1443
  export type OrderHeaderResult = {
@@ -1105,27 +1448,26 @@ export type OrderHeaderResult = {
1105
1448
 
1106
1449
  export type OrderInfo = {
1107
1450
  __typename?: 'OrderInfo';
1108
- address?: Maybe<OrderAddress>;
1109
- company?: Maybe<Scalars['String']>;
1110
1451
  firstName?: Maybe<Scalars['String']>;
1111
1452
  lastName?: Maybe<Scalars['String']>;
1453
+ company?: Maybe<Scalars['String']>;
1112
1454
  phone?: Maybe<Scalars['String']>;
1455
+ address?: Maybe<OrderAddress>;
1113
1456
  };
1114
1457
 
1115
1458
  export type OrderItem = {
1116
1459
  __typename?: 'OrderItem';
1117
1460
  articleNumber?: Maybe<Scalars['String']>;
1118
- discounts?: Maybe<Array<Maybe<OrderItemDiscount>>>;
1119
1461
  /** Name of the Product at the time the order was placed (may since have changed).
1120
1462
  * Use this as a fallback if the 'product' field itself is null.
1121
1463
  */
1122
1464
  name?: Maybe<Scalars['String']>;
1123
- preOrderDate?: Maybe<Scalars['DateTime']>;
1124
- /** N.B. this may be null if the Product has since been removed. */
1125
- product?: Maybe<Product>;
1126
1465
  quantity?: Maybe<Scalars['Int']>;
1127
- total?: Maybe<Price>;
1128
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>;
1129
1471
  /** N.B. this may be null if the Product itself or the Variant has since been removed. */
1130
1472
  variant?: Maybe<ProductVariant>;
1131
1473
  /** N.B. this may be null if the Product has since been removed. */
@@ -1135,6 +1477,9 @@ export type OrderItem = {
1135
1477
  * be null when the OrderItem is not a Variant.
1136
1478
  */
1137
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>>>;
1138
1483
  };
1139
1484
 
1140
1485
  export type OrderItemDiscount = {
@@ -1144,29 +1489,29 @@ export type OrderItemDiscount = {
1144
1489
 
1145
1490
  export type OrderPaymentMethod = {
1146
1491
  __typename?: 'OrderPaymentMethod';
1147
- fee?: Maybe<Price>;
1148
1492
  name?: Maybe<Scalars['String']>;
1493
+ fee?: Maybe<Price>;
1149
1494
  };
1150
1495
 
1151
1496
  export type OrderStatus = {
1152
1497
  __typename?: 'OrderStatus';
1153
- description?: Maybe<Scalars['String']>;
1154
1498
  id?: Maybe<Scalars['ID']>;
1499
+ description?: Maybe<Scalars['String']>;
1155
1500
  timestamp?: Maybe<Scalars['DateTime']>;
1156
1501
  };
1157
1502
 
1158
1503
  export type Package = {
1159
1504
  __typename?: 'Package';
1160
- /** Total package discount in percentage */
1161
- discountPercentage?: Maybe<Price>;
1162
- /** Total package discount amount */
1163
- discountValue?: Maybe<Price>;
1164
1505
  id: Scalars['ID'];
1165
1506
  items: Array<PackageItem>;
1166
- /** The previous package price without any potential discount */
1167
- previousPrice?: Maybe<Price>;
1168
1507
  /** The current package price with any potential discount */
1169
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']>;
1170
1515
  };
1171
1516
 
1172
1517
  export type PackageDiscount = PackageDiscountPercentage | PackageDiscountValue;
@@ -1178,20 +1523,20 @@ export type PackageDiscountPercentage = {
1178
1523
 
1179
1524
  export type PackageDiscountValue = {
1180
1525
  __typename?: 'PackageDiscountValue';
1181
- valueExVat: Scalars['Decimal'];
1182
1526
  valueIncVat: Scalars['Decimal'];
1527
+ valueExVat: Scalars['Decimal'];
1183
1528
  valueVat: Scalars['Decimal'];
1184
1529
  };
1185
1530
 
1186
1531
  export type PackageItem = {
1187
1532
  __typename?: 'PackageItem';
1188
- discount: PackageDiscount;
1533
+ product?: Maybe<Product>;
1189
1534
  minQuantity: Scalars['Int'];
1190
- /** The previous package price without any potential discount */
1191
- previousPrice?: Maybe<Price>;
1535
+ discount?: Maybe<PackageDiscount>;
1192
1536
  /** The current package price with any potential discount */
1193
1537
  price?: Maybe<Price>;
1194
- product?: Maybe<Product>;
1538
+ /** The previous package price without any potential discount */
1539
+ previousPrice?: Maybe<Price>;
1195
1540
  };
1196
1541
 
1197
1542
  export type PackagePriceInput = {
@@ -1201,28 +1546,55 @@ export type PackagePriceInput = {
1201
1546
 
1202
1547
  export type Page = Document & {
1203
1548
  __typename?: 'Page';
1204
- breadcrumbText?: Maybe<Scalars['String']>;
1549
+ id: Scalars['ID'];
1550
+ name: Scalars['String'];
1551
+ mainHeader?: Maybe<Scalars['String']>;
1205
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>>>;
1206
1557
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1207
1558
  head?: Maybe<HtmlHead>;
1208
- id: Scalars['ID'];
1209
- images?: Maybe<Array<Maybe<Image>>>;
1210
- mainHeader?: Maybe<Scalars['String']>;
1211
- name: Scalars['String'];
1212
1559
  /** The primary route of this Page. NB: Carries a performance cost, as asking for
1213
1560
  * this will result in a separate API call in the backend.
1214
1561
  */
1215
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']>;
1216
1588
  };
1217
1589
 
1218
1590
  export type PagedResult = {
1219
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>>>;
1220
1595
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1221
1596
  filters?: Maybe<Array<Maybe<Filter>>>;
1222
1597
  result: Array<Maybe<Product>>;
1223
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1224
- sortOrders?: Maybe<Array<Maybe<ProductSortOrder>>>;
1225
- totalResults?: Maybe<Scalars['Int']>;
1226
1598
  };
1227
1599
 
1228
1600
  export type PagedResultFiltersArgs = {
@@ -1236,48 +1608,59 @@ export type PagingInput = {
1236
1608
 
1237
1609
  export type PaymentType = {
1238
1610
  __typename?: 'paymentType';
1611
+ name: Scalars['String'];
1239
1612
  apiClientId: Scalars['String'];
1240
1613
  availableForBusiness: Scalars['Boolean'];
1241
1614
  availableForPrivate: Scalars['Boolean'];
1242
- name: Scalars['String'];
1243
1615
  };
1244
1616
 
1245
1617
  export type PersonLookup = {
1246
1618
  __typename?: 'PersonLookup';
1619
+ firstName?: Maybe<MaskedProperty>;
1620
+ lastName?: Maybe<MaskedProperty>;
1621
+ co?: Maybe<MaskedProperty>;
1247
1622
  address?: Maybe<MaskedProperty>;
1248
1623
  city?: Maybe<MaskedProperty>;
1249
- co?: Maybe<MaskedProperty>;
1624
+ postalCode?: Maybe<MaskedProperty>;
1250
1625
  country?: Maybe<MaskedProperty>;
1251
- firstName?: Maybe<MaskedProperty>;
1252
- lastName?: Maybe<MaskedProperty>;
1253
- mobilePhoneNumber?: Maybe<MaskedProperty>;
1254
1626
  phoneNumber?: Maybe<MaskedProperty>;
1255
- postalCode?: Maybe<MaskedProperty>;
1627
+ mobilePhoneNumber?: Maybe<MaskedProperty>;
1256
1628
  };
1257
1629
 
1258
1630
  export type Price = {
1259
1631
  __typename?: 'Price';
1260
- exVat: Scalars['Decimal'];
1261
1632
  incVat: Scalars['Decimal'];
1633
+ exVat: Scalars['Decimal'];
1262
1634
  vat: Scalars['Decimal'];
1263
1635
  };
1264
1636
 
1637
+ export type PriceHistory = {
1638
+ __typename?: 'PriceHistory';
1639
+ timestamp?: Maybe<Scalars['DateTime']>;
1640
+ price?: Maybe<Price>;
1641
+ };
1642
+
1265
1643
  export type PrivateCustomer = Customer & {
1266
1644
  __typename?: 'PrivateCustomer';
1267
- billingAddress?: Maybe<CustomerAddress>;
1268
- communication?: Maybe<CustomerCommunication>;
1269
- deliveryAddresses?: Maybe<Array<Maybe<CustomerAddress>>>;
1270
- dynamicContent?: Maybe<Scalars['String']>;
1271
- email?: Maybe<Scalars['String']>;
1645
+ pid?: Maybe<Scalars['String']>;
1272
1646
  id: Scalars['ID'];
1273
- language?: Maybe<Language>;
1274
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>>>;
1275
1655
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1276
1656
  orderHeaders?: Maybe<OrderHeaderResult>;
1277
- pid?: Maybe<Scalars['String']>;
1657
+ communication?: Maybe<CustomerCommunication>;
1278
1658
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1279
1659
  store?: Maybe<Store>;
1280
- 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']>;
1281
1664
  };
1282
1665
 
1283
1666
  export type PrivateCustomerOrderHeadersArgs = {
@@ -1287,110 +1670,150 @@ export type PrivateCustomerOrderHeadersArgs = {
1287
1670
 
1288
1671
  export type Product = Document & {
1289
1672
  __typename?: 'Product';
1673
+ id: Scalars['Int'];
1290
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']>;
1291
1684
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1292
- badges?: Maybe<Array<Maybe<ProductBadge>>>;
1293
- barcode?: Maybe<Scalars['String']>;
1294
- 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>>>;
1295
1688
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1296
1689
  campaigns?: Maybe<Array<Maybe<Category>>>;
1690
+ hasVariants: Scalars['Boolean'];
1691
+ hasVariantsWithDifferingPrices: Scalars['Boolean'];
1692
+ variants?: Maybe<ProductVariants>;
1693
+ images?: Maybe<Array<Maybe<ProductImage>>>;
1297
1694
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1298
- canonicalCategory?: Maybe<Category>;
1695
+ relatedProducts?: Maybe<Array<Maybe<Product>>>;
1299
1696
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1300
- categories?: Maybe<Array<Maybe<Category>>>;
1301
- /** Calculates the price of the product based on the configuration choices that's
1302
- * been madeNB: Carries a performance cost, as asking for this will result in a
1303
- * 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.
1304
1702
  */
1305
- configurationPrice?: Maybe<ProductConfigurationPrice>;
1306
- /** Configurations on a product are used to assemble a complete product,
1307
- *
1308
- * For example, if the product is a ring then the ring may have two
1309
- * configurations; measures of circumference and choice of engraving
1310
- *
1311
- * 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.
1312
1708
  */
1313
- 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>;
1314
1727
  /** Specifies input field(s) for the Customer to populate on the Product that will then carry through to the Order.
1315
- * If 'required' is true the Product should not be purchasable
1316
- * until the field is populated.NB: Carries a performance cost, as asking for
1317
- * 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.
1318
1729
  */
1319
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>;
1320
1733
  customFields?: Maybe<Array<Maybe<CustomField>>>;
1321
- /** Default previous price for the product in the channel, disregards Customer specific prices. */
1322
- defaultPreviousPrice?: Maybe<Price>;
1323
- /** Default price for the product in the channel, disregards Customer specific prices. */
1324
- defaultPrice?: Maybe<Price>;
1325
- 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>;
1326
1743
  /** The product is recommended to only be purchasable in multiples of the
1327
1744
  * distributionPackageSize. (Different shops may have different levels of
1328
1745
  * leniency on this rule).
1329
1746
  */
1330
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>>>;
1331
1757
  hasConfigurations: Scalars['Boolean'];
1332
- hasVariants: Scalars['Boolean'];
1333
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1334
- head?: Maybe<HtmlHead>;
1335
- id: Scalars['Int'];
1336
- images?: Maybe<Array<Maybe<ProductImage>>>;
1337
- inPackages?: Maybe<Array<Product>>;
1338
- isPackage?: Maybe<Scalars['Boolean']>;
1339
- isPreOrder?: Maybe<Scalars['Boolean']>;
1340
- /** Product header if it differs from the actual product name, usually displayed
1341
- * 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.
1342
1762
  */
1343
- mainHeader: Scalars['String'];
1344
- name: Scalars['String'];
1345
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1346
- 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']>;
1347
1767
  preOrder?: Maybe<ProductPreOrder>;
1348
- /** The previous price (i.e. this will be higher than `price` if the product is
1349
- * discounted). Will be a Customer specific previous price, if that Customer has
1350
- * a separate price list.
1351
- */
1352
- previousPrice?: Maybe<Price>;
1353
- /** The current price. Will be a Customer specific price, if that Customer has a separate price list. */
1354
- price?: Maybe<Price>;
1355
- /** The primary route of this Product. NB: Carries a performance cost, as asking
1356
- * 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
1357
1778
  */
1358
- primaryRoute?: Maybe<Route>;
1359
- publishedDate?: Maybe<Scalars['Date']>;
1360
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1361
- quantitySuffix?: Maybe<Scalars['String']>;
1362
- /** Not in use. Always null. */
1363
- recommendedPrice?: Maybe<Price>;
1364
- recommendedProducts?: Maybe<RecommendedProducts>;
1365
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1366
- relatedProducts?: Maybe<Array<Maybe<Product>>>;
1367
- shortDescription: Scalars['String'];
1368
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1369
- stockStatus?: Maybe<StockStatus>;
1370
- subName: Scalars['String'];
1779
+ package?: Maybe<Package>;
1371
1780
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1372
1781
  upsell?: Maybe<Upsell>;
1373
- variants?: Maybe<ProductVariants>;
1374
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1375
- 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>;
1376
1790
  };
1377
1791
 
1378
1792
  export type ProductCategoriesArgs = {
1379
1793
  includeHidden?: Maybe<Scalars['Boolean']>;
1380
1794
  };
1381
1795
 
1382
- export type ProductConfigurationPriceArgs = {
1383
- options?: Maybe<Array<ProductConfigurationPriceInput>>;
1384
- };
1385
-
1386
1796
  export type ProductImagesArgs = {
1387
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>>;
1388
1807
  };
1389
1808
 
1390
1809
  export type ProductPackageArgs = {
1391
1810
  articleNumbers?: Maybe<Array<Maybe<PackagePriceInput>>>;
1392
1811
  };
1393
1812
 
1813
+ export type ProductHistoryArgs = {
1814
+ days?: Maybe<Scalars['Int']>;
1815
+ };
1816
+
1394
1817
  export type ProductAutoCompleteResult = {
1395
1818
  __typename?: 'ProductAutoCompleteResult';
1396
1819
  result: Array<Maybe<Product>>;
@@ -1398,11 +1821,11 @@ export type ProductAutoCompleteResult = {
1398
1821
 
1399
1822
  export type ProductBadge = {
1400
1823
  __typename?: 'ProductBadge';
1401
- location?: Maybe<ProductBadgeLocation>;
1402
1824
  name?: Maybe<Scalars['String']>;
1825
+ url?: Maybe<Scalars['Uri']>;
1826
+ location?: Maybe<ProductBadgeLocation>;
1403
1827
  style?: Maybe<Scalars['String']>;
1404
1828
  text?: Maybe<Scalars['String']>;
1405
- url?: Maybe<Scalars['Uri']>;
1406
1829
  };
1407
1830
 
1408
1831
  export enum ProductBadgeLocation {
@@ -1444,8 +1867,8 @@ export type ProductConfigurationOption = {
1444
1867
 
1445
1868
  export type ProductConfigurationPrice = {
1446
1869
  __typename?: 'ProductConfigurationPrice';
1447
- previousPrice?: Maybe<Price>;
1448
1870
  price?: Maybe<Price>;
1871
+ previousPrice?: Maybe<Price>;
1449
1872
  };
1450
1873
 
1451
1874
  /** Describes how the price is calculated on a configuration option.
@@ -1456,9 +1879,9 @@ export type ProductConfigurationPrice = {
1456
1879
  */
1457
1880
  export type ProductConfigurationPriceCalculation = {
1458
1881
  __typename?: 'ProductConfigurationPriceCalculation';
1459
- formula?: Maybe<Scalars['String']>;
1460
1882
  id: Scalars['ID'];
1461
1883
  name?: Maybe<Scalars['String']>;
1884
+ formula?: Maybe<Scalars['String']>;
1462
1885
  variables?: Maybe<Array<Maybe<ProductConfigurationPriceCalculationVariable>>>;
1463
1886
  };
1464
1887
 
@@ -1480,21 +1903,27 @@ export enum ProductCustomFieldType {
1480
1903
  MultiLevelList = 'MULTI_LEVEL_LIST'
1481
1904
  }
1482
1905
 
1906
+ export type ProductHistory = {
1907
+ __typename?: 'ProductHistory';
1908
+ previousPrice?: Maybe<Array<Maybe<PriceHistory>>>;
1909
+ };
1910
+
1483
1911
  export type ProductImage = {
1484
1912
  __typename?: 'ProductImage';
1485
1913
  /** Alternate text for the image, commonly used for the alt attribute of img-tags. */
1486
1914
  alt?: Maybe<Scalars['String']>;
1487
- sizes: Array<Maybe<ProductImageSize>>;
1488
1915
  /** Extra information, commonly used for the title attribute of img-tag. Should be shown on hover. */
1489
1916
  title?: Maybe<Scalars['String']>;
1917
+ sizes: Array<Maybe<ProductImageSize>>;
1490
1918
  url?: Maybe<Scalars['Uri']>;
1919
+ modifiedDate?: Maybe<Scalars['String']>;
1491
1920
  };
1492
1921
 
1493
1922
  export type ProductImageSize = {
1494
1923
  __typename?: 'ProductImageSize';
1924
+ width?: Maybe<Scalars['Int']>;
1495
1925
  height?: Maybe<Scalars['Int']>;
1496
1926
  url?: Maybe<Scalars['Uri']>;
1497
- width?: Maybe<Scalars['Int']>;
1498
1927
  };
1499
1928
 
1500
1929
  export enum ProductOrderOptions {
@@ -1513,46 +1942,78 @@ export type ProductPreOrder = {
1513
1942
  toDate?: Maybe<Scalars['DateTime']>;
1514
1943
  };
1515
1944
 
1945
+ export type ProductPriceDateSpan = {
1946
+ __typename?: 'ProductPriceDateSpan';
1947
+ startDate?: Maybe<Scalars['DateTime']>;
1948
+ endDate?: Maybe<Scalars['DateTime']>;
1949
+ };
1950
+
1516
1951
  export type ProductSearchResult = {
1517
1952
  __typename?: 'ProductSearchResult';
1518
- filters?: Maybe<Array<Maybe<Filter>>>;
1519
1953
  result: Array<Maybe<Product>>;
1954
+ filters?: Maybe<Array<Maybe<Filter>>>;
1520
1955
  totalResults?: Maybe<Scalars['Int']>;
1521
1956
  };
1522
1957
 
1523
1958
  export type ProductSortOrder = {
1524
1959
  __typename?: 'ProductSortOrder';
1525
- defaultDirection: SortDirection;
1526
- isDefault: Scalars['Boolean'];
1527
1960
  text: Scalars['String'];
1528
1961
  value: ProductOrderOptions;
1962
+ isDefault: Scalars['Boolean'];
1963
+ defaultDirection: SortDirection;
1529
1964
  };
1530
1965
 
1531
1966
  export type ProductVariant = {
1532
1967
  __typename?: 'ProductVariant';
1533
- articleNumber: Scalars['String'];
1534
- barcode?: Maybe<Scalars['String']>;
1535
- /** Default previous price for the product in the channel, disregards Customer specific prices. */
1536
- defaultPreviousPrice?: Maybe<Price>;
1537
- /** Default price for the product in the channel, disregards Customer specific prices. */
1538
- defaultPrice?: Maybe<Price>;
1539
1968
  id: Scalars['String'];
1540
- 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>;
1541
1978
  /** The previous price (i.e. this will be higher than `price` if the product is
1542
1979
  * discounted). Will be a Customer specific previous price, if that Customer has
1543
1980
  * a separate price list.
1544
1981
  */
1545
1982
  previousPrice?: Maybe<Price>;
1546
- /** The current price. Will be a Customer specific price, if that Customer has a separate price list. */
1547
- 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>;
1548
1987
  /** Not in use. Always null. */
1549
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>;
1550
1996
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1551
1997
  stockStatus?: Maybe<StockStatus>;
1552
- /** Variant values (combination of option values) */
1553
- values: Array<Maybe<Scalars['String']>>;
1554
1998
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1555
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>>>;
1556
2017
  };
1557
2018
 
1558
2019
  export type ProductVariantOption = {
@@ -1571,73 +2032,75 @@ export type ProductVariants = {
1571
2032
 
1572
2033
  export type Query = {
1573
2034
  __typename?: 'Query';
1574
- cart?: Maybe<Cart>;
1575
- /** get categories by channel id, culture, root and culture */
1576
- categories: Array<Maybe<Category>>;
1577
- /** get category by id */
1578
- category?: Maybe<Category>;
1579
- /** get channel by id, null gets default channel */
1580
- channel?: Maybe<Channel>;
1581
- /** get all channels */
1582
- channels: Array<Maybe<Channel>>;
1583
- 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>;
1584
2052
  /** get customer product list by id, null gets default product list */
1585
2053
  customerProductList?: Maybe<CustomerProductList>;
1586
2054
  customerProductLists: Array<Maybe<CustomerProductList>>;
1587
2055
  /** Fetches customer-unique offers */
1588
- loyalty?: Maybe<Loyalty>;
1589
- /** Fetches my pages content */
1590
- myPagesContent?: Maybe<MyPagesContent>;
1591
- /** fetch order by id */
1592
- order?: Maybe<Order>;
1593
- page?: Maybe<Page>;
1594
- 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>;
1595
2065
  /** Get information on person by Key(personal id number or phone number) */
1596
2066
  personLookup?: Maybe<PersonLookup>;
1597
- product?: Maybe<Product>;
1598
- products: Array<Maybe<Product>>;
1599
- /** get product, category or page by path. */
1600
- route?: Maybe<Route>;
1601
- search?: Maybe<SearchResult>;
1602
- searchAutoComplete?: Maybe<SearchAutoCompleteResult>;
1603
- startPage?: Maybe<StartPage>;
1604
- store?: Maybe<Store>;
1605
- stores: Array<Maybe<Store>>;
1606
- };
1607
-
1608
- export type QueryCartArgs = {
1609
- id?: Maybe<Scalars['String']>;
1610
- };
1611
-
1612
- export type QueryCategoriesArgs = {
1613
- root?: Maybe<Scalars['Int']>;
1614
- levels?: Maybe<Scalars['Int']>;
1615
- 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>;
1616
2080
  };
1617
2081
 
1618
- export type QueryCategoryArgs = {
2082
+ export type QueryStoreArgs = {
1619
2083
  id: Scalars['Int'];
1620
2084
  };
1621
2085
 
1622
- export type QueryChannelArgs = {
1623
- id?: Maybe<Scalars['String']>;
2086
+ export type QueryStoresArgs = {
2087
+ includeInactive?: Scalars['Boolean'];
1624
2088
  };
1625
2089
 
1626
- export type QueryCustomerProductListArgs = {
1627
- id?: Maybe<Scalars['ID']>;
1628
- shareToken?: Maybe<Scalars['String']>;
2090
+ export type QueryStartPageArgs = {
2091
+ id?: Maybe<Scalars['Int']>;
1629
2092
  };
1630
2093
 
1631
- export type QueryOrderArgs = {
1632
- id: Scalars['Int'];
2094
+ export type QuerySearchAutoCompleteArgs = {
2095
+ term: Scalars['String'];
1633
2096
  };
1634
2097
 
1635
- export type QueryPageArgs = {
1636
- id: Scalars['Int'];
2098
+ export type QuerySearchArgs = {
2099
+ term: Scalars['String'];
1637
2100
  };
1638
2101
 
1639
- export type QueryPersonLookupArgs = {
1640
- key: Scalars['String'];
2102
+ export type QueryRouteArgs = {
2103
+ path: Scalars['String'];
1641
2104
  };
1642
2105
 
1643
2106
  export type QueryProductArgs = {
@@ -1652,24 +2115,53 @@ export type QueryProductsArgs = {
1652
2115
  barcodes?: Maybe<Array<Maybe<Scalars['String']>>>;
1653
2116
  };
1654
2117
 
1655
- export type QueryRouteArgs = {
1656
- path: Scalars['String'];
2118
+ export type QueryPageArgs = {
2119
+ id: Scalars['Int'];
1657
2120
  };
1658
2121
 
1659
- export type QuerySearchArgs = {
1660
- term: Scalars['String'];
2122
+ export type QueryOrderArgs = {
2123
+ id?: Maybe<Scalars['Int']>;
2124
+ orderId?: Maybe<Scalars['ID']>;
1661
2125
  };
1662
2126
 
1663
- export type QuerySearchAutoCompleteArgs = {
1664
- term: Scalars['String'];
2127
+ export type QueryCustomerProductListArgs = {
2128
+ id?: Maybe<Scalars['ID']>;
2129
+ shareToken?: Maybe<Scalars['String']>;
1665
2130
  };
1666
2131
 
1667
- export type QueryStartPageArgs = {
1668
- id?: Maybe<Scalars['Int']>;
2132
+ export type QueryCustomerLookupArgs = {
2133
+ phoneNumber?: Maybe<Scalars['String']>;
1669
2134
  };
1670
2135
 
1671
- export type QueryStoreArgs = {
1672
- 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']>;
1673
2165
  };
1674
2166
 
1675
2167
  export type RangeFilterInput = {
@@ -1682,21 +2174,21 @@ export type RecommendedProducts = {
1682
2174
  __typename?: 'RecommendedProducts';
1683
2175
  /** Customers who bought this product also bought these products. */
1684
2176
  bought?: Maybe<Array<Maybe<Product>>>;
1685
- /** A shuffled top list of popular products. */
1686
- shuffledToplist?: Maybe<Array<Maybe<Product>>>;
1687
2177
  /** Customers who viewed this product also viewed these products. */
1688
2178
  viewed?: Maybe<Array<Maybe<Product>>>;
2179
+ /** A shuffled top list of popular products. */
2180
+ shuffledToplist?: Maybe<Array<Maybe<Product>>>;
1689
2181
  };
1690
2182
 
1691
2183
  export type RecommendedProductsBoughtArgs = {
1692
2184
  count?: Maybe<Scalars['Int']>;
1693
2185
  };
1694
2186
 
1695
- export type RecommendedProductsShuffledToplistArgs = {
2187
+ export type RecommendedProductsViewedArgs = {
1696
2188
  count?: Maybe<Scalars['Int']>;
1697
2189
  };
1698
2190
 
1699
- export type RecommendedProductsViewedArgs = {
2191
+ export type RecommendedProductsShuffledToplistArgs = {
1700
2192
  count?: Maybe<Scalars['Int']>;
1701
2193
  };
1702
2194
 
@@ -1723,12 +2215,10 @@ export type ResetPassword = {
1723
2215
  /** Represents a route to either a Category, a Product, a Page or the StartPage. */
1724
2216
  export type Route = {
1725
2217
  __typename?: 'Route';
1726
- /** Alternative routes for this object, if it exists in another channel and/or in
1727
- * another language.NB: Carries no additional performance cost.
1728
- */
1729
- alternateRoutes?: Maybe<Array<Maybe<AlternateRoute>>>;
1730
- canonicalPath?: Maybe<Scalars['String']>;
1731
2218
  id: Scalars['String'];
2219
+ path: Scalars['String'];
2220
+ canonicalPath?: Maybe<Scalars['String']>;
2221
+ slug: Scalars['String'];
1732
2222
  /** The Category, Product, Page or StartPage that the Route resolves to. NB:
1733
2223
  * Carries a performance cost, as asking for this will result in a separate API
1734
2224
  * call in the backend.
@@ -1740,16 +2230,22 @@ export type Route = {
1740
2230
  * categories a shop has, the more expensive this gets), route query in the backend.
1741
2231
  */
1742
2232
  parents?: Maybe<Array<Maybe<Route>>>;
1743
- path: Scalars['String'];
1744
- 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']>>>;
1745
2241
  };
1746
2242
 
1747
2243
  export type SearchAutoCompleteResult = {
1748
2244
  __typename?: 'SearchAutoCompleteResult';
1749
2245
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1750
- categories?: Maybe<CategoryAutoCompleteResult>;
1751
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1752
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>;
1753
2249
  };
1754
2250
 
1755
2251
  export type SearchAutoCompleteResultCategoriesArgs = {
@@ -1758,18 +2254,18 @@ export type SearchAutoCompleteResultCategoriesArgs = {
1758
2254
 
1759
2255
  export type SearchResult = {
1760
2256
  __typename?: 'SearchResult';
2257
+ products?: Maybe<ProductSearchResult>;
1761
2258
  /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1762
2259
  categories?: Maybe<CategorySearchResult>;
1763
- products?: Maybe<ProductSearchResult>;
1764
2260
  };
1765
2261
 
1766
- export type SearchResultCategoriesArgs = {
2262
+ export type SearchResultProductsArgs = {
1767
2263
  paging?: Maybe<PagingInput>;
2264
+ filters?: Maybe<FilterInput>;
1768
2265
  };
1769
2266
 
1770
- export type SearchResultProductsArgs = {
2267
+ export type SearchResultCategoriesArgs = {
1771
2268
  paging?: Maybe<PagingInput>;
1772
- filters?: Maybe<FilterInput>;
1773
2269
  };
1774
2270
 
1775
2271
  export type SelectedProductConfiguration = {
@@ -1840,17 +2336,26 @@ export type SignUpDeliveryAddressInput = {
1840
2336
  addressName?: Maybe<Scalars['String']>;
1841
2337
  };
1842
2338
 
2339
+ export type SignUpExternalAttribute = {
2340
+ name: Scalars['String'];
2341
+ value: Scalars['String'];
2342
+ };
2343
+
1843
2344
  export type SignUpInput = {
1844
2345
  type: CustomerType;
1845
2346
  pid?: Maybe<Scalars['String']>;
1846
2347
  organizationNumber?: Maybe<Scalars['String']>;
1847
2348
  emailAddress: Scalars['String'];
1848
2349
  password?: Maybe<Scalars['String']>;
2350
+ /** Customer id for external system */
2351
+ externalId?: Maybe<Scalars['String']>;
1849
2352
  billingAddress: SignUpBillingAddressInput;
1850
2353
  deliveryAddresses?: Maybe<Array<Maybe<SignUpDeliveryAddressInput>>>;
1851
2354
  preferences?: Maybe<SignUpPreferencesInput>;
1852
2355
  consents?: Maybe<Array<Maybe<SignUpConsentInput>>>;
2356
+ externalAttributes?: Maybe<Array<Maybe<SignUpExternalAttribute>>>;
1853
2357
  dynamicContent?: Maybe<Scalars['String']>;
2358
+ priceListAccessCode?: Maybe<Scalars['String']>;
1854
2359
  };
1855
2360
 
1856
2361
  export type SignUpPreferencesCommunicationInput = {
@@ -1887,55 +2392,73 @@ export enum SortDirection {
1887
2392
 
1888
2393
  export type StartPage = Document & {
1889
2394
  __typename?: 'StartPage';
1890
- breadcrumbText?: Maybe<Scalars['String']>;
1891
- content?: Maybe<Scalars['String']>;
1892
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
1893
- head?: Maybe<HtmlHead>;
1894
2395
  id: Scalars['Int'];
2396
+ name: Scalars['String'];
1895
2397
  images?: Maybe<Array<Maybe<Image>>>;
1896
2398
  isActive?: Maybe<Scalars['Boolean']>;
2399
+ content?: Maybe<Scalars['String']>;
1897
2400
  items?: Maybe<Array<Maybe<StartPageItem>>>;
1898
- name: Scalars['String'];
1899
- /** 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 */
1900
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>;
1901
2410
  };
1902
2411
 
1903
2412
  export type StartPageItem = {
1904
2413
  __typename?: 'StartPageItem';
1905
- column?: Maybe<Scalars['Int']>;
1906
2414
  id: Scalars['Int'];
1907
- item: StartPageItemObjectGraphType;
1908
2415
  row?: Maybe<Scalars['Int']>;
2416
+ column?: Maybe<Scalars['Int']>;
2417
+ item: StartPageItemObject;
1909
2418
  };
1910
2419
 
1911
- export type StartPageItemObjectGraphType = Product | CustomItem;
2420
+ export type StartPageItemObject = Product | CustomItem;
1912
2421
 
1913
2422
  export type StockStatus = {
1914
2423
  __typename?: 'StockStatus';
1915
- buyable: Scalars['Boolean'];
2424
+ /** Globally unique id. */
1916
2425
  id: Scalars['ID'];
1917
- maxOrderQuantity?: Maybe<Scalars['Int']>;
1918
- stockDate?: Maybe<Scalars['Date']>;
1919
- stockNotificationEnabled?: Maybe<Scalars['Boolean']>;
2426
+ /** The stock status id, not globally unique. */
2427
+ stockStatusId: Scalars['ID'];
1920
2428
  text?: Maybe<Scalars['String']>;
2429
+ buyable: Scalars['Boolean'];
2430
+ stockNotificationEnabled?: Maybe<Scalars['Boolean']>;
2431
+ stockDate?: Maybe<Scalars['DateTime']>;
2432
+ maxOrderQuantity?: Maybe<Scalars['Int']>;
1921
2433
  };
1922
2434
 
1923
2435
  export type Store = {
1924
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']>;
1925
2442
  address1?: Maybe<Scalars['String']>;
1926
2443
  address2?: Maybe<Scalars['String']>;
1927
- city?: Maybe<Scalars['String']>;
1928
- contact?: Maybe<Scalars['String']>;
1929
- coordinates?: Maybe<Coordinates>;
1930
2444
  description?: Maybe<Scalars['String']>;
1931
- id: Scalars['Int'];
1932
- name?: Maybe<Scalars['String']>;
1933
- openHours?: Maybe<Scalars['String']>;
1934
2445
  other?: Maybe<Scalars['String']>;
1935
- 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']>;
1936
2454
  };
1937
2455
 
1938
- /** 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
+ */
1939
2462
  export type Token = {
1940
2463
  __typename?: 'Token';
1941
2464
  value: Scalars['String'];
@@ -1944,7 +2467,15 @@ export type Token = {
1944
2467
  export type Tracking = {
1945
2468
  __typename?: 'Tracking';
1946
2469
  ga?: Maybe<GoogleAnalytics>;
2470
+ ga4?: Maybe<GoogleAnalytics4>;
1947
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']>;
1948
2479
  };
1949
2480
 
1950
2481
  export type UpdateCartInput = {
@@ -1964,6 +2495,16 @@ export type UpdateCartMutation = {
1964
2495
  cart?: Maybe<Cart>;
1965
2496
  };
1966
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
+
1967
2508
  export type UpdateCustomerProductListInput = {
1968
2509
  id: Scalars['ID'];
1969
2510
  typeId: Scalars['ID'];
@@ -2000,21 +2541,20 @@ export type UpsellDiscountPercentage = {
2000
2541
 
2001
2542
  export type UpsellDiscountValue = {
2002
2543
  __typename?: 'UpsellDiscountValue';
2003
- valueExVat: Scalars['Decimal'];
2004
2544
  valueIncVat: Scalars['Decimal'];
2545
+ valueExVat: Scalars['Decimal'];
2005
2546
  valueVat: Scalars['Decimal'];
2006
2547
  };
2007
2548
 
2008
2549
  export type UpsellItem = {
2009
2550
  __typename?: 'UpsellItem';
2010
- discount: UpsellDiscount;
2011
- minQuantity: Scalars['Int'];
2012
2551
  product?: Maybe<Product>;
2552
+ minQuantity: Scalars['Int'];
2553
+ discount: UpsellDiscount;
2013
2554
  };
2014
2555
 
2015
2556
  export type Warehouse = {
2016
2557
  __typename?: 'Warehouse';
2017
- /** NB: Carries a performance cost, as asking for this will result in a separate API call in the backend. */
2018
- location?: Maybe<Store>;
2019
2558
  stockLevel?: Maybe<Scalars['Int']>;
2559
+ location?: Maybe<Store>;
2020
2560
  };