@gofynd/fdk-client-javascript 3.16.3 → 3.17.1

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 (90) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/ApplicationClient.d.ts +0 -2
  4. package/sdk/application/ApplicationClient.js +0 -2
  5. package/sdk/application/Cart/CartApplicationClient.d.ts +40 -0
  6. package/sdk/application/Cart/CartApplicationClient.js +176 -0
  7. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +18 -4
  8. package/sdk/application/Catalog/CatalogApplicationClient.js +47 -4
  9. package/sdk/application/Content/ContentApplicationClient.d.ts +21 -1
  10. package/sdk/application/Content/ContentApplicationClient.js +93 -2
  11. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +11 -21
  12. package/sdk/application/Logistic/LogisticApplicationClient.js +34 -83
  13. package/sdk/application/Order/OrderApplicationClient.d.ts +11 -0
  14. package/sdk/application/Order/OrderApplicationClient.js +50 -0
  15. package/sdk/application/Payment/PaymentApplicationClient.d.ts +5 -5
  16. package/sdk/application/Payment/PaymentApplicationClient.js +5 -4
  17. package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +84 -0
  18. package/sdk/partner/Logistics/LogisticsPartnerClient.js +712 -0
  19. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +237 -1
  20. package/sdk/partner/Logistics/LogisticsPartnerModel.js +157 -0
  21. package/sdk/partner/Logistics/LogisticsPartnerValidator.d.ts +8 -0
  22. package/sdk/partner/Logistics/LogisticsPartnerValidator.js +70 -0
  23. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +74 -12
  24. package/sdk/platform/Cart/CartPlatformApplicationClient.js +637 -36
  25. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +225 -1
  26. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +147 -0
  27. package/sdk/platform/Cart/CartPlatformModel.d.ts +952 -5
  28. package/sdk/platform/Cart/CartPlatformModel.js +598 -2
  29. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +125 -5
  30. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +831 -41
  31. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +205 -7
  32. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +154 -3
  33. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +5 -16
  34. package/sdk/platform/Catalog/CatalogPlatformClient.js +8 -85
  35. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1025 -159
  36. package/sdk/platform/Catalog/CatalogPlatformModel.js +840 -165
  37. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +8 -10
  38. package/sdk/platform/Catalog/CatalogPlatformValidator.js +3 -12
  39. package/sdk/platform/Common/CommonPlatformModel.d.ts +18 -1
  40. package/sdk/platform/Common/CommonPlatformModel.js +14 -0
  41. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +1 -73
  42. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +4 -462
  43. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +7 -45
  44. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +4 -55
  45. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +10 -2
  46. package/sdk/platform/Communication/CommunicationPlatformModel.js +3 -2
  47. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +14 -0
  48. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +6 -0
  49. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +92 -1
  50. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +54 -0
  51. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +21 -0
  52. package/sdk/platform/Discount/DiscountPlatformModel.js +9 -0
  53. package/sdk/platform/Order/OrderPlatformClient.d.ts +27 -19
  54. package/sdk/platform/Order/OrderPlatformClient.js +176 -108
  55. package/sdk/platform/Order/OrderPlatformModel.d.ts +359 -45
  56. package/sdk/platform/Order/OrderPlatformModel.js +218 -44
  57. package/sdk/platform/Order/OrderPlatformValidator.d.ts +40 -43
  58. package/sdk/platform/Order/OrderPlatformValidator.js +35 -30
  59. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +14 -3
  60. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +88 -6
  61. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +28 -3
  62. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +22 -2
  63. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +376 -11
  64. package/sdk/platform/Payment/PaymentPlatformModel.js +243 -10
  65. package/sdk/platform/PlatformApplicationClient.d.ts +0 -2
  66. package/sdk/platform/PlatformApplicationClient.js +0 -4
  67. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +0 -13
  68. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +0 -82
  69. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +1 -10
  70. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +0 -12
  71. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +212 -28
  72. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +133 -13
  73. package/sdk/platform/User/UserPlatformModel.d.ts +2 -2
  74. package/sdk/platform/User/UserPlatformModel.js +4 -4
  75. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +29 -0
  76. package/sdk/platform/Webhook/WebhookPlatformModel.js +13 -0
  77. package/sdk/platform/index.d.ts +0 -1
  78. package/sdk/platform/index.js +0 -2
  79. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +27 -1
  80. package/sdk/public/Configuration/ConfigurationPublicModel.js +19 -0
  81. package/sdk/public/Webhook/WebhookPublicModel.d.ts +29 -0
  82. package/sdk/public/Webhook/WebhookPublicModel.js +13 -0
  83. package/sdk/application/Rewards/RewardsApplicationClient.d.ts +0 -79
  84. package/sdk/application/Rewards/RewardsApplicationClient.js +0 -315
  85. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +0 -136
  86. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +0 -976
  87. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.d.ts +0 -152
  88. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.js +0 -157
  89. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +0 -387
  90. package/sdk/platform/Rewards/RewardsPlatformModel.js +0 -410
@@ -12,6 +12,11 @@ const Joi = require("joi");
12
12
  * @property {ValidationError[]} errors - A list of validation errors in the request.
13
13
  */
14
14
 
