@jetshop/core 3.13.3 → 3.13.5-non-polyfill

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  };