@phystack/products 4.3.40-dev

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 (44) hide show
  1. package/CHANGELOG.md +2736 -0
  2. package/dist/api.d.ts +11 -0
  3. package/dist/api.js +49 -0
  4. package/dist/helpers.d.ts +2 -0
  5. package/dist/helpers.js +11 -0
  6. package/dist/index.d.ts +7 -0
  7. package/dist/index.js +29 -0
  8. package/dist/index.test.d.ts +1 -0
  9. package/dist/index.test.js +1423 -0
  10. package/dist/services/grid-product-service-admin.d.ts +23 -0
  11. package/dist/services/grid-product-service-admin.js +120 -0
  12. package/dist/services/grid-product-service-client.d.ts +80 -0
  13. package/dist/services/grid-product-service-client.js +633 -0
  14. package/dist/services/grid-product-service-interface.d.ts +47 -0
  15. package/dist/services/grid-product-service-interface.js +2 -0
  16. package/dist/services/http-service.d.ts +14 -0
  17. package/dist/services/http-service.js +44 -0
  18. package/dist/types/grid-product.d.ts +458 -0
  19. package/dist/types/grid-product.js +38 -0
  20. package/dist/types/iso-currency-codes.d.ts +182 -0
  21. package/dist/types/iso-currency-codes.js +186 -0
  22. package/dist/types/iso-language-ids.d.ts +170 -0
  23. package/dist/types/iso-language-ids.js +174 -0
  24. package/dist/types/parameters.d.ts +242 -0
  25. package/dist/types/parameters.js +99 -0
  26. package/dist/utils.d.ts +27 -0
  27. package/dist/utils.js +187 -0
  28. package/jest.config.js +10 -0
  29. package/jest.setup.js +1 -0
  30. package/package.json +31 -0
  31. package/src/api.ts +47 -0
  32. package/src/helpers.ts +7 -0
  33. package/src/index.test.ts +1526 -0
  34. package/src/index.ts +8 -0
  35. package/src/services/grid-product-service-admin.ts +123 -0
  36. package/src/services/grid-product-service-client.ts +995 -0
  37. package/src/services/grid-product-service-interface.ts +105 -0
  38. package/src/services/http-service.ts +50 -0
  39. package/src/types/grid-product.ts +548 -0
  40. package/src/types/iso-currency-codes.ts +182 -0
  41. package/src/types/iso-language-ids.ts +170 -0
  42. package/src/types/parameters.ts +231 -0
  43. package/src/utils.ts +325 -0
  44. package/tsconfig.json +20 -0