15
+ /**
16
+ * @typedef StandardError
17
+ * @property {string} message - A brief description of the error.
18
+ */
19
+
15
20
  /**
16
21
  * @typedef AllSizes
17
22
  * @property {ValidateIdentifier[]} [identifiers] - A collection of identifiers
@@ -116,6 +121,144 @@ const Joi = require("joi");
116
121
  * @property {string} [name] - Name of the application.
117
122
  * @property {number} priority - Defines the priority level for this
118
123
  * configuration, with 1 being the highest.
124
+ * @property {SortWeights} [weights]
125
+ * @property {CohortSortingConfiguration} [cohorts]
126
+ */
127
+
128
+ /**
129
+ * @typedef SortWeights
130
+ * @property {number} [popularity] - Controls how strongly overall product
131
+ * popularity influences ranking. Products with higher engagement and demand
132
+ * are ranked higher.
133
+ * @property {number} [availability] - Controls the importance of product
134
+ * availability and fulfilment readiness in ranking. Products that are more
135
+ * consistently available are prioritized over low-stock or unreliable items.
136
+ * @property {number} [conversion] - Controls the effectiveness of product
137
+ * conversion rates in ranking. Products that convert views into purchases
138
+ * more efficiently are ranked higher.
139
+ * @property {number} [sold_quantity] - Reflects historical sales volume of a
140
+ * product. Products with higher sales volumes are ranked higher.
141
+ * @property {number} [depth] - Measures size or variant depth of a product.
142
+ * Products with more size options and inventory depth are ranked higher.
143
+ * @property {number} [listing] - Represents recency or freshness of the product
144
+ * listing. Products that are recently listed or have fresh inventory are
145
+ * ranked higher.
146
+ * @property {number} [discount] - Indicates the promotional value of a product.
147
+ * Products with higher discounts or promotions are ranked higher.
148
+ * @property {number} [cancelled] - Reflects historical cancellation reliability
149
+ * of a product or seller. Products with lower cancellation rates are ranked higher.
150
+ * @property {number} [returns] - Measures post-purchase return behavior.
151
+ * Products with lower return rates are ranked higher.
152
+ * @property {number} [catalogue] - Represents quality and completeness of
153
+ * catalog content. Products with more complete and high-quality content are
154
+ * ranked higher.
155
+ * @property {number} [revenue] - Represents revenue contribution potential of a
156
+ * product. Products that generate higher revenue are ranked higher.
157
+ */
158
+
159
+ /**
160
+ * @typedef CohortWeights
161
+ * @property {SortWeights} weights
162
+ */
163
+
164
+ /**
165
+ * @typedef HighSpenderRepeatCustomerWeights
166
+ * @property {SortWeights} weights
167
+ */
168
+
169
+ /**
170
+ * @typedef HyperactiveRepeatCustomerWeights
171
+ * @property {SortWeights} weights
172
+ */
173
+
174
+ /**
175
+ * @typedef HighSpenderOccasionalCustomerWeights
176
+ * @property {SortWeights} weights
177
+ */
178
+
179
+ /**
180
+ * @typedef StandardOccasionalCustomerWeights
181
+ * @property {SortWeights} weights
182
+ */
183
+
184
+ /**
185
+ * @typedef DormantPremiumCustomerWeights
186
+ * @property {SortWeights} weights
187
+ */
188
+
189
+ /**
190
+ * @typedef BudgetRegularCustomerWeights
191
+ * @property {SortWeights} weights
192
+ */
193
+
194
+ /**
195
+ * @typedef HighSpenderRegularCustomerWeights
196
+ * @property {SortWeights} weights
197
+ */
198
+
199
+ /**
200
+ * @typedef StandardCustomerAboutToChurnWeights
201
+ * @property {SortWeights} weights
202
+ */
203
+
204
+ /**
205
+ * @typedef PremiumCustomerAboutToChurnWeights
206
+ * @property {SortWeights} weights
207
+ */
208
+
209
+ /**
210
+ * @typedef HighSpenderCustomerAboutToChurnWeights
211
+ * @property {SortWeights} weights
212
+ */
213
+
214
+ /**
215
+ * @typedef StandardDormantCustomerWeights
216
+ * @property {SortWeights} weights
217
+ */
218
+
219
+ /**
220
+ * @typedef HighSpenderDormantCustomerWeights
221
+ * @property {SortWeights} weights
222
+ */
223
+
224
+ /**
225
+ * @typedef PotentialCustomerWeights
226
+ * @property {SortWeights} weights
227
+ */
228
+
229
+ /**
230
+ * @typedef NewCustomerWeights
231
+ * @property {SortWeights} weights
232
+ */
233
+
234
+ /**
235
+ * @typedef BudgetRepeatCustomerWeights
236
+ * @property {SortWeights} weights
237
+ */
238
+
239
+ /**
240
+ * @typedef AverageSpenderRepeatCustomerWeights
241
+ * @property {SortWeights} weights
242
+ */
243
+
244
+ /**
245
+ * @typedef CohortSortingConfiguration
246
+ * @property {HighSpenderRepeatCustomerWeights} [high_spender_repeat_customer]
247
+ * @property {HyperactiveRepeatCustomerWeights} [hyperactive_premium_repeat_customer]
248
+ * @property {HighSpenderOccasionalCustomerWeights} [high_spender_occasional_customer]
249
+ * @property {StandardOccasionalCustomerWeights} [standard_occasional_customer]
250
+ * @property {DormantPremiumCustomerWeights} [dormant_premium_customer]
251
+ * @property {BudgetRegularCustomerWeights} [budget_regular_customer]
252
+ * @property {HighSpenderRegularCustomerWeights} [high_spender_regular_customer]
253
+ * @property {StandardCustomerAboutToChurnWeights} [standard_customer_about_to_churn]
254
+ * @property {PremiumCustomerAboutToChurnWeights} [premium_customer_about_to_churn]
255
+ * @property {HighSpenderCustomerAboutToChurnWeights} [high_spender_customer_about_to_churn]
256
+ * @property {StandardDormantCustomerWeights} [standard_dormant_customer]
257
+ * @property {HighSpenderDormantCustomerWeights} [high_spender_dormant_customer]
258
+ * @property {PotentialCustomerWeights} [potential_customer]
259
+ * @property {NewCustomerWeights} [new_customer]
260
+ * @property {BudgetRepeatCustomerWeights} [budget_repeat_customer]
261
+ * @property {AverageSpenderRepeatCustomerWeights} [average_spender_repeat_customer]
119
262
  */
120
263
 
121
264
  /**
@@ -398,25 +541,6 @@ const Joi = require("joi");
398
541
  * window category|product|no-return
399
542
  */
400
543
 
401
- /**
402
- * @typedef ArticleAssignment
403
- * @property {string} [level]
404
- * @property {string} [strategy]
405
- */
406
-
407
- /**
408
- * @typedef ArticleAssignment1
409
- * @property {string} [level]
410
- * @property {string} [strategy]
411
- */
412
-
413
- /**
414
- * @typedef ArticleQuery
415
- * @property {number[]} [ignored_stores]
416
- * @property {number} item_id
417
- * @property {string} size
418
- */
419
-
420
544
  /**
421
545
  * @typedef ArticleStoreResponseSchema
422
546
  * @property {string} [name]
@@ -425,26 +549,6 @@ const Joi = require("joi");
425
549
  * @property {number} [uid]
426
550
  */
427
551
 
428
- /**
429
- * @typedef AssignStore
430
- * @property {string} app_id
431
- * @property {AssignStoreArticle[]} articles
432
- * @property {string} [channel_identifier]
433
- * @property {string} [channel_type]
434
- * @property {number} [company_id]
435
- * @property {string} pincode
436
- * @property {number[]} [store_ids]
437
- */
438
-
439
- /**
440
- * @typedef AssignStoreArticle
441
- * @property {ArticleAssignment} [article_assignment]
442
- * @property {string} [group_id]
443
- * @property {Object} [meta]
444
- * @property {number} [quantity]
445
- * @property {ArticleQuery} [query]
446
- */
447
-
448
552
  /**
449
553
  * @typedef AttributeDetailsGroup
450
554
  * @property {string} display_type - The type of display used for the attribute,
@@ -3089,6 +3193,26 @@ const Joi = require("joi");
3089
3193
  * @property {Page} [page]
3090
3194
  */
3091
3195
 
3196
+ /**
3197
+ * @typedef PriceStrategySchema
3198
+ * @property {string} currency - Currency for the pricing strategy
3199
+ * @property {number} adjustment_value - Adjustment value for the pricing strategy
3200
+ * @property {string} adjustment_type - Type of adjustment for the pricing strategy
3201
+ */
3202
+
3203
+ /**
3204
+ * @typedef PriceFactoryResponseSchema
3205
+ * @property {string} [price_zone_id] - Unique identifier of the price zone
3206
+ * @property {string} [price_factory_id] - Unique identifier of the price factory
3207
+ * @property {string} [modified_by] - User who last modified the price factory
3208
+ * @property {string[]} [currencies] - List of currencies supported by the price factory
3209
+ * @property {string} [name] - Name of the price factory
3210
+ * @property {PriceStrategySchema[]} [price_strategy] - Pricing strategy for the
3211
+ * price factory
3212
+ * @property {boolean} [active] - Whether the price factory is active
3213
+ * @property {string} [created_by] - User who created the price factory
3214
+ */
3215
+
3092
3216
  /**
3093
3217
  * @typedef Product
3094
3218
  * @property {Object} [_custom_json] - A custom JSON object that can hold any
@@ -3875,8 +3999,7 @@ const Joi = require("joi");
3875
3999
  * taxation purposes. This is required for indian products.
3876
4000
  * @property {string} [hsn_code] - **Deprecated**: Harmonized System
3877
4001
  * Nomenclature (HSN) code for taxation purposes. Please use the `hs_code`
3878
- * field instead.\
3879
- * _Deprecated_*
4002
+ * field instead.
3880
4003
  * @property {string} [id] - Unique identifier of the product in the database.
3881
4004
  * @property {string} [image_nature] - Describes the nature of the product
3882
4005
  * images (e.g., "standard").
@@ -4385,27 +4508,6 @@ const Joi = require("joi");
4385
4508
  * @property {string} [title] - The main title of the size guide.
4386
4509
  */
4387
4510
 
4388
- /**
4389
- * @typedef StoreAssignResponseSchema
4390
- * @property {string} [_id]
4391
- * @property {ArticleAssignment1} article_assignment
4392
- * @property {number} [company_id]
4393
- * @property {string} [group_id]
4394
- * @property {number} [index]
4395
- * @property {number} item_id
4396
- * @property {Object} [meta]
4397
- * @property {number} [price_effective]
4398
- * @property {number} [price_marked]
4399
- * @property {number} quantity
4400
- * @property {string} [s_city]
4401
- * @property {string} size
4402
- * @property {boolean} status
4403
- * @property {number} [store_id]
4404
- * @property {number} [store_pincode]
4405
- * @property {Object[]} [strategy_wise_listing]
4406
- * @property {string} [uid]
4407
- */
4408
-
4409
4511
  /**
4410
4512
  * @typedef StoreDetail
4411
4513
  * @property {Object[]} [additional_contacts]
@@ -4443,9 +4545,9 @@ const Joi = require("joi");
4443
4545
  /**
4444
4546
  * @typedef TaxIdentifier
4445
4547
  * @property {string} [tax_rule_id] - The unique identifier of the tax rule.
4446
- * @property {string} [hsn_code] _Deprecated_*
4447
- * @property {string} [hsn_code_id] _Deprecated_*
4448
- * @property {string} [reporting_hsn] _Deprecated_*
4548
+ * @property {string} [hsn_code]
4549
+ * @property {string} [hsn_code_id]
4550
+ * @property {string} [reporting_hsn]
4449
4551
  */
4450
4552
 
4451
4553
  /**
@@ -4865,6 +4967,46 @@ const Joi = require("joi");
4865
4967
  * @typedef TaxReqBodyVersion
4866
4968
  * @property {TaxComponent[]} components - List of tax components with their
4867
4969
  * respective slabs and rates.
4970
+ * @property {string} [applicable_date] - Optional future effective date for the
4971
+ * version. Must be at least one minute ahead of the current time when supplied.
4972
+ * @property {string} [region_type] - Required whenever areas are supplied to
4973
+ * indicate the granularity of the provided regions.
4974
+ * @property {TaxGeoArea} [areas]
4975
+ * @property {number[]} [store_ids] - Store identifiers for store-level taxation.
4976
+ */
4977
+
4978
+ /**
4979
+ * @typedef TaxGeoArea
4980
+ * @property {string[]} regions - List of region identifiers based on the
4981
+ * selected region_type.
4982
+ * @property {string} country - Country identifier that groups the regions.
4983
+ */
4984
+
4985
+ /**
4986
+ * @typedef AreaDetails
4987
+ * @property {string} [uid]
4988
+ * @property {string} [display_name]
4989
+ * @property {string} [sub_type]
4990
+ * @property {string[]} [parent_id]
4991
+ */
4992
+
4993
+ /**
4994
+ * @typedef Country
4995
+ * @property {string} [uid]
4996
+ * @property {string} [display_name]
4997
+ */
4998
+
4999
+ /**
5000
+ * @typedef Area
5001
+ * @property {AreaDetails[]} regions
5002
+ * @property {Country} country
5003
+ */
5004
+
5005
+ /**
5006
+ * @typedef RegionReference
5007
+ * @property {string} [name]
5008
+ * @property {string} [slug]
5009
+ * @property {Area[]} [areas]
4868
5010
  */
4869
5011
 
4870
5012
  /**
@@ -4877,12 +5019,17 @@ const Joi = require("joi");
4877
5019
  * @typedef TaxVersion
4878
5020
  * @property {string} [_id]
4879
5021
  * @property {string} [rule_id] - Tax Rule ID.
4880
- * @property {string} [applicable_date] - It is the date from when this rule
4881
- * will come in effect.
5022
+ * @property {string} [applicable_date] - Scheduled effective date for the
5023
+ * version. Must be at least one minute ahead of current time when provided.
4882
5024
  * @property {string} [created_on]
4883
5025
  * @property {string} [modified_on]
4884
5026
  * @property {number} [company_id] - Company ID.
4885
5027
  * @property {TaxStatusEnum} [status]
5028
+ * @property {string} [region_type] - Present when the version targets a
5029
+ * specific set of regions rather than the default country-level rule.
5030
+ * @property {TaxGeoArea} [areas]
5031
+ * @property {number[]} [store_ids] - Store identifiers for store-level taxation.
5032
+ * @property {TaxVersionScopeEnum} [scope]
4886
5033
  * @property {TaxComponentResponseSchema[]} [components] - List of tax components.
4887
5034
  */
4888
5035
 
@@ -4890,15 +5037,24 @@ const Joi = require("joi");
4890
5037
  * @typedef UpdateTaxVersionRequestBody
4891
5038
  * @property {TaxComponentResponseSchema[]} components - List of tax components.
4892
5039
  * @property {string} applicable_date - It is the date from when this rule will
4893
- * come in effect. It should be atleast one minute in the future from the current time.
5040
+ * come in effect. It should be at least one minute in the future from the
5041
+ * current time.
5042
+ * @property {string} [region_type] - Required when areas are present to denote
5043
+ * the level (city/state/pincode) at which the version applies.
5044
+ * @property {TaxGeoArea} [areas]
5045
+ * @property {number[]} [store_ids] - Store identifiers for store-level taxation.
4894
5046
  */
4895
5047
 
4896
5048
  /**
4897
5049
  * @typedef CreateTaxVersionRequestBody
4898
5050
  * @property {TaxComponent[]} components - List of tax components.
4899
- * @property {string} applicable_date - It is the date from when this rule will
4900
- * come in effect. It should be atleast one minute in the future from the
4901
- * current time. Date time format YYYY-MM-DDThh:mm:ss±hh:mm.
5051
+ * @property {string} [applicable_date] - Optional scheduled date from when this
5052
+ * rule will come in effect. It should be at least one minute in the future
5053
+ * from the current time. Date time format YYYY-MM-DDThh:mm:ss±hh:mm.
5054
+ * @property {string} [region_type] - Required when areas are present to denote
5055
+ * the level (city/state/pincode) at which the version applies.
5056
+ * @property {TaxGeoArea} [areas]
5057
+ * @property {number[]} [store_ids] - Store identifiers for store-level taxation.
4902
5058
  */
4903
5059
 
4904
5060
  /**
@@ -4918,12 +5074,19 @@ const Joi = require("joi");
4918
5074
  * @typedef TaxVersionDetail
4919
5075
  * @property {string} _id
4920
5076
  * @property {string} rule_id
4921
- * @property {string} applicable_date
5077
+ * @property {string} applicable_date - It is the date from when this rule comes
5078
+ * in effect. Always present and should be at least one minute in the future
5079
+ * when scheduled.
4922
5080
  * @property {string} created_on
4923
5081
  * @property {string} modified_on
4924
5082
  * @property {number} company_id
4925
5083
  * @property {TaxStatusEnum} [status]
5084
+ * @property {string} [region_code] - Region code for areas sent when adding a
5085
+ * region override.
5086
+ * @property {number[]} [store_ids] - Store identifiers for store-level taxation.
5087
+ * @property {RegionReference} [region]
4926
5088
  * @property {TaxComponent[]} components - List of components.
5089
+ * @property {TaxVersionScopeEnum} [scope]
4927
5090
  * @property {string} version_status - Specifies the type of tax version.
4928
5091
  */