@@ -0,0 +1,182 @@
1
+ export enum IsoCurrencyCodes {
2
+ AED = 'AED',
3
+ AFN = 'AFN',
4
+ ALL = 'ALL',
5
+ AMD = 'AMD',
6
+ ANG = 'ANG',
7
+ AOA = 'AOA',
8
+ ARS = 'ARS',
9
+ AUD = 'AUD',
10
+ AWG = 'AWG',
11
+ AZN = 'AZN',
12
+ BAM = 'BAM',
13
+ BBD = 'BBD',
14
+ BDT = 'BDT',
15
+ BGN = 'BGN',
16
+ BHD = 'BHD',
17
+ BIF = 'BIF',
18
+ BMD = 'BMD',
19
+ BND = 'BND',
20
+ BOB = 'BOB',
21
+ BOV = 'BOV',
22
+ BRL = 'BRL',
23
+ BSD = 'BSD',
24
+ BTN = 'BTN',
25
+ BWP = 'BWP',
26
+ BYN = 'BYN',
27
+ BZD = 'BZD',
28
+ CAD = 'CAD',
29
+ CDF = 'CDF',
30
+ CHE = 'CHE',
31
+ CHF = 'CHF',
32
+ CHW = 'CHW',
33
+ CLF = 'CLF',
34
+ CLP = 'CLP',
35
+ COP = 'COP',
36
+ COU = 'COU',
37
+ CRC = 'CRC',
38
+ CUC = 'CUC',
39
+ CUP = 'CUP',
40
+ CVE = 'CVE',
41
+ CZK = 'CZK',
42
+ DJF = 'DJF',
43
+ DKK = 'DKK',
44
+ DOP = 'DOP',
45
+ DZD = 'DZD',
46
+ EGP = 'EGP',
47
+ ERN = 'ERN',
48
+ ETB = 'ETB',
49
+ EUR = 'EUR',
50
+ FJD = 'FJD',
51
+ FKP = 'FKP',
52
+ GBP = 'GBP',
53
+ GEL = 'GEL',
54
+ GHS = 'GHS',
55
+ GIP = 'GIP',
56
+ GMD = 'GMD',
57
+ GNF = 'GNF',
58
+ GTQ = 'GTQ',
59
+ GYD = 'GYD',
60
+ HKD = 'HKD',
61
+ HNL = 'HNL',
62
+ HRK = 'HRK',
63
+ HTG = 'HTG',
64
+ HUF = 'HUF',
65
+ IDR = 'IDR',
66
+ ILS = 'ILS',
67
+ INR = 'INR',
68
+ IQD = 'IQD',
69
+ IRR = 'IRR',
70
+ ISK = 'ISK',
71
+ JMD = 'JMD',
72
+ JOD = 'JOD',
73
+ JPY = 'JPY',
74
+ KES = 'KES',
75
+ KGS = 'KGS',
76
+ KHR = 'KHR',
77
+ KMF = 'KMF',
78
+ KPW = 'KPW',
79
+ KRW = 'KRW',
80
+ KWD = 'KWD',
81
+ KYD = 'KYD',
82
+ KZT = 'KZT',
83
+ LAK = 'LAK',
84
+ LBP = 'LBP',
85
+ LKR = 'LKR',
86
+ LRD = 'LRD',
87
+ LSL = 'LSL',
88
+ LYD = 'LYD',
89
+ MAD = 'MAD',
90
+ MDL = 'MDL',
91
+ MGA = 'MGA',
92
+ MKD = 'MKD',
93
+ MMK = 'MMK',
94
+ MNT = 'MNT',
95
+ MOP = 'MOP',
96
+ MRU = 'MRU',
97
+ MUR = 'MUR',
98
+ MVR = 'MVR',
99
+ MWK = 'MWK',
100
+ MXN = 'MXN',
101
+ MXV = 'MXV',
102
+ MYR = 'MYR',
103
+ MZN = 'MZN',
104
+ NAD = 'NAD',
105
+ NGN = 'NGN',
106
+ NIO = 'NIO',
107
+ NOK = 'NOK',
108
+ NPR = 'NPR',
109
+ NZD = 'NZD',
110
+ OMR = 'OMR',
111
+ PAB = 'PAB',
112
+ PEN = 'PEN',
113
+ PGK = 'PGK',
114
+ PHP = 'PHP',
115
+ PKR = 'PKR',
116
+ PLN = 'PLN',
117
+ PYG = 'PYG',
118
+ QAR = 'QAR',
119
+ RON = 'RON',
120
+ RSD = 'RSD',
121
+ CNY = 'CNY',
122
+ RUB = 'RUB',
123
+ RWF = 'RWF',
124
+ SAR = 'SAR',
125
+ SBD = 'SBD',
126
+ SCR = 'SCR',
127
+ SDG = 'SDG',
128
+ SEK = 'SEK',
129
+ SGD = 'SGD',
130
+ SHP = 'SHP',
131
+ SLL = 'SLL',
132
+ SOS = 'SOS',
133
+ SRD = 'SRD',
134
+ SSP = 'SSP',
135
+ STN = 'STN',
136
+ SVC = 'SVC',
137
+ SYP = 'SYP',
138
+ SZL = 'SZL',
139
+ THB = 'THB',
140
+ TJS = 'TJS',
141
+ TMT = 'TMT',
142
+ TND = 'TND',
143
+ TOP = 'TOP',
144
+ TRY = 'TRY',
145
+ TTD = 'TTD',
146
+ TWD = 'TWD',
147
+ TZS = 'TZS',
148
+ UAH = 'UAH',
149
+ UGX = 'UGX',
150
+ USD = 'USD',
151
+ USN = 'USN',
152
+ UYI = 'UYI',
153
+ UYU = 'UYU',
154
+ UYW = 'UYW',
155
+ UZS = 'UZS',
156
+ VED = 'VED',
157
+ VES = 'VES',
158
+ VND = 'VND',
159
+ VUV = 'VUV',
160
+ WST = 'WST',
161
+ XAF = 'XAF',
162
+ XAG = 'XAG',
163
+ XAU = 'XAU',
164
+ XBA = 'XBA',
165
+ XBB = 'XBB',
166
+ XBC = 'XBC',
167
+ XBD = 'XBD',
168
+ XCD = 'XCD',
169
+ XDR = 'XDR',
170
+ XOF = 'XOF',
171
+ XPD = 'XPD',
172
+ XPF = 'XPF',
173
+ XPT = 'XPT',
174
+ XSU = 'XSU',
175
+ XTS = 'XTS',
176
+ XUA = 'XUA',
177
+ XXX = 'XXX',
178
+ YER = 'YER',
179
+ ZAR = 'ZAR',
180
+ ZMW = 'ZMW',
181
+ ZWL = 'ZWL',
182
+ }
@@ -0,0 +1,170 @@
1
+ export enum IsoLanguageIds {
2
+ af_ZA = 'af-ZA',
3
+ am_ET = 'am-ET',
4
+ ar_AE = 'ar-AE',
5
+ ar_BH = 'ar-BH',
6
+ ar_DZ = 'ar-DZ',
7
+ ar_EG = 'ar-EG',
8
+ ar_IQ = 'ar-IQ',
9
+ ar_JO = 'ar-JO',
10
+ ar_KW = 'ar-KW',
11
+ ar_LB = 'ar-LB',
12
+ ar_LY = 'ar-LY',
13
+ ar_MA = 'ar-MA',
14
+ ar_OM = 'ar-OM',
15
+ ar_QA = 'ar-QA',
16
+ ar_SA = 'ar-SA',
17
+ ar_SY = 'ar-SY',
18
+ ar_TN = 'ar-TN',
19
+ ar_YE = 'ar-YE',
20
+ as_IN = 'as-IN',
21
+ ba_RU = 'ba-RU',
22
+ be_BY = 'be-BY',
23
+ bg_BG = 'bg-BG',
24
+ bn_BD = 'bn-BD',
25
+ bn_IN = 'bn-IN',
26
+ bo_CN = 'bo-CN',
27
+ br_FR = 'br-FR',
28
+ ca_ES = 'ca-ES',
29
+ co_FR = 'co-FR',
30
+ cs_CZ = 'cs-CZ',
31
+ cy_GB = 'cy-GB',
32
+ da_DK = 'da-DK',
33
+ de_AT = 'de-AT',
34
+ de_CH = 'de-CH',
35
+ de_DE = 'de-DE',
36
+ de_LI = 'de-LI',
37
+ de_LU = 'de-LU',
38
+ dv_MV = 'dv-MV',
39
+ el_GR = 'el-GR',
40
+ en_AU = 'en-AU',
41
+ en_BZ = 'en-BZ',
42
+ en_CA = 'en-CA',
43
+ en_GB = 'en-GB',
44
+ en_IE = 'en-IE',
45
+ en_IN = 'en-IN',
46
+ en_JM = 'en-JM',
47
+ en_MY = 'en-MY',
48
+ en_NZ = 'en-NZ',
49
+ en_PH = 'en-PH',
50
+ en_SG = 'en-SG',
51
+ en_TT = 'en-TT',
52
+ en_US = 'en-US',
53
+ en_ZA = 'en-ZA',
54
+ en_ZW = 'en-ZW',
55
+ es_AR = 'es-AR',
56
+ es_BO = 'es-BO',
57
+ es_CL = 'es-CL',
58
+ es_CO = 'es-CO',
59
+ es_CR = 'es-CR',
60
+ es_DO = 'es-DO',
61
+ es_EC = 'es-EC',
62
+ es_ES = 'es-ES',
63
+ es_GT = 'es-GT',
64
+ es_HN = 'es-HN',
65
+ es_MX = 'es-MX',
66
+ es_NI = 'es-NI',
67
+ es_PA = 'es-PA',
68
+ es_PE = 'es-PE',
69
+ es_PR = 'es-PR',
70
+ es_PY = 'es-PY',
71
+ es_SV = 'es-SV',
72
+ es_US = 'es-US',
73
+ es_UY = 'es-UY',
74
+ es_VE = 'es-VE',
75
+ et_EE = 'et-EE',
76
+ eu_ES = 'eu-ES',
77
+ fa_IR = 'fa-IR',
78
+ fi_FI = 'fi-FI',
79
+ fo_FO = 'fo-FO',
80
+ fr_BE = 'fr-BE',
81
+ fr_CA = 'fr-CA',
82
+ fr_CH = 'fr-CH',
83
+ fr_FR = 'fr-FR',
84
+ fr_LU = 'fr-LU',
85
+ fr_MC = 'fr-MC',
86
+ fy_NL = 'fy-NL',
87
+ ga_IE = 'ga-IE',
88
+ gd_GB = 'gd-GB',
89
+ gl_ES = 'gl-ES',
90
+ gu_IN = 'gu-IN',
91
+ he_IL = 'he-IL',
92
+ hi_IN = 'hi-IN',
93
+ hr_BA = 'hr-BA',
94
+ hr_HR = 'hr-HR',
95
+ hu_HU = 'hu-HU',
96
+ hy_AM = 'hy-AM',
97
+ id_ID = 'id-ID',
98
+ ig_NG = 'ig-NG',
99
+ ii_CN = 'ii-CN',
100
+ is_IS = 'is-IS',
101
+ it_CH = 'it-CH',
102
+ it_IT = 'it-IT',
103
+ ja_JP = 'ja-JP',
104
+ ka_GE = 'ka-GE',
105
+ kk_KZ = 'kk-KZ',
106
+ kl_GL = 'kl-GL',
107
+ km_KH = 'km-KH',
108
+ kn_IN = 'kn-IN',
109
+ ko_KR = 'ko-KR',
110
+ ky_KG = 'ky-KG',
111
+ lb_LU = 'lb-LU',
112
+ lo_LA = 'lo-LA',
113
+ lt_LT = 'lt-LT',
114
+ lv_LV = 'lv-LV',
115
+ mi_NZ = 'mi-NZ',
116
+ mk_MK = 'mk-MK',
117
+ ml_IN = 'ml-IN',
118
+ mn_MN = 'mn-MN',
119
+ mr_IN = 'mr-IN',
120
+ ms_BN = 'ms-BN',
121
+ ms_MY = 'ms-MY',
122
+ mt_MT = 'mt-MT',
123
+ nb_NO = 'nb-NO',
124
+ ne_NP = 'ne-NP',
125
+ nl_BE = 'nl-BE',
126
+ nl_NL = 'nl-NL',
127
+ nn_NO = 'nn-NO',
128
+ oc_FR = 'oc-FR',
129
+ or_IN = 'or-IN',
130
+ pa_IN = 'pa-IN',
131
+ pl_PL = 'pl-PL',
132
+ ps_AF = 'ps-AF',
133
+ pt_BR = 'pt-BR',
134
+ pt_PT = 'pt-PT',
135
+ rm_CH = 'rm-CH',
136
+ ro_RO = 'ro-RO',
137
+ ru_RU = 'ru-RU',
138
+ rw_RW = 'rw-RW',
139
+ sa_IN = 'sa-IN',
140
+ se_FI = 'se-FI',
141
+ se_NO = 'se-NO',
142
+ se_SE = 'se-SE',
143
+ si_LK = 'si-LK',
144
+ sk_SK = 'sk-SK',
145
+ sl_SI = 'sl-SI',
146
+ sq_AL = 'sq-AL',
147
+ sv_FI = 'sv-FI',
148
+ sv_SE = 'sv-SE',
149
+ sw_KE = 'sw-KE',
150
+ ta_IN = 'ta-IN',
151
+ te_IN = 'te-IN',
152
+ th_TH = 'th-TH',
153
+ tk_TM = 'tk-TM',
154
+ tn_ZA = 'tn-ZA',
155
+ tr_TR = 'tr-TR',
156
+ tt_RU = 'tt-RU',
157
+ ug_CN = 'ug-CN',
158
+ uk_UA = 'uk-UA',
159
+ ur_PK = 'ur-PK',
160
+ vi_VN = 'vi-VN',
161
+ wo_SN = 'wo-SN',
162
+ xh_ZA = 'xh-ZA',
163
+ yo_NG = 'yo-NG',
164
+ zh_CN = 'zh-CN',
165
+ zh_HK = 'zh-HK',
166
+ zh_MO = 'zh-MO',
167
+ zh_SG = 'zh-SG',
168
+ zh_TW = 'zh-TW',
169
+ zu_ZA = 'zu-ZA',
170
+ }
@@ -0,0 +1,231 @@
1
+ import { ProductFeatureModel } from './grid-product';
2
+ import { IsoLanguageIds } from './iso-language-ids';
3
+
4
+ export type ProductQueryParameters = {
5
+ select?: string;
6
+ filter?: string;
7
+ additionalRawFilter?: string;
8
+ sort?: string;
9
+ limit?: number;
10
+ page?: number;
11
+ includeAttributeFilters?: boolean;
12
+ attributeFilters?: string;
13
+ productTypesCoverage?: string;
14
+ isSourceSearch?: string; // temp: identifier to use azure cognitive search source
15
+ excludeUnavailable?: boolean;
16
+ };
17
+
18
+ export interface SearchQueryParameters {
19
+ term: string;
20
+ select?: string;
21
+ filter?: string;
22
+ additionalRawFilter?: string;
23
+ productTypesCoverage?: string;
24
+ excludeUnavailable?: boolean;
25
+ }
26
+
27
+ export interface ProductDetailsQueryParameters {
28
+ select?: string;
29
+ filter?: string;
30
+ includeProductsByVariantsByGroupId?: string;
31
+ productTypesCoverage?: string;
32
+ excludeUnavailable?: boolean;
33
+ }
34
+
35
+ export interface ProductDetailsByCodeQueryParameters {
36
+ select?: string;
37
+ filter?: string;
38
+ includeProductsByVariantsByGroupId?: 'true' | 'false';
39
+ productTypesCoverage?: string;
40
+ excludeUnavailable?: boolean;
41
+ }
42
+
43
+ export interface ProductFiltersQueryParameters {
44
+ productTypes?: string[];
45
+ filterKeys?: string[];
46
+ spaceId?: string;
47
+ productTypesCoverage?: string;
48
+ featureFilter?: string;
49
+ }
50
+
51
+ export enum FilterNumericKeys {
52
+ shellLifeDays = 'shellLifeDays',
53
+ productPriceList_suggestedRetailPrice = 'productPriceList/suggestedRetailPrice',
54
+ productPriceList_listPrice = 'productPriceList/listPrice',
55
+ productItemQuantity_productItemQuantity = 'productItemQuantity/productItemQuantity',
56
+ }
57
+
58
+ export enum SameValueFilterKeys {
59
+ productName = 'productName',
60
+ productShortDescription = 'productShortDescription',
61
+ productInternalName = 'productInternalName',
62
+ productStatus = 'productStatus',
63
+ productLabel = 'productLabel',
64
+ productTags = 'productTags',
65
+ productItemQuantity = 'productItemQuantity',
66
+ productVendor = 'productVendor',
67
+ }
68
+
69
+ export enum ObjectFilterKeys {
70
+ variants_productId = 'variants/productId',
71
+ variants_productGroupId = 'variants/productGroupId',
72
+ variants_periodStartDate = 'variants/periodStartDate',
73
+ variants_periodEndDate = 'variants/periodEndDate',
74
+ variants_color = 'variants/color',
75
+ variants_colorImageUrl = 'variants/colorImageUrl',
76
+ variants_size = 'variants/size',
77
+ variants_style = 'variants/style',
78
+ brand_brandName = 'brand/BrandName',
79
+ productStatus_isoLanguageId = 'productStatus/isoLanguageId',
80
+ productStatus_periodStartDate = 'productStatus/periodStartDate',
81
+ productStatus_periodEndDate = 'productStatus/periodEndDate',
82
+ productFeature_productFeatureType = 'productFeature/productFeatureType',
83
+ productFeature_productFeatureValue = 'productFeature/productFeatureValue',
84
+ productLabel_isoLanguageId = 'productLabel/isoLanguageId',
85
+ productTags_isoLanguageId = 'productTags/isoLanguageId',
86
+ productItemQuantity_productId = 'productItemQuantity/productId',
87
+ productItemQuantity_productItemQuantityStartDate = 'productItemQuantity/productItemQuantityStartDate',
88
+ productItemQuantity_productItemQuantityEndDate = 'productItemQuantity/productItemQuantityEndDate',
89
+ productItemQuantity_spaceId = 'productItemQuantity/spaceId',
90
+ productPriceList_suggestedRetailPrice = 'productPriceList/suggestedRetailPrice',
91
+ productPriceList_listPrice = 'productPriceList/listPrice',
92
+ productPriceList_spaceId = 'productPriceList/spaceId',
93
+ relatedProductGroups_relatedProductGroupId = 'relatedProductGroups/relatedProductGroupId',
94
+ relatedProductGroups_productRelationshipType = 'relatedProductGroups/productRelationshipType',
95
+ }
96
+
97
+ export enum SingleFilterKeys {
98
+ productGroupId = 'productGroupId',
99
+ tenantId = 'tenantId',
100
+ introductionDate = 'introductionDate',
101
+ plannedAbandonmentDate = 'plannedAbandonmentDate',
102
+ shellLifeDays = 'shellLifeDays',
103
+ isDeleted = 'isDeleted',
104
+ variantsGroupId = 'variantsGroupId',
105
+ }
106
+
107
+ export enum SingleArrayFilterKeys {
108
+ spaceIds = 'spaceIds',
109
+ productType = 'productType',
110
+ }
111
+
112
+ export enum ObjectArrayFilterKeys {
113
+ variants_globalTradeItemNumber = 'variants/globalTradeItemNumber',
114
+ variants_gtinName = 'variants/gtinName',
115
+ variants_europeanArticleNumber = 'variants/europeanArticleNumber',
116
+ variants_universalProductCode = 'variants/universalProductCode',
117
+ }
118
+
119
+ export const FilterableKeys = {
120
+ ...SingleFilterKeys,
121
+ ...SingleArrayFilterKeys,
122
+ ...ObjectFilterKeys,
123
+ ...SameValueFilterKeys,
124
+ ...FilterNumericKeys,
125
+ ...ObjectArrayFilterKeys,
126
+ };
127
+
128
+ export enum SortableKeys {
129
+ productGroupId = 'productGroupId',
130
+ introductionDate = 'introductionDate',
131
+ plannedAbandonmentDate = 'plannedAbandonmentDate',
132
+ shellLifeDays = 'shellLifeDays',
133
+ }
134
+
135
+ export type ProductFeatureParameters = Omit<ProductFeatureModel, 'id' | 'partitionKey'>;
136
+
137
+ export enum RequestTypeEnum {
138
+ GET = 'GET',
139
+ POST = 'POST',
140
+ }
141
+
142
+ export enum ProductRecommendationSourceEnum {
143
+ DEFAULT = 'default',
144
+ STREAMOID = 'streamoid',
145
+ UNBXD = 'unbxd',
146
+ }
147
+
148
+ export enum ProductRecommendationInclusionEnum {
149
+ DEFAULT = 'default', // Default from Grid Products
150
+ ALL = 'all', // Both "Similar items" and "Complete the look"
151
+ SIMILAR_ITEMS = 'similarItems',
152
+ COMPLETE_THE_LOOK = 'completeTheLook',
153
+ SIMILAR = 'similar',
154
+ STYLE_WITH = 'styleWith',
155
+ }
156
+
157
+ export interface ProductRecommendationsBaseParameters {
158
+ source: ProductRecommendationSourceEnum;
159
+ recommendationInclusion?: ProductRecommendationInclusionEnum;
160
+ excludeUnavailable?: boolean;
161
+ }
162
+
163
+ export interface StreamoidRecommendationsQueryParameters
164
+ extends ProductRecommendationsBaseParameters {
165
+ streamoidRefreshToken?: string;
166
+ }
167
+
168
+ export interface UnbxdRecommendationsQueryParameters
169
+ extends ProductRecommendationsBaseParameters {
170
+ unbxdApiKey?: string;
171
+ unbxdSiteKey?: string;
172
+ }
173
+
174
+ export interface ProductRecommendationsQueryParameters
175
+ extends StreamoidRecommendationsQueryParameters,
176
+ UnbxdRecommendationsQueryParameters {
177
+ limit?: number;
178
+ storeId?: string;
179
+ spaceId?: string;
180
+ }
181
+
182
+ export interface ProductTypesListQueryParameters {
183
+ ids?: string[];
184
+ includeChildren?: boolean;
185
+ }
186
+
187
+ export interface ProductTypesListWithSpaceProductsQueryParameters {
188
+ spaceIds: string[];
189
+ }
190
+
191
+ export interface ProductGroupStoresInventoryParam {
192
+ storeId: string;
193
+ marketId: string;
194
+ storeSalesChannelId: string;
195
+ productGroupId: string;
196
+ requestedQty: number;
197
+ radiusMeters: number;
198
+ locale: IsoLanguageIds;
199
+ }
200
+
201
+ export interface ProductGroupInventory {
202
+ productGroupId: string;
203
+ productId: string;
204
+ quantity: number;
205
+ available: boolean;
206
+ }
207
+
208
+ export interface ProductGroupStoresInventoryResponse {
209
+ productGroupId: string;
210
+ store: {
211
+ storeId: string;
212
+ storeName?: string;
213
+ streetName1?: string;
214
+ streetName2?: string;
215
+ postCode?: string;
216
+ postalAddress?: string;
217
+ products: ProductGroupInventory[];
218
+ };
219
+ online: {
220
+ products: ProductGroupInventory[];
221
+ };
222
+ nearbyStores: {
223
+ storeId: string;
224
+ storeName?: string;
225
+ streetName1?: string;
226
+ streetName2?: string;
227
+ postCode?: string;
228
+ postalAddress?: string;
229
+ products: ProductGroupInventory[];
230
+ }[];
231
+ }