4929
5092
 
@@ -4933,12 +5096,6 @@ const Joi = require("joi");
4933
5096
  * @property {TaxVersion} [versions]
4934
5097
  */
4935
5098
 
4936
- /**
4937
- * @typedef UpdateTaxVersion
4938
- * @property {TaxComponent[]} components - List of components.
4939
- * @property {string} applicable_date
4940
- */
4941
-
4942
5099
  /**
4943
5100
  * @typedef UpdateTaxRequestBody
4944
5101
  * @property {TaxStatusEnum} status
@@ -4998,6 +5155,158 @@ const Joi = require("joi");
4998
5155
  * @property {Page} page
4999
5156
  */
5000
5157
 
5158
+ /**
5159
+ * @typedef PriceFactoryListItemsSchema
5160
+ * @property {string} [price_factory_id] - Unique identifier for the price factory.
5161
+ * @property {string} [name] - Name of the price factory configuration.
5162
+ * @property {string} [type] - Type of price factory.
5163
+ * @property {string[]} [currencies] - List of currency codes (e.g., INR, USD).
5164
+ * @property {PriceStrategySchema[]} [price_strategy] - List of pricing
5165
+ * strategies to apply for each currency.
5166
+ * @property {string} [price_zone_id] - ID of the price zone.
5167
+ * @property {boolean} [active] - Status of the price factory (active/inactive).
5168
+ * @property {CreatedBy} [modified_by]
5169
+ * @property {CreatedBy} [created_by]
5170
+ * @property {string} [modified_on] - Timestamp of the last modification.
5171
+ */
5172
+
5173
+ /**
5174
+ * @typedef PriceFactoryListResponseSchema
5175
+ * @property {Page} [page]
5176
+ * @property {PriceFactoryListItemsSchema[]} [data] - List of price factory
5177
+ * configurations.
5178
+ */
5179
+
5180
+ /**
5181
+ * @typedef CreatePriceFactoryConfigSchema
5182
+ * @property {string} [name] - The name of the price factory configuration.
5183
+ * @property {string} [type] - Defines the type of price factory, either
5184
+ * regional or international.
5185
+ * @property {string[]} [currencies] - List of currency codes applicable for
5186
+ * pricing (e.g., USD, EUR).
5187
+ * @property {PriceStrategySchema[]} [price_strategy] - List of pricing
5188
+ * strategies to apply for each currency.
5189
+ * @property {string} [price_zone_id] - Identifier for the price zone associated
5190
+ * with the price factory.
5191
+ */
5192
+
5193
+ /**
5194
+ * @typedef UpdatePriceFactoryConfigSchema
5195
+ * @property {string} [name] - The name of the price factory configuration.
5196
+ * @property {string[]} [currencies] - List of currency codes applicable for
5197
+ * pricing (e.g., USD, EUR).
5198
+ * @property {PriceStrategySchema[]} [price_strategy] - List of pricing
5199
+ * strategies to apply for each currency.
5200
+ * @property {string} [price_zone_id] - Identifier for the price zone associated
5201
+ * with the price factory.
5202
+ */
5203
+
5204
+ /**
5205
+ * @typedef PriceFactoryConfigSchema
5206
+ * @property {string} [name] - The name of the price factory configuration.
5207
+ * @property {string} [type] - Defines the type of price factory, either
5208
+ * regional or international.
5209
+ * @property {string[]} [currencies] - List of currency codes applicable for
5210
+ * pricing (e.g., USD, EUR).
5211
+ * @property {PriceStrategySchema[]} [price_strategy] - List of pricing
5212
+ * strategies to apply for each currency.
5213
+ * @property {string} [price_zone_id] - Identifier for the price zone associated
5214
+ * with the price factory.
5215
+ * @property {CreatedBy} [created_by]
5216
+ * @property {CreatedBy} [modified_by]
5217
+ */
5218
+
5219
+ /**
5220
+ * @typedef CurrencyPriceSchema
5221
+ * @property {number} marked_price - Original price before any discounts.
5222
+ * @property {number} selling_price - Final price after applying discounts or adjustments.
5223
+ * @property {string} currency - Currency code (e.g., USD, EUR).
5224
+ */
5225
+
5226
+ /**
5227
+ * @typedef UpsertPriceFactorySizesSchema
5228
+ * @property {string} [size] - The identifier for the product size (e.g., S, M, L, OS).
5229
+ * @property {CurrencyPriceSchema[]} [currency_prices] - The list of currency prices
5230
+ */
5231
+
5232
+ /**
5233
+ * @typedef UpsertPriceFactoryProductSchema
5234
+ * @property {UpsertPriceFactorySizesSchema[]} [sizes] - List of size-level
5235
+ * pricing configurations.
5236
+ * @property {boolean} [active] - Indicates whether the product configuration is active.
5237
+ */
5238
+
5239
+ /**
5240
+ * @typedef PriceFactoryCurrencyPriceSchema
5241
+ * @property {boolean} [base_price] - Indicates if this price is the base price.
5242
+ * @property {string} [currency] - Currency code (e.g., INR).
5243
+ * @property {number} [selling_price] - The price at which the item is sold.
5244
+ * @property {number} [marked_price] - The original marked price of the item.
5245
+ */
5246
+
5247
+ /**
5248
+ * @typedef PriceFactorySizesSchema
5249
+ * @property {string} [price_factory_id] - ID of the price factory entry.
5250
+ * @property {string} [seller_identifier] - Identifier of the seller for the item.
5251
+ * @property {string} [size] - Size of the product (e.g., OS).
5252
+ * @property {string} [price_zone_id] - Price zone identifier for
5253
+ * regional/international pricing.
5254
+ * @property {PriceFactoryCurrencyPriceSchema[]} [currency_prices] - Pricing
5255
+ * information across different currencies.
5256
+ */
5257
+
5258
+ /**
5259
+ * @typedef PriceFactoryProductResponseSchema
5260
+ * @property {number} [item_id] - Unique identifier for the item in the price
5261
+ * factory response.
5262
+ * @property {string} [item_code] - Code identifying the item.
5263
+ * @property {string} [name] - Name of the item.
5264
+ * @property {boolean} [active] - Indicates if the item is currently active.
5265
+ * @property {string[]} [media] - List of media associated with the item.
5266
+ * @property {PriceFactorySizesSchema[]} [sizes] - List of size and pricing details.
5267
+ */
5268
+
5269
+ /**
5270
+ * @typedef PriceFactoryProductListResponseSchema
5271
+ * @property {PriceFactoryProductResponseSchema[]} [items] - List of products
5272
+ * details with sizes and prices details.
5273
+ * @property {Page} [page]
5274
+ */
5275
+
5276
+ /**
5277
+ * @typedef PriceRange
5278
+ * @property {number} [min] - Minimum price.
5279
+ * @property {number} [max] - Maximum price.
5280
+ */
5281
+
5282
+ /**
5283
+ * @typedef CurrencyPrice
5284
+ * @property {number} [discount] - Discount value applied in percentage.
5285
+ * @property {string} [currency_code] - Currency code (e.g., 'INR', 'EUR').
5286
+ * @property {string} [currency_symbol] - Symbol of the currency.
5287
+ * @property {PriceRange} [marked]
5288
+ * @property {PriceRange} [effective]
5289
+ * @property {PriceRange} [selling]
5290
+ */
5291
+
5292
+ /**
5293
+ * @typedef ProductPrice
5294
+ * @property {string} [zone_type] - Type of the pricing zone, e.g., 'price' or 'delivery'.
5295
+ * @property {string} [zone_identifier] - Unique identifier for the zone.
5296
+ * @property {CurrencyPrice[]} [currency_prices] - List of prices for different
5297
+ * currencies in this zone.
5298
+ */
5299
+
5300
+ /**
5301
+ * @typedef AppProductPricesSchema
5302
+ * @property {string} [item_code] - Unique code identifying the item.
5303
+ * @property {number} [brand_uid] - Unique identifier for the brand.
5304
+ * @property {number} [item_id] - Unique identifier for the item.
5305
+ * @property {Object} [discount_meta] - Additional discount metadata.
5306
+ * @property {ProductPrice[]} [product_price] - Pricing information for various
5307
+ * zones and currencies.
5308
+ */
5309
+
5001
5310
  /**
5002
5311
  * @typedef ActionPage
5003
5312
  * @property {Object} [params] - Parameters that should be considered in path.
@@ -5048,6 +5357,8 @@ const Joi = require("joi");
5048
5357
 
5049
5358
  /** @typedef {"ACTIVE" | "INACTIVE" | "DELETED"} TaxStatusEnum */
5050
5359
 
5360
+ /** @typedef {"COUNTRY" | "REGION" | "STORE"} TaxVersionScopeEnum */
5361
+
5051
5362
  /** @typedef {"HS" | "SAC"} HsTypeEnum */
5052
5363
 
5053
5364
  /**
@@ -5122,6 +5433,13 @@ class CatalogPlatformModel {
5122
5433
  });
5123
5434
  }
5124
5435
 
5436
+ /** @returns {StandardError} */
5437
+ static StandardError() {
5438
+ return Joi.object({
5439
+ message: Joi.string().allow("").required(),
5440
+ });
5441
+ }
5442
+
5125
5443
  /** @returns {AllSizes} */
5126
5444
  static AllSizes() {
5127
5445
  return Joi.object({
@@ -5223,6 +5541,166 @@ class CatalogPlatformModel {
5223
5541
  logo: Joi.string().allow(""),
5224
5542
  name: Joi.string().allow(""),
5225
5543
  priority: Joi.number().required(),
5544
+ weights: CatalogPlatformModel.SortWeights(),
5545
+ cohorts: CatalogPlatformModel.CohortSortingConfiguration(),
5546
+ });
5547
+ }
5548
+
5549
+ /** @returns {SortWeights} */
5550
+ static SortWeights() {
5551
+ return Joi.object({
5552
+ popularity: Joi.number(),
5553
+ availability: Joi.number(),
5554
+ conversion: Joi.number(),
5555
+ sold_quantity: Joi.number(),
5556
+ depth: Joi.number(),
5557
+ listing: Joi.number(),
5558
+ discount: Joi.number(),
5559
+ cancelled: Joi.number(),
5560
+ returns: Joi.number(),
5561
+ catalogue: Joi.number(),
5562
+ revenue: Joi.number(),
5563
+ });
5564
+ }
5565
+
5566
+ /** @returns {CohortWeights} */
5567
+ static CohortWeights() {
5568
+ return Joi.object({
5569
+ weights: CatalogPlatformModel.SortWeights().required(),
5570
+ });
5571
+ }
5572
+
5573
+ /** @returns {HighSpenderRepeatCustomerWeights} */
5574
+ static HighSpenderRepeatCustomerWeights() {
5575
+ return Joi.object({
5576
+ weights: CatalogPlatformModel.SortWeights().required(),
5577
+ });
5578
+ }
5579
+
5580
+ /** @returns {HyperactiveRepeatCustomerWeights} */
5581
+ static HyperactiveRepeatCustomerWeights() {
5582
+ return Joi.object({
5583
+ weights: CatalogPlatformModel.SortWeights().required(),
5584
+ });
5585
+ }
5586
+
5587
+ /** @returns {HighSpenderOccasionalCustomerWeights} */
5588
+ static HighSpenderOccasionalCustomerWeights() {
5589
+ return Joi.object({
5590
+ weights: CatalogPlatformModel.SortWeights().required(),
5591
+ });
5592
+ }
5593
+
5594
+ /** @returns {StandardOccasionalCustomerWeights} */
5595
+ static StandardOccasionalCustomerWeights() {
5596
+ return Joi.object({
5597
+ weights: CatalogPlatformModel.SortWeights().required(),
5598
+ });
5599
+ }
5600
+
5601
+ /** @returns {DormantPremiumCustomerWeights} */
5602
+ static DormantPremiumCustomerWeights() {
5603
+ return Joi.object({
5604
+ weights: CatalogPlatformModel.SortWeights().required(),
5605
+ });
5606
+ }
5607
+
5608
+ /** @returns {BudgetRegularCustomerWeights} */
5609
+ static BudgetRegularCustomerWeights() {
5610
+ return Joi.object({
5611
+ weights: CatalogPlatformModel.SortWeights().required(),
5612
+ });
5613
+ }
5614
+
5615
+ /** @returns {HighSpenderRegularCustomerWeights} */
5616
+ static HighSpenderRegularCustomerWeights() {
5617
+ return Joi.object({
5618
+ weights: CatalogPlatformModel.SortWeights().required(),
5619
+ });
5620
+ }
5621
+
5622
+ /** @returns {StandardCustomerAboutToChurnWeights} */
5623
+ static StandardCustomerAboutToChurnWeights() {
5624
+ return Joi.object({
5625
+ weights: CatalogPlatformModel.SortWeights().required(),
5626
+ });
5627
+ }
5628
+
5629
+ /** @returns {PremiumCustomerAboutToChurnWeights} */
5630
+ static PremiumCustomerAboutToChurnWeights() {
5631
+ return Joi.object({
5632
+ weights: CatalogPlatformModel.SortWeights().required(),
5633
+ });
5634
+ }
5635
+
5636
+ /** @returns {HighSpenderCustomerAboutToChurnWeights} */
5637
+ static HighSpenderCustomerAboutToChurnWeights() {
5638
+ return Joi.object({
5639
+ weights: CatalogPlatformModel.SortWeights().required(),
5640
+ });
5641
+ }
5642
+
5643
+ /** @returns {StandardDormantCustomerWeights} */
5644
+ static StandardDormantCustomerWeights() {
5645
+ return Joi.object({
5646
+ weights: CatalogPlatformModel.SortWeights().required(),
5647
+ });
5648
+ }
5649
+
5650
+ /** @returns {HighSpenderDormantCustomerWeights} */
5651
+ static HighSpenderDormantCustomerWeights() {
5652
+ return Joi.object({
5653
+ weights: CatalogPlatformModel.SortWeights().required(),
5654
+ });
5655
+ }
5656
+
5657
+ /** @returns {PotentialCustomerWeights} */
5658
+ static PotentialCustomerWeights() {
5659
+ return Joi.object({
5660
+ weights: CatalogPlatformModel.SortWeights().required(),
5661
+ });
5662
+ }
5663
+
5664
+ /** @returns {NewCustomerWeights} */
5665
+ static NewCustomerWeights() {
5666
+ return Joi.object({
5667
+ weights: CatalogPlatformModel.SortWeights().required(),
5668
+ });
5669
+ }
5670
+
5671
+ /** @returns {BudgetRepeatCustomerWeights} */
5672
+ static BudgetRepeatCustomerWeights() {
5673
+ return Joi.object({
5674
+ weights: CatalogPlatformModel.SortWeights().required(),
5675
+ });
5676
+ }
5677
+
5678
+ /** @returns {AverageSpenderRepeatCustomerWeights} */
5679
+ static AverageSpenderRepeatCustomerWeights() {
5680
+ return Joi.object({
5681
+ weights: CatalogPlatformModel.SortWeights().required(),
5682
+ });
5683
+ }
5684
+
5685
+ /** @returns {CohortSortingConfiguration} */
5686
+ static CohortSortingConfiguration() {
5687
+ return Joi.object({
5688
+ high_spender_repeat_customer: CatalogPlatformModel.HighSpenderRepeatCustomerWeights(),
5689
+ hyperactive_premium_repeat_customer: CatalogPlatformModel.HyperactiveRepeatCustomerWeights(),
5690
+ high_spender_occasional_customer: CatalogPlatformModel.HighSpenderOccasionalCustomerWeights(),
5691
+ standard_occasional_customer: CatalogPlatformModel.StandardOccasionalCustomerWeights(),
5692
+ dormant_premium_customer: CatalogPlatformModel.DormantPremiumCustomerWeights(),
5693
+ budget_regular_customer: CatalogPlatformModel.BudgetRegularCustomerWeights(),
5694
+ high_spender_regular_customer: CatalogPlatformModel.HighSpenderRegularCustomerWeights(),
5695
+ standard_customer_about_to_churn: CatalogPlatformModel.StandardCustomerAboutToChurnWeights(),
5696
+ premium_customer_about_to_churn: CatalogPlatformModel.PremiumCustomerAboutToChurnWeights(),
5697
+ high_spender_customer_about_to_churn: CatalogPlatformModel.HighSpenderCustomerAboutToChurnWeights(),
5698
+ standard_dormant_customer: CatalogPlatformModel.StandardDormantCustomerWeights(),
5699
+ high_spender_dormant_customer: CatalogPlatformModel.HighSpenderDormantCustomerWeights(),
5700
+ potential_customer: CatalogPlatformModel.PotentialCustomerWeights(),
5701
+ new_customer: CatalogPlatformModel.NewCustomerWeights(),
5702
+ budget_repeat_customer: CatalogPlatformModel.BudgetRepeatCustomerWeights(),
5703
+ average_spender_repeat_customer: CatalogPlatformModel.AverageSpenderRepeatCustomerWeights(),
5226
5704
  });
5227
5705
  }
5228
5706
 
@@ -5436,31 +5914,6 @@ class CatalogPlatformModel {
5436
5914
  });
5437
5915
  }
5438
5916
 
5439
- /** @returns {ArticleAssignment} */
5440
- static ArticleAssignment() {
5441
- return Joi.object({
5442
- level: Joi.string().allow(""),
5443
- strategy: Joi.string().allow(""),
5444
- });
5445
- }
5446
-
5447
- /** @returns {ArticleAssignment1} */
5448
- static ArticleAssignment1() {
5449
- return Joi.object({
5450
- level: Joi.string().allow(""),
5451
- strategy: Joi.string().allow(""),
5452
- });
5453
- }
5454
-
5455
- /** @returns {ArticleQuery} */
5456
- static ArticleQuery() {
5457
- return Joi.object({
5458
- ignored_stores: Joi.array().items(Joi.number()),
5459
- item_id: Joi.number().required(),
5460
- size: Joi.string().allow("").required(),
5461
- });
5462
- }
5463
-
5464
5917
  /** @returns {ArticleStoreResponseSchema} */
5465
5918
  static ArticleStoreResponseSchema() {
5466
5919
  return Joi.object({
@@ -5471,32 +5924,6 @@ class CatalogPlatformModel {
5471
5924
  });
5472
5925
  }
5473
5926
 
5474
- /** @returns {AssignStore} */
5475
- static AssignStore() {
5476
- return Joi.object({
5477
- app_id: Joi.string().allow("").required(),
5478
- articles: Joi.array()
5479
- .items(CatalogPlatformModel.AssignStoreArticle())
5480
- .required(),
5481
- channel_identifier: Joi.string().allow(""),
5482
- channel_type: Joi.string().allow(""),
5483
- company_id: Joi.number(),
5484
- pincode: Joi.string().allow("").required(),
5485
- store_ids: Joi.array().items(Joi.number()),
5486
- });
5487
- }
5488
-
5489
- /** @returns {AssignStoreArticle} */
5490
- static AssignStoreArticle() {
5491
- return Joi.object({
5492
- article_assignment: CatalogPlatformModel.ArticleAssignment(),
5493
- group_id: Joi.string().allow(""),
5494
- meta: Joi.object().pattern(/\S/, Joi.any()),
5495
- quantity: Joi.number(),
5496
- query: CatalogPlatformModel.ArticleQuery(),
5497
- });
5498
- }
5499
-
5500
5927
  /** @returns {AttributeDetailsGroup} */
5501
5928
  static AttributeDetailsGroup() {
5502
5929
  return Joi.object({
@@ -8385,6 +8812,31 @@ class CatalogPlatformModel {
8385
8812
  });
8386
8813
  }
8387
8814
 
8815
+ /** @returns {PriceStrategySchema} */
8816
+ static PriceStrategySchema() {
8817
+ return Joi.object({
8818
+ currency: Joi.string().allow("").required(),
8819
+ adjustment_value: Joi.number().required(),
8820
+ adjustment_type: Joi.string().allow("").required(),
8821
+ });
8822
+ }
8823
+
8824
+ /** @returns {PriceFactoryResponseSchema} */
8825
+ static PriceFactoryResponseSchema() {
8826
+ return Joi.object({
8827
+ price_zone_id: Joi.string().allow(""),
8828
+ price_factory_id: Joi.string().allow(""),
8829
+ modified_by: Joi.string().allow(""),
8830
+ currencies: Joi.array().items(Joi.string().allow("")),
8831
+ name: Joi.string().allow(""),
8832
+ price_strategy: Joi.array().items(
8833
+ CatalogPlatformModel.PriceStrategySchema()
8834
+ ),
8835
+ active: Joi.boolean(),
8836
+ created_by: Joi.string().allow(""),
8837
+ });
8838
+ }
8839
+
8388
8840
  /** @returns {Product} */
8389
8841
  static Product() {
8390
8842
  return Joi.object({
@@ -9678,31 +10130,6 @@ class CatalogPlatformModel {
9678
10130
  });
9679
10131
  }
9680
10132
 
9681
- /** @returns {StoreAssignResponseSchema} */
9682
- static StoreAssignResponseSchema() {
9683
- return Joi.object({
9684
- _id: Joi.string().allow(""),
9685
- article_assignment: CatalogPlatformModel.ArticleAssignment1().required(),
9686
- company_id: Joi.number(),
9687
- group_id: Joi.string().allow(""),
9688
- index: Joi.number(),
9689
- item_id: Joi.number().required(),
9690
- meta: Joi.object().pattern(/\S/, Joi.any()),
9691
- price_effective: Joi.number(),
9692
- price_marked: Joi.number(),
9693
- quantity: Joi.number().required(),
9694
- s_city: Joi.string().allow(""),
9695
- size: Joi.string().allow("").required(),
9696
- status: Joi.boolean().required(),
9697
- store_id: Joi.number(),
9698
- store_pincode: Joi.number(),
9699
- strategy_wise_listing: Joi.array().items(
9700
- Joi.object().pattern(/\S/, Joi.any())
9701
- ),
9702
- uid: Joi.string().allow(""),
9703
- });
9704
- }
9705
-
9706
10133
  /** @returns {StoreDetail} */
9707
10134
  static StoreDetail() {
9708
10135
  return Joi.object({
@@ -10216,6 +10643,53 @@ class CatalogPlatformModel {
10216
10643
  components: Joi.array()
10217
10644
  .items(CatalogPlatformModel.TaxComponent())
10218
10645
  .required(),
10646
+ applicable_date: Joi.string().allow(""),
10647
+ region_type: Joi.string().allow(""),
10648
+ areas: CatalogPlatformModel.TaxGeoArea(),
10649
+ store_ids: Joi.array().items(Joi.number()),
10650
+ });
10651
+ }
10652
+
10653
+ /** @returns {TaxGeoArea} */
10654
+ static TaxGeoArea() {
10655
+ return Joi.object({
10656
+ regions: Joi.array().items(Joi.string().allow("")).required(),
10657
+ country: Joi.string().allow("").required(),
10658
+ });
10659
+ }
10660
+
10661
+ /** @returns {AreaDetails} */
10662
+ static AreaDetails() {
10663
+ return Joi.object({
10664
+ uid: Joi.string().allow(""),
10665
+ display_name: Joi.string().allow(""),
10666
+ sub_type: Joi.string().allow(""),
10667
+ parent_id: Joi.array().items(Joi.string().allow("")),
10668
+ });
10669
+ }
10670
+
10671
+ /** @returns {Country} */
10672
+ static Country() {
10673
+ return Joi.object({
10674
+ uid: Joi.string().allow(""),
10675
+ display_name: Joi.string().allow(""),
10676
+ });
10677
+ }
10678
+
10679
+ /** @returns {Area} */
10680
+ static Area() {
10681
+ return Joi.object({
10682
+ regions: Joi.array().items(CatalogPlatformModel.AreaDetails()).required(),
10683
+ country: CatalogPlatformModel.Country().required(),
10684
+ });
10685
+ }
10686
+
10687
+ /** @returns {RegionReference} */
10688
+ static RegionReference() {
10689
+ return Joi.object({
10690
+ name: Joi.string().allow(""),
10691
+ slug: Joi.string().allow(""),
10692
+ areas: Joi.array().items(CatalogPlatformModel.Area()),
10219
10693
  });
10220
10694
  }
10221
10695
 
@@ -10239,6 +10713,10 @@ class CatalogPlatformModel {
10239
10713
  modified_on: Joi.string().allow(""),
10240
10714
  company_id: Joi.number(),
10241
10715
  status: CatalogPlatformModel.TaxStatusEnum(),
10716
+ region_type: Joi.string().allow(""),
10717
+ areas: CatalogPlatformModel.TaxGeoArea(),
10718
+ store_ids: Joi.array().items(Joi.number()),
10719
+ scope: CatalogPlatformModel.TaxVersionScopeEnum(),
10242
10720
  components: Joi.array().items(
10243
10721
  CatalogPlatformModel.TaxComponentResponseSchema()
10244
10722
  ),
@@ -10252,6 +10730,9 @@ class CatalogPlatformModel {
10252
10730
  .items(CatalogPlatformModel.TaxComponentResponseSchema())
10253
10731
  .required(),
10254
10732
  applicable_date: Joi.string().allow("").required(),
10733
+ region_type: Joi.string().allow(""),
10734
+ areas: CatalogPlatformModel.TaxGeoArea(),
10735
+ store_ids: Joi.array().items(Joi.number()),
10255
10736
  });
10256
10737
  }
10257
10738
 
@@ -10261,7 +10742,10 @@ class CatalogPlatformModel {
10261
10742
  components: Joi.array()
10262
10743
  .items(CatalogPlatformModel.TaxComponent())
10263
10744
  .required(),
10264
- applicable_date: Joi.string().allow("").required(),
10745
+ applicable_date: Joi.string().allow(""),
10746
+ region_type: Joi.string().allow(""),
10747
+ areas: CatalogPlatformModel.TaxGeoArea(),
10748
+ store_ids: Joi.array().items(Joi.number()),
10265
10749
  });
10266
10750
  }
10267
10751
 
@@ -10289,9 +10773,13 @@ class CatalogPlatformModel {
10289
10773
  modified_on: Joi.string().allow("").required(),
10290
10774
  company_id: Joi.number().required(),
10291
10775
  status: CatalogPlatformModel.TaxStatusEnum(),
10776
+ region_code: Joi.string().allow(""),
10777
+ store_ids: Joi.array().items(Joi.number()),
10778
+ region: CatalogPlatformModel.RegionReference(),
10292
10779
  components: Joi.array()
10293
10780
  .items(CatalogPlatformModel.TaxComponent())
10294
10781
  .required(),
10782
+ scope: CatalogPlatformModel.TaxVersionScopeEnum(),
10295
10783
  version_status: Joi.string().allow("").required(),
10296
10784
  });
10297
10785
  }
@@ -10304,16 +10792,6 @@ class CatalogPlatformModel {
10304
10792
  });
10305
10793
  }
10306
10794
 
10307
- /** @returns {UpdateTaxVersion} */
10308
- static UpdateTaxVersion() {
10309
- return Joi.object({
10310
- components: Joi.array()
10311
- .items(CatalogPlatformModel.TaxComponent())
10312
- .required(),
10313
- applicable_date: Joi.string().allow("").required(),
10314
- });
10315
- }
10316
-
10317
10795
  /** @returns {UpdateTaxRequestBody} */
10318
10796
  static UpdateTaxRequestBody() {
10319
10797
  return Joi.object({
@@ -10392,6 +10870,188 @@ class CatalogPlatformModel {
10392
10870
  });
10393
10871
  }
10394
10872
 
10873
+ /** @returns {PriceFactoryListItemsSchema} */
10874
+ static PriceFactoryListItemsSchema() {
10875
+ return Joi.object({
10876
+ price_factory_id: Joi.string().allow(""),
10877
+ name: Joi.string().allow(""),
10878
+ type: Joi.string().allow(""),
10879
+ currencies: Joi.array().items(Joi.string().allow("")),
10880
+ price_strategy: Joi.array().items(
10881
+ CatalogPlatformModel.PriceStrategySchema()
10882
+ ),
10883
+ price_zone_id: Joi.string().allow(""),
10884
+ active: Joi.boolean(),
10885
+ modified_by: CatalogPlatformModel.CreatedBy(),
10886
+ created_by: CatalogPlatformModel.CreatedBy(),
10887
+ modified_on: Joi.string().allow(""),
10888
+ });
10889
+ }
10890
+
10891
+ /** @returns {PriceFactoryListResponseSchema} */
10892
+ static PriceFactoryListResponseSchema() {
10893
+ return Joi.object({
10894
+ page: CatalogPlatformModel.Page(),
10895
+ data: Joi.array().items(
10896
+ CatalogPlatformModel.PriceFactoryListItemsSchema()
10897
+ ),
10898
+ });
10899
+ }
10900
+
10901
+ /** @returns {CreatePriceFactoryConfigSchema} */
10902
+ static CreatePriceFactoryConfigSchema() {
10903
+ return Joi.object({
10904
+ name: Joi.string().allow(""),
10905
+ type: Joi.string().allow(""),
10906
+ currencies: Joi.array().items(Joi.string().allow("")),
10907
+ price_strategy: Joi.array().items(
10908
+ CatalogPlatformModel.PriceStrategySchema()
10909
+ ),
10910
+ price_zone_id: Joi.string().allow(""),
10911
+ });
10912
+ }
10913
+
10914
+ /** @returns {UpdatePriceFactoryConfigSchema} */
10915
+ static UpdatePriceFactoryConfigSchema() {
10916
+ return Joi.object({
10917
+ name: Joi.string().allow(""),
10918
+ currencies: Joi.array().items(Joi.string().allow("")),
10919
+ price_strategy: Joi.array().items(
10920
+ CatalogPlatformModel.PriceStrategySchema()
10921
+ ),
10922
+ price_zone_id: Joi.string().allow(""),
10923
+ });
10924
+ }
10925
+
10926
+ /** @returns {PriceFactoryConfigSchema} */
10927
+ static PriceFactoryConfigSchema() {
10928
+ return Joi.object({
10929
+ name: Joi.string().allow(""),
10930
+ type: Joi.string().allow(""),
10931
+ currencies: Joi.array().items(Joi.string().allow("")),
10932
+ price_strategy: Joi.array().items(
10933
+ CatalogPlatformModel.PriceStrategySchema()
10934
+ ),
10935
+ price_zone_id: Joi.string().allow(""),
10936
+ created_by: CatalogPlatformModel.CreatedBy(),
10937
+ modified_by: CatalogPlatformModel.CreatedBy(),
10938
+ });
10939
+ }
10940
+
10941
+ /** @returns {CurrencyPriceSchema} */
10942
+ static CurrencyPriceSchema() {
10943
+ return Joi.object({
10944
+ marked_price: Joi.number().required(),
10945
+ selling_price: Joi.number().required(),
10946
+ currency: Joi.string().allow("").required(),
10947
+ });
10948
+ }
10949
+
10950
+ /** @returns {UpsertPriceFactorySizesSchema} */
10951
+ static UpsertPriceFactorySizesSchema() {
10952
+ return Joi.object({
10953
+ size: Joi.string().allow(""),
10954
+ currency_prices: Joi.array().items(
10955
+ CatalogPlatformModel.CurrencyPriceSchema()
10956
+ ),
10957
+ });
10958
+ }
10959
+
10960
+ /** @returns {UpsertPriceFactoryProductSchema} */
10961
+ static UpsertPriceFactoryProductSchema() {
10962
+ return Joi.object({
10963
+ sizes: Joi.array().items(
10964
+ CatalogPlatformModel.UpsertPriceFactorySizesSchema()
10965
+ ),
10966
+ active: Joi.boolean(),
10967
+ });
10968
+ }
10969
+
10970
+ /** @returns {PriceFactoryCurrencyPriceSchema} */
10971
+ static PriceFactoryCurrencyPriceSchema() {
10972
+ return Joi.object({
10973
+ base_price: Joi.boolean(),
10974
+ currency: Joi.string().allow(""),
10975
+ selling_price: Joi.number(),
10976
+ marked_price: Joi.number(),
10977
+ });
10978
+ }
10979
+
10980
+ /** @returns {PriceFactorySizesSchema} */
10981
+ static PriceFactorySizesSchema() {
10982
+ return Joi.object({
10983
+ price_factory_id: Joi.string().allow(""),
10984
+ seller_identifier: Joi.string().allow(""),
10985
+ size: Joi.string().allow(""),
10986
+ price_zone_id: Joi.string().allow(""),
10987
+ currency_prices: Joi.array().items(
10988
+ CatalogPlatformModel.PriceFactoryCurrencyPriceSchema()
10989
+ ),
10990
+ });
10991
+ }
10992
+
10993
+ /** @returns {PriceFactoryProductResponseSchema} */
10994
+ static PriceFactoryProductResponseSchema() {
10995
+ return Joi.object({
10996
+ item_id: Joi.number(),
10997
+ item_code: Joi.string().allow(""),
10998
+ name: Joi.string().allow(""),
10999
+ active: Joi.boolean(),
11000
+ media: Joi.array().items(Joi.string().allow("")),
11001
+ sizes: Joi.array().items(CatalogPlatformModel.PriceFactorySizesSchema()),
11002
+ });
11003
+ }
11004
+
11005
+ /** @returns {PriceFactoryProductListResponseSchema} */
11006
+ static PriceFactoryProductListResponseSchema() {
11007
+ return Joi.object({
11008
+ items: Joi.array().items(
11009
+ CatalogPlatformModel.PriceFactoryProductResponseSchema()
11010
+ ),
11011
+ page: CatalogPlatformModel.Page(),
11012
+ });
11013
+ }
11014
+
11015
+ /** @returns {PriceRange} */
11016
+ static PriceRange() {
11017
+ return Joi.object({
11018
+ min: Joi.number(),
11019
+ max: Joi.number(),
11020
+ });
11021
+ }
11022
+
11023
+ /** @returns {CurrencyPrice} */
11024
+ static CurrencyPrice() {
11025
+ return Joi.object({
11026
+ discount: Joi.number(),
11027
+ currency_code: Joi.string().allow(""),
11028
+ currency_symbol: Joi.string().allow(""),
11029
+ marked: CatalogPlatformModel.PriceRange(),
11030
+ effective: CatalogPlatformModel.PriceRange(),
11031
+ selling: CatalogPlatformModel.PriceRange(),
11032
+ });
11033
+ }
11034
+
11035
+ /** @returns {ProductPrice} */
11036
+ static ProductPrice() {
11037
+ return Joi.object({
11038
+ zone_type: Joi.string().allow(""),
11039
+ zone_identifier: Joi.string().allow(""),
11040
+ currency_prices: Joi.array().items(CatalogPlatformModel.CurrencyPrice()),
11041
+ });
11042
+ }
11043
+
11044
+ /** @returns {AppProductPricesSchema} */
11045
+ static AppProductPricesSchema() {
11046
+ return Joi.object({
11047
+ item_code: Joi.string().allow(""),
11048
+ brand_uid: Joi.number(),
11049
+ item_id: Joi.number(),
11050
+ discount_meta: Joi.object().pattern(/\S/, Joi.any()),
11051
+ product_price: Joi.array().items(CatalogPlatformModel.ProductPrice()),
11052
+ });
11053
+ }
11054
+
10395
11055
  /** @returns {ActionPage} */
10396
11056
  static ActionPage() {
10397
11057
  return Joi.object({
@@ -10468,6 +11128,21 @@ class CatalogPlatformModel {
10468
11128
  );
10469
11129
  }
10470
11130
 
11131
+ /**
11132
+ * Enum: TaxVersionScopeEnum Used By: Catalog
11133
+ *
11134
+ * @returns {TaxVersionScopeEnum}
11135
+ */
11136
+ static TaxVersionScopeEnum() {
11137
+ return Joi.string().valid(
11138
+ "COUNTRY",
11139
+
11140
+ "REGION",
11141
+
11142
+ "STORE"
11143
+ );
11144
+ }
11145
+
10471
11146
  /**
10472
11147
  * Enum: HsTypeEnum Used By: Catalog
10473
11148
  *