@gofynd/fdk-client-javascript 1.0.1 → 1.0.2

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 (134) hide show
  1. package/documentation/application/CART.md +251 -251
  2. package/documentation/application/CATALOG.md +414 -414
  3. package/documentation/application/CONTENT.md +15 -1
  4. package/documentation/application/ORDER.md +290 -290
  5. package/documentation/application/PAYMENT.md +255 -255
  6. package/documentation/application/POSCART.md +297 -297
  7. package/documentation/platform/CART.md +499 -499
  8. package/documentation/platform/CATALOG.md +3088 -2702
  9. package/documentation/platform/COMPANYPROFILE.md +201 -201
  10. package/documentation/platform/CONTENT.md +123 -1
  11. package/documentation/platform/ORDER.md +1233 -1158
  12. package/documentation/platform/PARTNER.md +7 -7
  13. package/documentation/platform/PAYMENT.md +83 -83
  14. package/package.json +1 -1
  15. package/sdk/application/ApplicationConfig.js +1 -1
  16. package/sdk/application/Cart/CartApplicationClient.js +619 -108
  17. package/sdk/application/Cart/CartApplicationModel.d.ts +7 -7
  18. package/sdk/application/Cart/CartApplicationModel.js +335 -335
  19. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +1 -1
  20. package/sdk/application/Catalog/CatalogApplicationClient.js +730 -134
  21. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +21 -21
  22. package/sdk/application/Catalog/CatalogApplicationModel.js +547 -547
  23. package/sdk/application/Common/CommonApplicationClient.js +48 -8
  24. package/sdk/application/Communication/CommunicationApplicationClient.js +75 -14
  25. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +1 -1
  26. package/sdk/application/Configuration/ConfigurationApplicationClient.js +392 -66
  27. package/sdk/application/Content/ContentApplicationClient.js +444 -76
  28. package/sdk/application/Content/ContentApplicationModel.d.ts +1 -0
  29. package/sdk/application/Content/ContentApplicationModel.js +11 -1
  30. package/sdk/application/FileStorage/FileStorageApplicationClient.js +74 -12
  31. package/sdk/application/Lead/LeadApplicationClient.js +164 -30
  32. package/sdk/application/Logistic/LogisticApplicationClient.js +98 -16
  33. package/sdk/application/Order/OrderApplicationClient.d.ts +1 -1
  34. package/sdk/application/Order/OrderApplicationClient.js +287 -54
  35. package/sdk/application/Order/OrderApplicationModel.d.ts +19 -19
  36. package/sdk/application/Order/OrderApplicationModel.js +357 -357
  37. package/sdk/application/Payment/PaymentApplicationClient.js +961 -186
  38. package/sdk/application/Payment/PaymentApplicationModel.d.ts +3 -3
  39. package/sdk/application/Payment/PaymentApplicationModel.js +352 -352
  40. package/sdk/application/PosCart/PosCartApplicationClient.js +645 -114
  41. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +15 -15
  42. package/sdk/application/PosCart/PosCartApplicationModel.js +389 -389
  43. package/sdk/application/Rewards/RewardsApplicationClient.js +168 -28
  44. package/sdk/application/Share/ShareApplicationClient.js +157 -32
  45. package/sdk/application/Theme/ThemeApplicationClient.js +94 -16
  46. package/sdk/application/User/UserApplicationClient.js +806 -148
  47. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.d.ts +16 -8
  48. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.js +191 -34
  49. package/sdk/platform/Analytics/AnalyticsPlatformClient.d.ts +8 -4
  50. package/sdk/platform/Analytics/AnalyticsPlatformClient.js +103 -16
  51. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.d.ts +8 -4
  52. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +103 -16
  53. package/sdk/platform/Billing/BillingPlatformClient.d.ts +24 -12
  54. package/sdk/platform/Billing/BillingPlatformClient.js +299 -54
  55. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +34 -17
  56. package/sdk/platform/Cart/CartPlatformApplicationClient.js +409 -72
  57. package/sdk/platform/Cart/CartPlatformModel.d.ts +35 -35
  58. package/sdk/platform/Cart/CartPlatformModel.js +617 -617
  59. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +167 -114
  60. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +1562 -453
  61. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +8 -8
  62. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +39 -39
  63. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +314 -196
  64. package/sdk/platform/Catalog/CatalogPlatformClient.js +2459 -718
  65. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +103 -94
  66. package/sdk/platform/Catalog/CatalogPlatformModel.js +2063 -1797
  67. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +17 -15
  68. package/sdk/platform/Catalog/CatalogPlatformValidator.js +95 -76
  69. package/sdk/platform/Common/CommonPlatformClient.d.ts +4 -2
  70. package/sdk/platform/Common/CommonPlatformClient.js +51 -8
  71. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +80 -40
  72. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +1000 -168
  73. package/sdk/platform/Communication/CommunicationPlatformClient.d.ts +2 -1
  74. package/sdk/platform/Communication/CommunicationPlatformClient.js +28 -4
  75. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +27 -14
  76. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +335 -54
  77. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +10 -10
  78. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +278 -278
  79. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +56 -28
  80. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +702 -118
  81. package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +36 -18
  82. package/sdk/platform/Configuration/ConfigurationPlatformClient.js +457 -82
  83. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +148 -67
  84. package/sdk/platform/Content/ContentPlatformApplicationClient.js +1724 -284
  85. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +1 -0
  86. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +7 -0
  87. package/sdk/platform/Content/ContentPlatformModel.d.ts +4 -0
  88. package/sdk/platform/Content/ContentPlatformModel.js +43 -1
  89. package/sdk/platform/Discount/DiscountPlatformClient.d.ts +21 -10
  90. package/sdk/platform/Discount/DiscountPlatformClient.js +270 -44
  91. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +8 -4
  92. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +102 -16
  93. package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +12 -6
  94. package/sdk/platform/FileStorage/FileStoragePlatformClient.js +150 -24
  95. package/sdk/platform/Inventory/InventoryPlatformClient.d.ts +27 -14
  96. package/sdk/platform/Inventory/InventoryPlatformClient.js +316 -52
  97. package/sdk/platform/Lead/LeadPlatformApplicationClient.d.ts +26 -13
  98. package/sdk/platform/Lead/LeadPlatformApplicationClient.js +311 -52
  99. package/sdk/platform/Lead/LeadPlatformClient.d.ts +22 -11
  100. package/sdk/platform/Lead/LeadPlatformClient.js +266 -44
  101. package/sdk/platform/OAuthClient.js +8 -8
  102. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +6 -3
  103. package/sdk/platform/Order/OrderPlatformApplicationClient.js +78 -14
  104. package/sdk/platform/Order/OrderPlatformClient.d.ts +95 -43
  105. package/sdk/platform/Order/OrderPlatformClient.js +1062 -180
  106. package/sdk/platform/Order/OrderPlatformModel.d.ts +64 -60
  107. package/sdk/platform/Order/OrderPlatformModel.js +1481 -1425
  108. package/sdk/platform/Order/OrderPlatformValidator.js +5 -0
  109. package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +4 -2
  110. package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +52 -8
  111. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +1 -1
  112. package/sdk/platform/Partner/PartnerPlatformModel.js +8 -8
  113. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +22 -11
  114. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +287 -56
  115. package/sdk/platform/Payment/PaymentPlatformClient.d.ts +21 -11
  116. package/sdk/platform/Payment/PaymentPlatformClient.js +263 -48
  117. package/sdk/platform/Payment/PaymentPlatformModel.js +122 -122
  118. package/sdk/platform/PlatformApplicationClient.d.ts +2959 -2787
  119. package/sdk/platform/PlatformApplicationClient.js +3420 -3212
  120. package/sdk/platform/PlatformClient.d.ts +2959 -2787
  121. package/sdk/platform/PlatformClient.js +3420 -3212
  122. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +26 -13
  123. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +308 -54
  124. package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +8 -4
  125. package/sdk/platform/Share/SharePlatformApplicationClient.js +94 -16
  126. package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +47 -23
  127. package/sdk/platform/Theme/ThemePlatformApplicationClient.js +571 -96
  128. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +24 -12
  129. package/sdk/platform/User/UserPlatformApplicationClient.js +296 -48
  130. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +12 -6
  131. package/sdk/platform/Webhook/WebhookPlatformClient.js +157 -30
  132. package/sdk/public/Configuration/ConfigurationPublicClient.js +51 -8
  133. package/sdk/public/Inventory/InventoryPublicClient.js +149 -26
  134. package/sdk/public/Webhook/WebhookPublicClient.js +51 -10
@@ -1,88 +1,72 @@
1
1
  const Joi = require("joi");
2
2
 
3
3
  class CatalogModel {
4
- static ProductListingActionPage() {
4
+ static Meta() {
5
5
  return Joi.object({
6
- type: Joi.string().allow(""),
7
-
8
- query: Joi.any(),
9
-
10
- params: Joi.any(),
6
+ source: Joi.string().allow(""),
11
7
  });
12
8
  }
13
9
 
14
- static ProductListingAction() {
10
+ static Media() {
15
11
  return Joi.object({
16
- type: Joi.string().allow(""),
12
+ meta: CatalogModel.Meta(),
17
13
 
18
- page: CatalogModel.ProductListingActionPage(),
19
- });
20
- }
14
+ url: Joi.string().allow(""),
21
15
 
22
- static Meta() {
23
- return Joi.object({
24
- source: Joi.string().allow(""),
16
+ alt: Joi.string().allow(""),
17
+
18
+ type: Joi.string().allow(""),
25
19
  });
26
20
  }
27
21
 
28
- static Media() {
22
+ static ProductListingActionPage() {
29
23
  return Joi.object({
24
+ query: Joi.any(),
25
+
30
26
  type: Joi.string().allow(""),
31
27
 
32
- meta: CatalogModel.Meta(),
28
+ params: Joi.any(),
29
+ });
30
+ }
33
31
 
34
- alt: Joi.string().allow(""),
32
+ static ProductListingAction() {
33
+ return Joi.object({
34
+ page: CatalogModel.ProductListingActionPage(),
35
35
 
36
- url: Joi.string().allow(""),
36
+ type: Joi.string().allow(""),
37
37
  });
38
38
  }
39
39
 
40
40
  static ProductBrand() {
41
41
  return Joi.object({
42
- description: Joi.string().allow(""),
42
+ logo: CatalogModel.Media(),
43
43
 
44
44
  action: CatalogModel.ProductListingAction(),
45
45
 
46
- uid: Joi.number(),
47
-
48
46
  name: Joi.string().allow(""),
49
47
 
50
- logo: CatalogModel.Media(),
51
- });
52
- }
53
-
54
- static NetQuantity() {
55
- return Joi.object({
56
- value: Joi.number(),
48
+ uid: Joi.number(),
57
49
 
58
- unit: Joi.any(),
50
+ description: Joi.string().allow(""),
59
51
  });
60
52
  }
61
53
 
62
54
  static ProductCategoryMap() {
63
55
  return Joi.object({
64
- l1: CatalogModel.ProductBrand(),
65
-
66
56
  l2: CatalogModel.ProductBrand(),
67
57
 
68
58
  l3: CatalogModel.ProductBrand(),
69
- });
70
- }
71
-
72
- static ApplicationItemSEO() {
73
- return Joi.object({
74
- description: Joi.any(),
75
59
 
76
- title: Joi.any(),
60
+ l1: CatalogModel.ProductBrand(),
77
61
  });
78
62
  }
79
63
 
80
64
  static ProductDetailAttribute() {
81
65
  return Joi.object({
82
- type: Joi.string().allow(""),
83
-
84
66
  key: Joi.string().allow(""),
85
67
 
68
+ type: Joi.string().allow(""),
69
+
86
70
  value: Joi.string().allow(""),
87
71
  });
88
72
  }
@@ -97,13 +81,13 @@ class CatalogModel {
97
81
 
98
82
  static Price() {
99
83
  return Joi.object({
100
- min: Joi.number(),
84
+ currency_symbol: Joi.string().allow(""),
101
85
 
102
86
  max: Joi.number(),
103
87
 
104
88
  currency_code: Joi.string().allow(""),
105
89
 
106
- currency_symbol: Joi.string().allow(""),
90
+ min: Joi.number(),
107
91
  });
108
92
  }
109
93
 
@@ -117,9 +101,17 @@ class CatalogModel {
117
101
 
118
102
  static CustomMetaFields() {
119
103
  return Joi.object({
104
+ key: Joi.string().allow("").required(),
105
+
120
106
  value: Joi.string().allow("").required(),
107
+ });
108
+ }
121
109
 
122
- key: Joi.string().allow("").required(),
110
+ static ApplicationItemSEO() {
111
+ return Joi.object({
112
+ title: Joi.any(),
113
+
114
+ description: Joi.any(),
123
115
  });
124
116
  }
125
117
 
@@ -127,83 +119,91 @@ class CatalogModel {
127
119
  return Joi.object({
128
120
  increment_unit: Joi.number(),
129
121
 
130
- maximum: Joi.number(),
131
-
132
122
  minimum: Joi.number(),
123
+
124
+ maximum: Joi.number(),
133
125
  });
134
126
  }
135
127
 
136
- static ProductDetail() {
128
+ static NetQuantity() {
137
129
  return Joi.object({
138
- attributes: Joi.any(),
139
-
140
- brand: CatalogModel.ProductBrand(),
141
-
142
- highlights: Joi.array().items(Joi.string().allow("")),
130
+ unit: Joi.any(),
143
131
 
144
- teaser_tag: Joi.string().allow(""),
132
+ value: Joi.number(),
133
+ });
134
+ }
145
135
 
146
- net_quantity: CatalogModel.NetQuantity(),
136
+ static ProductDetail() {
137
+ return Joi.object({
138
+ category_map: CatalogModel.ProductCategoryMap(),
147
139
 
148
- similars: Joi.array().items(Joi.string().allow("")),
140
+ type: Joi.string().allow(""),
149
141
 
150
- action: CatalogModel.ProductListingAction(),
142
+ attributes: Joi.any(),
151
143
 
152
- category_map: CatalogModel.ProductCategoryMap(),
144
+ uid: Joi.number(),
153
145
 
154
146
  color: Joi.string().allow(""),
155
147
 
156
- is_dependent: Joi.boolean(),
148
+ similars: Joi.array().items(Joi.string().allow("")),
157
149
 
158
- slug: Joi.string().allow("").required(),
150
+ short_description: Joi.string().allow(""),
159
151
 
160
- seo: CatalogModel.ApplicationItemSEO(),
152
+ medias: Joi.array().items(CatalogModel.Media()),
161
153
 
162
154
  has_variant: Joi.boolean(),
163
155
 
164
- item_code: Joi.string().allow(""),
156
+ item_type: Joi.string().allow(""),
165
157
 
166
158
  grouped_attributes: Joi.array().items(
167
159
  CatalogModel.ProductDetailGroupedAttribute()
168
160
  ),
169
161
 
170
- medias: Joi.array().items(CatalogModel.Media()),
162
+ rating: Joi.number(),
171
163
 
172
164
  categories: Joi.array().items(CatalogModel.ProductBrand()),
173
165
 
174
- tags: Joi.array().items(Joi.string().allow("")),
166
+ is_dependent: Joi.boolean(),
175
167
 
176
- rating: Joi.number(),
168
+ image_nature: Joi.string().allow(""),
177
169
 
178
- type: Joi.string().allow(""),
170
+ name: Joi.string().allow(""),
179
171
 
180
- rating_count: Joi.number(),
172
+ price: CatalogModel.ProductListingPrice(),
173
+
174
+ _custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
175
+
176
+ seo: CatalogModel.ApplicationItemSEO(),
181
177
 
182
178
  description: Joi.string().allow(""),
183
179
 
184
- discount: Joi.string().allow(""),
180
+ brand: CatalogModel.ProductBrand(),
185
181
 
186
- short_description: Joi.string().allow(""),
182
+ rating_count: Joi.number(),
187
183
 
188
184
  _custom_json: Joi.any(),
189
185
 
190
- uid: Joi.number(),
186
+ moq: CatalogModel.ApplicationItemMOQ(),
191
187
 
192
- image_nature: Joi.string().allow(""),
188
+ highlights: Joi.array().items(Joi.string().allow("")),
193
189
 
194
- price: CatalogModel.ProductListingPrice(),
190
+ action: CatalogModel.ProductListingAction(),
195
191
 
196
- _custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
192
+ product_online_date: Joi.string().allow(""),
197
193
 
198
- moq: CatalogModel.ApplicationItemMOQ(),
194
+ tryouts: Joi.array().items(Joi.string().allow("")),
199
195
 
200
- item_type: Joi.string().allow(""),
196
+ item_code: Joi.string().allow(""),
201
197
 
202
- name: Joi.string().allow(""),
198
+ discount: Joi.string().allow(""),
203
199
 
204
- tryouts: Joi.array().items(Joi.string().allow("")),
200
+ teaser_tag: Joi.string().allow(""),
205
201
 
206
- product_online_date: Joi.string().allow(""),
202
+ tags: Joi.array().items(Joi.string().allow("")),
203
+
204
+ slug: Joi.string().allow("").required(),
205
+
206
+ net_quantity: CatalogModel.NetQuantity(),
207
207
  });
208
208
  }
209
209
 
@@ -213,139 +213,139 @@ class CatalogModel {
213
213
  });
214
214
  }
215
215
 
216
- static Dimension() {
216
+ static ColumnHeader() {
217
217
  return Joi.object({
218
- length: Joi.number().required(),
218
+ convertable: Joi.boolean(),
219
219
 
220
- unit: Joi.string().allow("").required(),
220
+ value: Joi.string().allow(""),
221
+ });
222
+ }
221
223
 
222
- height: Joi.number().required(),
224
+ static ColumnHeaders() {
225
+ return Joi.object({
226
+ col_1: CatalogModel.ColumnHeader(),
223
227
 
224
- width: Joi.number().required(),
228
+ col_2: CatalogModel.ColumnHeader(),
225
229
 
226
- is_default: Joi.boolean().required(),
230
+ col_6: CatalogModel.ColumnHeader(),
231
+
232
+ col_4: CatalogModel.ColumnHeader(),
233
+
234
+ col_3: CatalogModel.ColumnHeader(),
235
+
236
+ col_5: CatalogModel.ColumnHeader(),
227
237
  });
228
238
  }
229
239
 
230
- static Weight() {
240
+ static SizeChartValues() {
231
241
  return Joi.object({
232
- unit: Joi.string().allow("").required(),
242
+ col_1: Joi.string().allow(""),
233
243
 
234
- shipping: Joi.number().required(),
244
+ col_2: Joi.string().allow(""),
235
245
 
236
- is_default: Joi.boolean().required(),
246
+ col_6: Joi.string().allow(""),
247
+
248
+ col_4: Joi.string().allow(""),
249
+
250
+ col_3: Joi.string().allow(""),
251
+
252
+ col_5: Joi.string().allow(""),
237
253
  });
238
254
  }
239
255
 
240
- static ProductSize() {
256
+ static SizeChart() {
241
257
  return Joi.object({
242
- quantity: Joi.number(),
258
+ unit: Joi.string().allow(""),
243
259
 
244
- dimension: CatalogModel.Dimension(),
260
+ headers: CatalogModel.ColumnHeaders(),
245
261
 
246
- value: Joi.string().allow(""),
262
+ title: Joi.string().allow(""),
247
263
 
248
- display: Joi.string().allow(""),
264
+ image: Joi.string().allow(""),
249
265
 
250
- is_available: Joi.boolean(),
266
+ sizes: Joi.array().items(CatalogModel.SizeChartValues()),
251
267
 
252
- seller_identifiers: Joi.array().items(Joi.string().allow("")),
268
+ description: Joi.string().allow(""),
253
269
 
254
- weight: CatalogModel.Weight(),
270
+ size_tip: Joi.string().allow(""),
255
271
  });
256
272
  }
257
273
 
258
- static ProductSizeStores() {
274
+ static Weight() {
259
275
  return Joi.object({
260
- count: Joi.number(),
261
- });
262
- }
276
+ shipping: Joi.number().required(),
263
277
 
264
- static ColumnHeader() {
265
- return Joi.object({
266
- value: Joi.string().allow(""),
278
+ unit: Joi.string().allow("").required(),
267
279
 
268
- convertable: Joi.boolean(),
280
+ is_default: Joi.boolean().required(),
269
281
  });
270
282
  }
271
283
 
272
- static ColumnHeaders() {
284
+ static Dimension() {
273
285
  return Joi.object({
274
- col_3: CatalogModel.ColumnHeader(),
275
-
276
- col_6: CatalogModel.ColumnHeader(),
286
+ width: Joi.number().required(),
277
287
 
278
- col_5: CatalogModel.ColumnHeader(),
288
+ is_default: Joi.boolean().required(),
279
289
 
280
- col_1: CatalogModel.ColumnHeader(),
290
+ length: Joi.number().required(),
281
291
 
282
- col_2: CatalogModel.ColumnHeader(),
292
+ unit: Joi.string().allow("").required(),
283
293
 
284
- col_4: CatalogModel.ColumnHeader(),
294
+ height: Joi.number().required(),
285
295
  });
286
296
  }
287
297
 
288
- static SizeChartValues() {
298
+ static ProductSize() {
289
299
  return Joi.object({
290
- col_3: Joi.string().allow(""),
300
+ weight: CatalogModel.Weight(),
291
301
 
292
- col_6: Joi.string().allow(""),
302
+ is_available: Joi.boolean(),
293
303
 
294
- col_5: Joi.string().allow(""),
304
+ display: Joi.string().allow(""),
295
305
 
296
- col_1: Joi.string().allow(""),
306
+ value: Joi.string().allow(""),
297
307
 
298
- col_2: Joi.string().allow(""),
308
+ seller_identifiers: Joi.array().items(Joi.string().allow("")),
299
309
 
300
- col_4: Joi.string().allow(""),
310
+ dimension: CatalogModel.Dimension(),
311
+
312
+ quantity: Joi.number(),
301
313
  });
302
314
  }
303
315
 
304
- static SizeChart() {
316
+ static ProductSizeStores() {
305
317
  return Joi.object({
306
- image: Joi.string().allow(""),
307
-
308
- unit: Joi.string().allow(""),
309
-
310
- headers: CatalogModel.ColumnHeaders(),
311
-
312
- description: Joi.string().allow(""),
313
-
314
- size_tip: Joi.string().allow(""),
315
-
316
- sizes: Joi.array().items(CatalogModel.SizeChartValues()),
317
-
318
- title: Joi.string().allow(""),
318
+ count: Joi.number(),
319
319
  });
320
320
  }
321
321
 
322
322
  static ProductSizes() {
323
323
  return Joi.object({
324
- discount: Joi.string().allow(""),
324
+ size_chart: CatalogModel.SizeChart(),
325
+
326
+ sellable: Joi.boolean(),
327
+
328
+ price: CatalogModel.ProductListingPrice(),
325
329
 
326
330
  multi_size: Joi.boolean(),
327
331
 
328
- sellable: Joi.boolean(),
332
+ discount: Joi.string().allow(""),
329
333
 
330
334
  sizes: Joi.array().items(CatalogModel.ProductSize()),
331
335
 
332
- price: CatalogModel.ProductListingPrice(),
333
-
334
336
  stores: CatalogModel.ProductSizeStores(),
335
-
336
- size_chart: CatalogModel.SizeChart(),
337
337
  });
338
338
  }
339
339
 
340
340
  static AttributeDetail() {
341
341
  return Joi.object({
342
- display: Joi.string().allow(""),
342
+ logo: Joi.string().allow(""),
343
343
 
344
344
  key: Joi.string().allow(""),
345
345
 
346
- logo: Joi.string().allow(""),
347
-
348
346
  description: Joi.string().allow(""),
347
+
348
+ display: Joi.string().allow(""),
349
349
  });
350
350
  }
351
351
 
@@ -359,21 +359,21 @@ class CatalogModel {
359
359
 
360
360
  static ProductsComparisonResponse() {
361
361
  return Joi.object({
362
- items: Joi.array().items(CatalogModel.ProductDetail()),
363
-
364
362
  attributes_metadata: Joi.array().items(CatalogModel.AttributeMetadata()),
363
+
364
+ items: Joi.array().items(CatalogModel.ProductDetail()),
365
365
  });
366
366
  }
367
367
 
368
368
  static ProductCompareResponse() {
369
369
  return Joi.object({
370
- subtitle: Joi.string().allow(""),
371
-
372
- items: Joi.array().items(CatalogModel.ProductDetail()),
370
+ attributes_metadata: Joi.array().items(CatalogModel.AttributeMetadata()),
373
371
 
374
372
  title: Joi.string().allow(""),
375
373
 
376
- attributes_metadata: Joi.array().items(CatalogModel.AttributeMetadata()),
374
+ subtitle: Joi.string().allow(""),
375
+
376
+ items: Joi.array().items(CatalogModel.ProductDetail()),
377
377
  });
378
378
  }
379
379
 
@@ -385,23 +385,23 @@ class CatalogModel {
385
385
 
386
386
  static ProductVariantItemResponse() {
387
387
  return Joi.object({
388
- color_name: Joi.string().allow(""),
388
+ medias: Joi.array().items(CatalogModel.Media()),
389
389
 
390
- action: CatalogModel.ProductListingAction(),
390
+ is_available: Joi.boolean(),
391
391
 
392
- uid: Joi.number(),
392
+ value: Joi.string().allow(""),
393
393
 
394
- _custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
394
+ name: Joi.string().allow(""),
395
395
 
396
- color: Joi.string().allow(""),
396
+ action: CatalogModel.ProductListingAction(),
397
397
 
398
- medias: Joi.array().items(CatalogModel.Media()),
398
+ color_name: Joi.string().allow(""),
399
399
 
400
- value: Joi.string().allow(""),
400
+ _custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
401
401
 
402
- name: Joi.string().allow(""),
402
+ color: Joi.string().allow(""),
403
403
 
404
- is_available: Joi.boolean(),
404
+ uid: Joi.number(),
405
405
 
406
406
  slug: Joi.string().allow(""),
407
407
  });
@@ -411,79 +411,79 @@ class CatalogModel {
411
411
  return Joi.object({
412
412
  key: Joi.string().allow(""),
413
413
 
414
- items: Joi.array().items(CatalogModel.ProductVariantItemResponse()),
414
+ display_type: Joi.string().allow(""),
415
415
 
416
416
  header: Joi.string().allow(""),
417
417
 
418
- display_type: Joi.string().allow(""),
418
+ items: Joi.array().items(CatalogModel.ProductVariantItemResponse()),
419
419
  });
420
420
  }
421
421
 
422
422
  static ProductVariantsResponse() {
423
- return Joi.object({
424
- variants: Joi.array().items(CatalogModel.ProductVariantResponse()),
425
- });
426
- }
427
-
428
- static ProductStockPrice() {
429
- return Joi.object({
430
- marked: Joi.number(),
431
-
432
- currency: Joi.string().allow(""),
433
-
434
- effective: Joi.number(),
423
+ return Joi.object({
424
+ variants: Joi.array().items(CatalogModel.ProductVariantResponse()),
435
425
  });
436
426
  }
437
427
 
438
- static StoreDetail() {
428
+ static CompanyDetail() {
439
429
  return Joi.object({
440
430
  id: Joi.number(),
441
431
 
442
432
  name: Joi.string().allow(""),
433
+ });
434
+ }
443
435
 
444
- code: Joi.string().allow(""),
436
+ static ProductStockPrice() {
437
+ return Joi.object({
438
+ currency: Joi.string().allow(""),
445
439
 
446
- city: Joi.string().allow(""),
440
+ marked: Joi.number(),
441
+
442
+ effective: Joi.number(),
447
443
  });
448
444
  }
449
445
 
450
446
  static Seller() {
451
447
  return Joi.object({
452
- name: Joi.string().allow(""),
453
-
454
448
  uid: Joi.number(),
455
449
 
456
450
  count: Joi.number(),
451
+
452
+ name: Joi.string().allow(""),
457
453
  });
458
454
  }
459
455
 
460
- static CompanyDetail() {
456
+ static StoreDetail() {
461
457
  return Joi.object({
462
458
  id: Joi.number(),
463
459
 
460
+ code: Joi.string().allow(""),
461
+
462
+ city: Joi.string().allow(""),
463
+
464
464
  name: Joi.string().allow(""),
465
465
  });
466
466
  }
467
467
 
468
468
  static ProductStockStatusItem() {
469
469
  return Joi.object({
470
- quantity: Joi.number(),
471
-
472
470
  size: Joi.string().allow(""),
473
471
 
474
- uid: Joi.string().allow(""),
472
+ company: CatalogModel.CompanyDetail(),
475
473
 
476
474
  price: CatalogModel.ProductStockPrice(),
477
475
 
478
- identifier: Joi.any(),
476
+ seller: CatalogModel.Seller(),
479
477
 
480
478
  store: CatalogModel.StoreDetail(),
481
479
 
482
- seller: CatalogModel.Seller(),
480
+ uid: Joi.string().allow(""),
483
481
 
484
482
  item_id: Joi.number(),
485
483
 
486
- company: CatalogModel.CompanyDetail(),
484
+ quantity: Joi.number(),
485
+
486
+ identifier: Joi.any(),
487
487
  });
488
488
  }
489
489
 
@@ -513,203 +513,203 @@ class CatalogModel {
513
513
 
514
514
  static ProductStockPolling() {
515
515
  return Joi.object({
516
- items: Joi.array().items(CatalogModel.ProductStockStatusItem()),
517
-
518
516
  page: CatalogModel.Page().required(),
517
+
518
+ items: Joi.array().items(CatalogModel.ProductStockStatusItem()),
519
519
  });
520
520
  }
521
521
 
522
522
  static ProductSortOn() {
523
523
  return Joi.object({
524
+ is_selected: Joi.boolean(),
525
+
524
526
  value: Joi.string().allow(""),
525
527
 
526
528
  name: Joi.string().allow(""),
527
-
528
- is_selected: Joi.boolean(),
529
529
  });
530
530
  }
531
531
 
532
- static ProductFiltersKey() {
532
+ static ProductFiltersValue() {
533
533
  return Joi.object({
534
- name: Joi.string().allow("").required(),
534
+ selected_min: Joi.number(),
535
535
 
536
- display: Joi.string().allow("").required(),
536
+ selected_max: Joi.number(),
537
537
 
538
- logo: Joi.string().allow(""),
538
+ currency_code: Joi.string().allow(""),
539
539
 
540
- kind: Joi.string().allow(""),
541
- });
542
- }
540
+ max: Joi.number(),
543
541
 
544
- static ProductFiltersValue() {
545
- return Joi.object({
546
- is_selected: Joi.boolean().required(),
542
+ min: Joi.number(),
547
543
 
548
- query_format: Joi.string().allow(""),
544
+ display: Joi.string().allow("").required(),
549
545
 
550
- count: Joi.number(),
546
+ value: Joi.string().allow(""),
551
547
 
552
- selected_min: Joi.number(),
548
+ count: Joi.number(),
553
549
 
554
550
  currency_symbol: Joi.string().allow(""),
555
551
 
556
- selected_max: Joi.number(),
552
+ is_selected: Joi.boolean().required(),
557
553
 
558
- display_format: Joi.string().allow(""),
554
+ query_format: Joi.string().allow(""),
559
555
 
560
- value: Joi.string().allow(""),
556
+ display_format: Joi.string().allow(""),
557
+ });
558
+ }
561
559
 
562
- display: Joi.string().allow("").required(),
560
+ static ProductFiltersKey() {
561
+ return Joi.object({
562
+ kind: Joi.string().allow(""),
563
563
 
564
- min: Joi.number(),
564
+ name: Joi.string().allow("").required(),
565
565
 
566
- max: Joi.number(),
566
+ logo: Joi.string().allow(""),
567
567
 
568
- currency_code: Joi.string().allow(""),
568
+ display: Joi.string().allow("").required(),
569
569
  });
570
570
  }
571
571
 
572
572
  static ProductFilters() {
573
573
  return Joi.object({
574
- key: CatalogModel.ProductFiltersKey().required(),
575
-
576
574
  values: Joi.array().items(CatalogModel.ProductFiltersValue()).required(),
575
+
576
+ key: CatalogModel.ProductFiltersKey().required(),
577
577
  });
578
578
  }
579
579
 
580
580
  static ProductVariantListingResponse() {
581
581
  return Joi.object({
582
- total: Joi.number(),
582
+ key: Joi.string().allow(""),
583
583
 
584
- items: Joi.array().items(CatalogModel.ProductVariantItemResponse()),
584
+ display_type: Joi.string().allow(""),
585
585
 
586
- header: Joi.string().allow(""),
586
+ total: Joi.number(),
587
587
 
588
- display_type: Joi.string().allow(""),
588
+ header: Joi.string().allow(""),
589
589
 
590
- key: Joi.string().allow(""),
590
+ items: Joi.array().items(CatalogModel.ProductVariantItemResponse()),
591
591
  });
592
592
  }
593
593
 
594
594
  static ProductListingDetail() {
595
595
  return Joi.object({
596
- attributes: Joi.any(),
597
-
598
- brand: CatalogModel.ProductBrand(),
599
-
600
- highlights: Joi.array().items(Joi.string().allow("")),
601
-
602
- teaser_tag: Joi.string().allow(""),
596
+ variants: Joi.array().items(CatalogModel.ProductVariantListingResponse()),
603
597
 
604
- net_quantity: CatalogModel.NetQuantity(),
598
+ category_map: CatalogModel.ProductCategoryMap(),
605
599
 
606
- similars: Joi.array().items(Joi.string().allow("")),
600
+ type: Joi.string().allow(""),
607
601
 
608
- action: CatalogModel.ProductListingAction(),
602
+ attributes: Joi.any(),
609
603
 
610
- category_map: CatalogModel.ProductCategoryMap(),
604
+ uid: Joi.number(),
611
605
 
612
606
  color: Joi.string().allow(""),
613
607
 
614
- is_dependent: Joi.boolean(),
615
-
616
- slug: Joi.string().allow("").required(),
608
+ similars: Joi.array().items(Joi.string().allow("")),
617
609
 
618
- variants: Joi.array().items(CatalogModel.ProductVariantListingResponse()),
610
+ short_description: Joi.string().allow(""),
619
611
 
620
- seo: CatalogModel.ApplicationItemSEO(),
612
+ medias: Joi.array().items(CatalogModel.Media()),
621
613
 
622
614
  has_variant: Joi.boolean(),
623
615
 
624
- sellable: Joi.boolean(),
616
+ item_type: Joi.string().allow(""),
625
617
 
626
- item_code: Joi.string().allow(""),
618
+ identifiers: Joi.array().items(Joi.string().allow("")),
627
619
 
628
620
  grouped_attributes: Joi.array().items(
629
621
  CatalogModel.ProductDetailGroupedAttribute()
630
622
  ),
631
623
 
632
- medias: Joi.array().items(CatalogModel.Media()),
624
+ rating: Joi.number(),
633
625
 
634
626
  categories: Joi.array().items(CatalogModel.ProductBrand()),
635
627
 
636
- identifiers: Joi.array().items(Joi.string().allow("")),
628
+ is_dependent: Joi.boolean(),
637
629
 
638
- tags: Joi.array().items(Joi.string().allow("")),
630
+ image_nature: Joi.string().allow(""),
639
631
 
640
- rating: Joi.number(),
632
+ name: Joi.string().allow(""),
641
633
 
642
- type: Joi.string().allow(""),
634
+ sellable: Joi.boolean(),
643
635
 
644
- rating_count: Joi.number(),
636
+ price: CatalogModel.ProductListingPrice(),
637
+
638
+ _custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
639
+
640
+ seo: CatalogModel.ApplicationItemSEO(),
645
641
 
646
642
  description: Joi.string().allow(""),
647
643
 
648
- discount: Joi.string().allow(""),
644
+ brand: CatalogModel.ProductBrand(),
649
645
 
650
- short_description: Joi.string().allow(""),
646
+ rating_count: Joi.number(),
651
647
 
652
648
  _custom_json: Joi.any(),
653
649
 
654
- uid: Joi.number(),
650
+ moq: CatalogModel.ApplicationItemMOQ(),
655
651
 
656
- image_nature: Joi.string().allow(""),
652
+ highlights: Joi.array().items(Joi.string().allow("")),
657
653
 
658
- price: CatalogModel.ProductListingPrice(),
654
+ action: CatalogModel.ProductListingAction(),
659
655
 
660
- _custom_meta: Joi.array().items(CatalogModel.CustomMetaFields()),
656
+ product_online_date: Joi.string().allow(""),
661
657
 
662
- sizes: Joi.array().items(Joi.string().allow("")),
658
+ tryouts: Joi.array().items(Joi.string().allow("")),
663
659
 
664
- moq: CatalogModel.ApplicationItemMOQ(),
660
+ item_code: Joi.string().allow(""),
665
661
 
666
- item_type: Joi.string().allow(""),
662
+ discount: Joi.string().allow(""),
667
663
 
668
- name: Joi.string().allow(""),
664
+ teaser_tag: Joi.string().allow(""),
669
665
 
670
- tryouts: Joi.array().items(Joi.string().allow("")),
666
+ sizes: Joi.array().items(Joi.string().allow("")),
671
667
 
672
- product_online_date: Joi.string().allow(""),
668
+ tags: Joi.array().items(Joi.string().allow("")),
669
+
670
+ slug: Joi.string().allow("").required(),
671
+
672
+ net_quantity: CatalogModel.NetQuantity(),
673
673
  });
674
674
  }
675
675
 
676
676
  static ProductListingResponse() {
677
677
  return Joi.object({
678
+ page: CatalogModel.Page().required(),
679
+
678
680
  sort_on: Joi.array().items(CatalogModel.ProductSortOn()),
679
681
 
680
682
  filters: Joi.array().items(CatalogModel.ProductFilters()),
681
683
 
682
684
  items: Joi.array().items(CatalogModel.ProductListingDetail()),
683
-
684
- page: CatalogModel.Page().required(),
685
685
  });
686
686
  }
687
687
 
688
688
  static ImageUrls() {
689
689
  return Joi.object({
690
- landscape: CatalogModel.Media(),
691
-
692
690
  portrait: CatalogModel.Media(),
691
+
692
+ landscape: CatalogModel.Media(),
693
693
  });
694
694
  }
695
695
 
696
696
  static BrandItem() {
697
697
  return Joi.object({
698
- description: Joi.string().allow(""),
699
-
700
- discount: Joi.string().allow(""),
701
-
702
- departments: Joi.array().items(Joi.string().allow("")),
698
+ logo: CatalogModel.Media(),
703
699
 
704
700
  action: CatalogModel.ProductListingAction(),
705
701
 
706
- uid: Joi.number(),
702
+ name: Joi.string().allow(""),
707
703
 
708
704
  banners: CatalogModel.ImageUrls(),
709
705
 
710
- name: Joi.string().allow(""),
706
+ discount: Joi.string().allow(""),
711
707
 
712
- logo: CatalogModel.Media(),
708
+ uid: Joi.number(),
709
+
710
+ description: Joi.string().allow(""),
711
+
712
+ departments: Joi.array().items(Joi.string().allow("")),
713
713
 
714
714
  slug: Joi.string().allow(""),
715
715
  });
@@ -717,109 +717,109 @@ class CatalogModel {
717
717
 
718
718
  static BrandListingResponse() {
719
719
  return Joi.object({
720
- items: Joi.array().items(CatalogModel.BrandItem()),
721
-
722
720
  page: CatalogModel.Page().required(),
721
+
722
+ items: Joi.array().items(CatalogModel.BrandItem()),
723
723
  });
724
724
  }
725
725
 
726
726
  static BrandDetailResponse() {
727
727
  return Joi.object({
728
- description: Joi.string().allow(""),
728
+ logo: CatalogModel.Media(),
729
729
 
730
- _custom_json: Joi.any(),
730
+ name: Joi.string().allow(""),
731
731
 
732
732
  banners: CatalogModel.ImageUrls(),
733
733
 
734
734
  uid: Joi.number(),
735
735
 
736
- name: Joi.string().allow(""),
736
+ description: Joi.string().allow(""),
737
737
 
738
- logo: CatalogModel.Media(),
738
+ _custom_json: Joi.any(),
739
739
  });
740
740
  }
741
741
 
742
742
  static DepartmentIdentifier() {
743
743
  return Joi.object({
744
- uid: Joi.number(),
745
-
746
744
  slug: Joi.string().allow(""),
745
+
746
+ uid: Joi.number(),
747
747
  });
748
748
  }
749
749
 
750
750
  static ThirdLevelChild() {
751
751
  return Joi.object({
752
- childs: Joi.array().items(Joi.any()),
752
+ name: Joi.string().allow(""),
753
753
 
754
- _custom_json: Joi.any(),
754
+ action: CatalogModel.ProductListingAction(),
755
755
 
756
- uid: Joi.number(),
756
+ childs: Joi.array().items(Joi.any()),
757
757
 
758
758
  banners: CatalogModel.ImageUrls(),
759
759
 
760
- action: CatalogModel.ProductListingAction(),
761
-
762
- name: Joi.string().allow(""),
760
+ uid: Joi.number(),
763
761
 
764
762
  slug: Joi.string().allow(""),
763
+
764
+ _custom_json: Joi.any(),
765
765
  });
766
766
  }
767
767
 
768
768
  static SecondLevelChild() {
769
769
  return Joi.object({
770
- childs: Joi.array().items(CatalogModel.ThirdLevelChild()),
770
+ name: Joi.string().allow(""),
771
771
 
772
- _custom_json: Joi.any(),
772
+ action: CatalogModel.ProductListingAction(),
773
773
 
774
- uid: Joi.number(),
774
+ childs: Joi.array().items(CatalogModel.ThirdLevelChild()),
775
775
 
776
776
  banners: CatalogModel.ImageUrls(),
777
777
 
778
- action: CatalogModel.ProductListingAction(),
779
-
780
- name: Joi.string().allow(""),
778
+ uid: Joi.number(),
781
779
 
782
780
  slug: Joi.string().allow(""),
781
+
782
+ _custom_json: Joi.any(),
783
783
  });
784
784
  }
785
785
 
786
786
  static Child() {
787
787
  return Joi.object({
788
- childs: Joi.array().items(CatalogModel.SecondLevelChild()),
788
+ name: Joi.string().allow(""),
789
789
 
790
- _custom_json: Joi.any(),
790
+ action: CatalogModel.ProductListingAction(),
791
791
 
792
- uid: Joi.number(),
792
+ childs: Joi.array().items(CatalogModel.SecondLevelChild()),
793
793
 
794
794
  banners: CatalogModel.ImageUrls(),
795
795
 
796
- action: CatalogModel.ProductListingAction(),
797
-
798
- name: Joi.string().allow(""),
796
+ uid: Joi.number(),
799
797
 
800
798
  slug: Joi.string().allow(""),
799
+
800
+ _custom_json: Joi.any(),
801
801
  });
802
802
  }
803
803
 
804
804
  static CategoryBanner() {
805
805
  return Joi.object({
806
- landscape: CatalogModel.Media().required(),
807
-
808
806
  portrait: CatalogModel.Media().required(),
807
+
808
+ landscape: CatalogModel.Media().required(),
809
809
  });
810
810
  }
811
811
 
812
812
  static CategoryItems() {
813
813
  return Joi.object({
814
- childs: Joi.array().items(CatalogModel.Child()),
815
-
816
814
  action: CatalogModel.ProductListingAction().required(),
817
815
 
818
- uid: Joi.number().required(),
816
+ name: Joi.string().allow("").required(),
817
+
818
+ childs: Joi.array().items(CatalogModel.Child()),
819
819
 
820
820
  banners: CatalogModel.CategoryBanner().required(),
821
821
 
822
- name: Joi.string().allow("").required(),
822
+ uid: Joi.number().required(),
823
823
 
824
824
  slug: Joi.string().allow("").required(),
825
825
  });
@@ -827,9 +827,9 @@ class CatalogModel {
827
827
 
828
828
  static DepartmentCategoryTree() {
829
829
  return Joi.object({
830
- items: Joi.array().items(CatalogModel.CategoryItems()),
831
-
832
830
  department: Joi.string().allow("").required(),
831
+
832
+ items: Joi.array().items(CatalogModel.CategoryItems()),
833
833
  });
834
834
  }
835
835
 
@@ -843,37 +843,37 @@ class CatalogModel {
843
843
 
844
844
  static CategoryMetaResponse() {
845
845
  return Joi.object({
846
- _custom_json: Joi.any(),
846
+ logo: CatalogModel.Media(),
847
+
848
+ name: Joi.string().allow(""),
847
849
 
848
850
  banners: CatalogModel.ImageUrls(),
849
851
 
850
852
  uid: Joi.number(),
851
853
 
852
- name: Joi.string().allow(""),
853
-
854
- logo: CatalogModel.Media(),
854
+ _custom_json: Joi.any(),
855
855
  });
856
856
  }
857
857
 
858
858
  static HomeListingResponse() {
859
859
  return Joi.object({
860
+ page: CatalogModel.Page().required(),
861
+
860
862
  message: Joi.string().allow(""),
861
863
 
862
864
  items: Joi.array().items(CatalogModel.ProductListingDetail()),
863
-
864
- page: CatalogModel.Page().required(),
865
865
  });
866
866
  }
867
867
 
868
868
  static Department() {
869
869
  return Joi.object({
870
- priority_order: Joi.number(),
871
-
872
- uid: Joi.number(),
870
+ logo: CatalogModel.Media(),
873
871
 
874
872
  name: Joi.string().allow(""),
875
873
 
876
- logo: CatalogModel.Media(),
874
+ priority_order: Joi.number(),
875
+
876
+ uid: Joi.number(),
877
877
 
878
878
  slug: Joi.string().allow(""),
879
879
  });
@@ -887,15 +887,15 @@ class CatalogModel {
887
887
 
888
888
  static AutocompleteItem() {
889
889
  return Joi.object({
890
- action: CatalogModel.ProductListingAction(),
890
+ logo: CatalogModel.Media(),
891
891
 
892
- _custom_json: Joi.any(),
892
+ display: Joi.string().allow(""),
893
893
 
894
- type: Joi.string().allow(""),
894
+ action: CatalogModel.ProductListingAction(),
895
895
 
896
- display: Joi.string().allow(""),
896
+ type: Joi.string().allow(""),
897
897
 
898
- logo: CatalogModel.Media(),
898
+ _custom_json: Joi.any(),
899
899
  });
900
900
  }
901
901
 
@@ -905,151 +905,151 @@ class CatalogModel {
905
905
  });
906
906
  }
907
907
 
908
- static CollectionListingFilterType() {
908
+ static CollectionListingFilterTag() {
909
909
  return Joi.object({
910
- name: Joi.string().allow(""),
910
+ display: Joi.string().allow(""),
911
911
 
912
912
  is_selected: Joi.boolean(),
913
913
 
914
- display: Joi.string().allow(""),
914
+ name: Joi.string().allow(""),
915
915
  });
916
916
  }
917
917
 
918
- static CollectionListingFilterTag() {
918
+ static CollectionListingFilterType() {
919
919
  return Joi.object({
920
- name: Joi.string().allow(""),
920
+ display: Joi.string().allow(""),
921
921
 
922
922
  is_selected: Joi.boolean(),
923
923
 
924
- display: Joi.string().allow(""),
924
+ name: Joi.string().allow(""),
925
925
  });
926
926
  }
927
927
 
928
928
  static CollectionListingFilter() {
929
929
  return Joi.object({
930
- type: Joi.array().items(CatalogModel.CollectionListingFilterType()),
931
-
932
930
  tags: Joi.array().items(CatalogModel.CollectionListingFilterTag()),
931
+
932
+ type: Joi.array().items(CatalogModel.CollectionListingFilterType()),
933
933
  });
934
934
  }
935
935
 
936
936
  static CollectionQuery() {
937
937
  return Joi.object({
938
- value: Joi.array().items(Joi.any()).required(),
938
+ attribute: Joi.string().allow("").required(),
939
939
 
940
940
  op: Joi.string().allow("").required(),
941
941
 
942
- attribute: Joi.string().allow("").required(),
942
+ value: Joi.array().items(Joi.any()).required(),
943
943
  });
944
944
  }
945
945
 
946
946
  static GetCollectionDetailNest() {
947
947
  return Joi.object({
948
- action: CatalogModel.ProductListingAction(),
949
-
950
- banners: CatalogModel.ImageUrls(),
951
-
952
- slug: Joi.string().allow(""),
948
+ query: Joi.array().items(CatalogModel.CollectionQuery()),
953
949
 
954
- sort_on: Joi.string().allow(""),
950
+ allow_facets: Joi.boolean(),
955
951
 
956
- visible_facets_keys: Joi.array().items(Joi.string().allow("")),
952
+ logo: CatalogModel.Media(),
957
953
 
958
954
  cron: Joi.any(),
959
955
 
960
- query: Joi.array().items(CatalogModel.CollectionQuery()),
956
+ type: Joi.string().allow(""),
957
+
958
+ uid: Joi.string().allow(""),
961
959
 
962
960
  meta: Joi.any(),
963
961
 
964
- is_active: Joi.boolean(),
962
+ visible_facets_keys: Joi.array().items(Joi.string().allow("")),
965
963
 
966
- app_id: Joi.string().allow(""),
964
+ badge: Joi.any(),
967
965
 
968
- type: Joi.string().allow(""),
966
+ sort_on: Joi.string().allow(""),
969
967
 
970
- allow_facets: Joi.boolean(),
968
+ banners: CatalogModel.ImageUrls(),
971
969
 
972
- _schedule: Joi.any(),
970
+ is_active: Joi.boolean(),
973
971
 
974
972
  tag: Joi.array().items(Joi.string().allow("")),
975
973
 
976
- logo: CatalogModel.Media(),
974
+ name: Joi.string().allow(""),
977
975
 
978
976
  description: Joi.string().allow(""),
979
977
 
980
- allow_sort: Joi.boolean(),
978
+ _custom_json: Joi.any(),
981
979
 
982
- priority: Joi.number(),
980
+ _schedule: Joi.any(),
983
981
 
984
- _custom_json: Joi.any(),
982
+ action: CatalogModel.ProductListingAction(),
985
983
 
986
- uid: Joi.string().allow(""),
984
+ app_id: Joi.string().allow(""),
987
985
 
988
- badge: Joi.any(),
986
+ priority: Joi.number(),
989
987
 
990
- name: Joi.string().allow(""),
988
+ allow_sort: Joi.boolean(),
989
+
990
+ slug: Joi.string().allow(""),
991
991
  });
992
992
  }
993
993
 
994
994
  static GetCollectionListingResponse() {
995
995
  return Joi.object({
996
+ page: CatalogModel.Page().required(),
997
+
996
998
  filters: CatalogModel.CollectionListingFilter(),
997
999
 
998
1000
  items: Joi.array().items(CatalogModel.GetCollectionDetailNest()),
999
-
1000
- page: CatalogModel.Page().required(),
1001
1001
  });
1002
1002
  }
1003
1003
 
1004
1004
  static CollectionDetailResponse() {
1005
1005
  return Joi.object({
1006
- banners: CatalogModel.ImageUrls(),
1007
-
1008
- slug: Joi.string().allow(""),
1006
+ query: Joi.array().items(CatalogModel.CollectionQuery()),
1009
1007
 
1010
- sort_on: Joi.string().allow(""),
1008
+ allow_facets: Joi.boolean(),
1011
1009
 
1012
- visible_facets_keys: Joi.array().items(Joi.string().allow("")),
1010
+ logo: CatalogModel.Media(),
1013
1011
 
1014
1012
  cron: Joi.any(),
1015
1013
 
1016
- query: Joi.array().items(CatalogModel.CollectionQuery()),
1014
+ type: Joi.string().allow(""),
1017
1015
 
1018
1016
  meta: Joi.any(),
1019
1017
 
1020
- is_active: Joi.boolean(),
1018
+ visible_facets_keys: Joi.array().items(Joi.string().allow("")),
1021
1019
 
1022
- app_id: Joi.string().allow(""),
1020
+ badge: Joi.any(),
1023
1021
 
1024
- type: Joi.string().allow(""),
1022
+ sort_on: Joi.string().allow(""),
1025
1023
 
1026
- allow_facets: Joi.boolean(),
1024
+ banners: CatalogModel.ImageUrls(),
1027
1025
 
1028
- _schedule: Joi.any(),
1026
+ is_active: Joi.boolean(),
1029
1027
 
1030
1028
  tag: Joi.array().items(Joi.string().allow("")),
1031
1029
 
1032
- logo: CatalogModel.Media(),
1030
+ name: Joi.string().allow(""),
1033
1031
 
1034
1032
  description: Joi.string().allow(""),
1035
1033
 
1036
- allow_sort: Joi.boolean(),
1034
+ _custom_json: Joi.any(),
1037
1035
 
1038
- priority: Joi.number(),
1036
+ _schedule: Joi.any(),
1039
1037
 
1040
- _custom_json: Joi.any(),
1038
+ app_id: Joi.string().allow(""),
1041
1039
 
1042
- badge: Joi.any(),
1040
+ priority: Joi.number(),
1043
1041
 
1044
- name: Joi.string().allow(""),
1042
+ allow_sort: Joi.boolean(),
1043
+
1044
+ slug: Joi.string().allow(""),
1045
1045
  });
1046
1046
  }
1047
1047
 
1048
1048
  static GetFollowListingResponse() {
1049
1049
  return Joi.object({
1050
- items: Joi.array().items(CatalogModel.ProductListingDetail()).required(),
1051
-
1052
1050
  page: CatalogModel.Page().required(),
1051
+
1052
+ items: Joi.array().items(CatalogModel.ProductListingDetail()).required(),
1053
1053
  });
1054
1054
  }
1055
1055
 
@@ -1069,11 +1069,11 @@ class CatalogModel {
1069
1069
 
1070
1070
  static FollowIdsData() {
1071
1071
  return Joi.object({
1072
+ products: Joi.array().items(Joi.number()),
1073
+
1072
1074
  collections: Joi.array().items(Joi.number()),
1073
1075
 
1074
1076
  brands: Joi.array().items(Joi.number()),
1075
-
1076
- products: Joi.array().items(Joi.number()),
1077
1077
  });
1078
1078
  }
1079
1079
 
@@ -1085,135 +1085,135 @@ class CatalogModel {
1085
1085
 
1086
1086
  static LatLong() {
1087
1087
  return Joi.object({
1088
- type: Joi.string().allow(""),
1089
-
1090
1088
  coordinates: Joi.array().items(Joi.number()),
1089
+
1090
+ type: Joi.string().allow(""),
1091
1091
  });
1092
1092
  }
1093
1093
 
1094
1094
  static Store() {
1095
1095
  return Joi.object({
1096
- store_code: Joi.string().allow(""),
1097
-
1098
- address: Joi.string().allow(""),
1099
-
1100
- state: Joi.string().allow(""),
1096
+ pincode: Joi.number(),
1101
1097
 
1102
- uid: Joi.number(),
1098
+ lat_long: CatalogModel.LatLong(),
1103
1099
 
1104
- city: Joi.string().allow(""),
1100
+ address: Joi.string().allow(""),
1105
1101
 
1106
1102
  name: Joi.string().allow(""),
1107
1103
 
1108
1104
  store_email: Joi.string().allow(""),
1109
1105
 
1106
+ state: Joi.string().allow(""),
1107
+
1108
+ uid: Joi.number(),
1109
+
1110
1110
  country: Joi.string().allow(""),
1111
1111
 
1112
- pincode: Joi.number(),
1112
+ store_code: Joi.string().allow(""),
1113
1113
 
1114
- lat_long: CatalogModel.LatLong(),
1114
+ city: Joi.string().allow(""),
1115
1115
  });
1116
1116
  }
1117
1117
 
1118
1118
  static StoreListingResponse() {
1119
1119
  return Joi.object({
1120
- items: Joi.array().items(CatalogModel.Store()).required(),
1121
-
1122
1120
  page: CatalogModel.Page().required(),
1121
+
1122
+ items: Joi.array().items(CatalogModel.Store()).required(),
1123
1123
  });
1124
1124
  }
1125
1125
 
1126
1126
  static StoreDepartments() {
1127
1127
  return Joi.object({
1128
- priority_order: Joi.number(),
1129
-
1130
- uid: Joi.number(),
1128
+ logo: Joi.string().allow(""),
1131
1129
 
1132
1130
  name: Joi.string().allow(""),
1133
1131
 
1134
- logo: Joi.string().allow(""),
1132
+ priority_order: Joi.number(),
1133
+
1134
+ uid: Joi.number(),
1135
1135
 
1136
1136
  slug: Joi.string().allow(""),
1137
1137
  });
1138
1138
  }
1139
1139
 
1140
- static SellerPhoneNumber() {
1140
+ static CompanyStore() {
1141
1141
  return Joi.object({
1142
- country_code: Joi.number().required(),
1142
+ business_type: Joi.string().allow(""),
1143
1143
 
1144
- number: Joi.string().allow("").required(),
1144
+ company_type: Joi.string().allow(""),
1145
+
1146
+ uid: Joi.number(),
1147
+
1148
+ name: Joi.string().allow(""),
1145
1149
  });
1146
1150
  }
1147
1151
 
1148
1152
  static StoreAddressSerializer() {
1149
1153
  return Joi.object({
1150
- address1: Joi.string().allow(""),
1151
-
1152
1154
  pincode: Joi.number(),
1153
1155
 
1154
- longitude: Joi.number(),
1155
-
1156
- state: Joi.string().allow(""),
1156
+ landmark: Joi.string().allow(""),
1157
1157
 
1158
- city: Joi.string().allow(""),
1158
+ address1: Joi.string().allow(""),
1159
1159
 
1160
- country: Joi.string().allow(""),
1160
+ longitude: Joi.number(),
1161
1161
 
1162
- landmark: Joi.string().allow(""),
1162
+ state: Joi.string().allow(""),
1163
1163
 
1164
1164
  latitude: Joi.number(),
1165
1165
 
1166
1166
  address2: Joi.string().allow(""),
1167
+
1168
+ country: Joi.string().allow(""),
1169
+
1170
+ city: Joi.string().allow(""),
1167
1171
  });
1168
1172
  }
1169
1173
 
1170
- static CompanyStore() {
1174
+ static SellerPhoneNumber() {
1171
1175
  return Joi.object({
1172
- name: Joi.string().allow(""),
1173
-
1174
- uid: Joi.number(),
1175
-
1176
- company_type: Joi.string().allow(""),
1176
+ country_code: Joi.number().required(),
1177
1177
 
1178
- business_type: Joi.string().allow(""),
1178
+ number: Joi.string().allow("").required(),
1179
1179
  });
1180
1180
  }
1181
1181
 
1182
1182
  static StoreManagerSerializer() {
1183
1183
  return Joi.object({
1184
- name: Joi.string().allow(""),
1184
+ mobile_no: CatalogModel.SellerPhoneNumber(),
1185
1185
 
1186
1186
  email: Joi.string().allow(""),
1187
1187
 
1188
- mobile_no: CatalogModel.SellerPhoneNumber(),
1188
+ name: Joi.string().allow(""),
1189
1189
  });
1190
1190
  }
1191
1191
 
1192
1192
  static AppStore() {
1193
1193
  return Joi.object({
1194
- contact_numbers: Joi.array().items(CatalogModel.SellerPhoneNumber()),
1195
-
1196
- departments: Joi.array().items(CatalogModel.StoreDepartments()),
1194
+ company: CatalogModel.CompanyStore(),
1197
1195
 
1198
- uid: Joi.number(),
1196
+ address: CatalogModel.StoreAddressSerializer(),
1199
1197
 
1200
1198
  name: Joi.string().allow(""),
1201
1199
 
1202
- address: CatalogModel.StoreAddressSerializer(),
1200
+ manager: CatalogModel.StoreManagerSerializer(),
1203
1201
 
1204
- company: CatalogModel.CompanyStore(),
1202
+ contact_numbers: Joi.array().items(CatalogModel.SellerPhoneNumber()),
1205
1203
 
1206
- manager: CatalogModel.StoreManagerSerializer(),
1204
+ uid: Joi.number(),
1205
+
1206
+ departments: Joi.array().items(CatalogModel.StoreDepartments()),
1207
1207
  });
1208
1208
  }
1209
1209
 
1210
1210
  static ApplicationStoreListing() {
1211
1211
  return Joi.object({
1212
+ page: CatalogModel.Page(),
1213
+
1212
1214
  filters: Joi.array().items(CatalogModel.StoreDepartments()),
1213
1215
 
1214
1216
  items: Joi.array().items(CatalogModel.AppStore()),
1215
-
1216
- page: CatalogModel.Page(),
1217
1217
  });
1218
1218
  }
1219
1219
 
@@ -1227,35 +1227,35 @@ class CatalogModel {
1227
1227
 
1228
1228
  static StoreTiming() {
1229
1229
  return Joi.object({
1230
+ closing: CatalogModel.Time(),
1231
+
1230
1232
  weekday: Joi.string().allow(""),
1231
1233
 
1232
1234
  open: Joi.boolean(),
1233
1235
 
1234
1236
  opening: CatalogModel.Time(),
1235
-
1236
- closing: CatalogModel.Time(),
1237
1237
  });
1238
1238
  }
1239
1239
 
1240
1240
  static StoreDetails() {
1241
1241
  return Joi.object({
1242
- contact_numbers: Joi.array().items(CatalogModel.SellerPhoneNumber()),
1242
+ company: CatalogModel.CompanyStore(),
1243
1243
 
1244
- departments: Joi.array().items(CatalogModel.StoreDepartments()),
1244
+ address: CatalogModel.StoreAddressSerializer(),
1245
1245
 
1246
- _custom_json: Joi.any(),
1246
+ name: Joi.string().allow(""),
1247
1247
 
1248
- uid: Joi.number(),
1248
+ manager: CatalogModel.StoreManagerSerializer(),
1249
1249
 
1250
- timing: Joi.array().items(CatalogModel.StoreTiming()),
1250
+ contact_numbers: Joi.array().items(CatalogModel.SellerPhoneNumber()),
1251
1251
 
1252
- name: Joi.string().allow(""),
1252
+ timing: Joi.array().items(CatalogModel.StoreTiming()),
1253
1253
 
1254
- address: CatalogModel.StoreAddressSerializer(),
1254
+ uid: Joi.number(),
1255
1255
 
1256
- company: CatalogModel.CompanyStore(),
1256
+ departments: Joi.array().items(CatalogModel.StoreDepartments()),
1257
1257
 
1258
- manager: CatalogModel.StoreManagerSerializer(),
1258
+ _custom_json: Joi.any(),
1259
1259
  });
1260
1260
  }
1261
1261
 
@@ -1265,141 +1265,141 @@ class CatalogModel {
1265
1265
 
1266
1266
  user_id: Joi.string().allow("").required(),
1267
1267
 
1268
- contact: Joi.string().allow(""),
1269
-
1270
1268
  username: Joi.string().allow("").required(),
1269
+
1270
+ contact: Joi.string().allow(""),
1271
1271
  });
1272
1272
  }
1273
1273
 
1274
- static ProductDetails() {
1274
+ static ProductGroupPrice() {
1275
1275
  return Joi.object({
1276
- attributes: Joi.any(),
1276
+ currency: Joi.any(),
1277
1277
 
1278
- is_set: Joi.boolean(),
1278
+ max_marked: Joi.number(),
1279
1279
 
1280
- highlights: Joi.array().items(Joi.any()),
1280
+ max_effective: Joi.number(),
1281
1281
 
1282
- identifier: Joi.any(),
1282
+ min_marked: Joi.number(),
1283
1283
 
1284
- slug: Joi.any(),
1284
+ min_effective: Joi.number(),
1285
+ });
1286
+ }
1285
1287
 
1286
- images: Joi.array().items(Joi.any()),
1288
+ static Size() {
1289
+ return Joi.object({
1290
+ quantity: Joi.number(),
1287
1291
 
1288
- hsn_code: Joi.number(),
1292
+ is_available: Joi.boolean(),
1289
1293
 
1290
- has_variant: Joi.boolean(),
1294
+ value: Joi.any(),
1291
1295
 
1292
- brand_uid: Joi.number(),
1296
+ display: Joi.any(),
1297
+ });
1298
+ }
1293
1299
 
1294
- grouped_attributes: Joi.any(),
1300
+ static ProductDetails() {
1301
+ return Joi.object({
1302
+ attributes: Joi.any(),
1295
1303
 
1296
- item_code: Joi.any(),
1304
+ country_of_origin: Joi.any(),
1297
1305
 
1298
1306
  template_tag: Joi.any(),
1299
1307
 
1300
- rating: Joi.number(),
1301
-
1302
- country_of_origin: Joi.any(),
1308
+ short_description: Joi.any(),
1303
1309
 
1304
- rating_count: Joi.number(),
1310
+ has_variant: Joi.boolean(),
1305
1311
 
1306
1312
  media: Joi.array().items(Joi.any()),
1307
1313
 
1308
- description: Joi.any(),
1314
+ brand_uid: Joi.number(),
1309
1315
 
1310
- out_of_stock: Joi.boolean(),
1316
+ grouped_attributes: Joi.any(),
1311
1317
 
1312
- short_description: Joi.any(),
1318
+ rating: Joi.number(),
1313
1319
 
1314
1320
  image_nature: Joi.any(),
1315
1321
 
1316
1322
  name: Joi.any(),
1317
- });
1318
- }
1319
1323
 
1320
- static Size() {
1321
- return Joi.object({
1322
- value: Joi.any(),
1324
+ is_set: Joi.boolean(),
1323
1325
 
1324
- display: Joi.any(),
1326
+ description: Joi.any(),
1325
1327
 
1326
- is_available: Joi.boolean(),
1328
+ rating_count: Joi.number(),
1327
1329
 
1328
- quantity: Joi.number(),
1329
- });
1330
- }
1330
+ out_of_stock: Joi.boolean(),
1331
1331
 
1332
- static ProductGroupPrice() {
1333
- return Joi.object({
1334
- min_marked: Joi.number(),
1332
+ highlights: Joi.array().items(Joi.any()),
1335
1333
 
1336
- min_effective: Joi.number(),
1334
+ item_code: Joi.any(),
1337
1335
 
1338
- max_marked: Joi.number(),
1336
+ images: Joi.array().items(Joi.any()),
1339
1337
 
1340
- currency: Joi.any(),
1338
+ slug: Joi.any(),
1341
1339
 
1342
- max_effective: Joi.number(),
1340
+ hsn_code: Joi.number(),
1341
+
1342
+ identifier: Joi.any(),
1343
1343
  });
1344
1344
  }
1345
1345
 
1346
1346
  static ProductInGroup() {
1347
1347
  return Joi.object({
1348
- max_quantity: Joi.number().required(),
1349
-
1350
- product_details: CatalogModel.ProductDetails(),
1351
-
1352
- sizes: Joi.array().items(CatalogModel.Size()),
1353
-
1354
- min_quantity: Joi.number(),
1355
-
1356
1348
  price: CatalogModel.ProductGroupPrice(),
1357
1349
 
1350
+ auto_add_to_cart: Joi.boolean(),
1351
+
1358
1352
  allow_remove: Joi.boolean(),
1359
1353
 
1354
+ sizes: Joi.array().items(CatalogModel.Size()),
1355
+
1360
1356
  product_uid: Joi.number().required(),
1361
1357
 
1362
1358
  auto_select: Joi.boolean(),
1363
1359
 
1364
- auto_add_to_cart: Joi.boolean(),
1360
+ max_quantity: Joi.number().required(),
1361
+
1362
+ product_details: CatalogModel.ProductDetails(),
1363
+
1364
+ min_quantity: Joi.number(),
1365
1365
  });
1366
1366
  }
1367
1367
 
1368
1368
  static ProductGroupingModel() {
1369
1369
  return Joi.object({
1370
- choice: Joi.any(),
1370
+ _id: Joi.any(),
1371
1371
 
1372
- meta: Joi.any(),
1372
+ choice: Joi.any(),
1373
1373
 
1374
1374
  verified_by: CatalogModel.UserDetail(),
1375
1375
 
1376
- is_active: Joi.boolean(),
1377
-
1378
- same_store_assignment: Joi.boolean(),
1376
+ created_by: CatalogModel.UserDetail(),
1379
1377
 
1380
- products: Joi.array().items(CatalogModel.ProductInGroup()).required(),
1378
+ modified_on: Joi.string().allow("").required(),
1381
1379
 
1382
- created_on: Joi.string().allow("").required(),
1380
+ logo: Joi.string().allow("").allow(null),
1383
1381
 
1384
- _id: Joi.any(),
1382
+ is_active: Joi.boolean(),
1385
1383
 
1386
1384
  modified_by: CatalogModel.UserDetail(),
1387
1385
 
1388
- created_by: CatalogModel.UserDetail(),
1386
+ name: Joi.any().required(),
1389
1387
 
1390
- company_id: Joi.number(),
1388
+ same_store_assignment: Joi.boolean(),
1391
1389
 
1392
- modified_on: Joi.string().allow("").required(),
1390
+ page_visibility: Joi.array().items(Joi.any()),
1393
1391
 
1394
- name: Joi.any().required(),
1392
+ products: Joi.array().items(CatalogModel.ProductInGroup()).required(),
1395
1393
 
1396
- page_visibility: Joi.array().items(Joi.any()),
1394
+ created_on: Joi.string().allow("").required(),
1397
1395
 
1398
- logo: Joi.string().allow("").allow(null),
1396
+ meta: Joi.any(),
1399
1397
 
1400
1398
  slug: Joi.any(),
1401
1399
 
1402
1400
  verified_on: Joi.string().allow(""),
1401
+
1402
+ company_id: Joi.number(),
1403
1403
  });
1404
1404
  }
1405
1405
 
@@ -1409,42 +1409,54 @@ class CatalogModel {
1409
1409
  });
1410
1410
  }
1411
1411
 
1412
- static StrategyWiseListingSchemaV3() {
1412
+ static SellerV3() {
1413
1413
  return Joi.object({
1414
- tat: Joi.number(),
1414
+ uid: Joi.number(),
1415
1415
 
1416
- distance: Joi.number(),
1416
+ count: Joi.number(),
1417
1417
 
1418
- pincode: Joi.number(),
1418
+ name: Joi.string().allow(""),
1419
+ });
1420
+ }
1419
1421
 
1420
- quantity: Joi.number(),
1422
+ static ReturnConfigSchemaV3() {
1423
+ return Joi.object({
1424
+ returnable: Joi.boolean(),
1425
+
1426
+ unit: Joi.string().allow(""),
1427
+
1428
+ time: Joi.number(),
1421
1429
  });
1422
1430
  }
1423
1431
 
1424
- static ArticleAssignmentV3() {
1432
+ static ProductStockPriceV3() {
1425
1433
  return Joi.object({
1426
- strategy: Joi.string().allow(""),
1434
+ currency: Joi.string().allow(""),
1427
1435
 
1428
- level: Joi.string().allow(""),
1436
+ marked: Joi.number(),
1437
+
1438
+ effective: Joi.number(),
1429
1439
  });
1430
1440
  }
1431
1441
 
1432
- static ReturnConfigSchemaV3() {
1442
+ static StrategyWiseListingSchemaV3() {
1433
1443
  return Joi.object({
1434
- time: Joi.number(),
1444
+ pincode: Joi.number(),
1435
1445
 
1436
- unit: Joi.string().allow(""),
1446
+ distance: Joi.number(),
1437
1447
 
1438
- returnable: Joi.boolean(),
1448
+ tat: Joi.number(),
1449
+
1450
+ quantity: Joi.number(),
1439
1451
  });
1440
1452
  }
1441
1453
 
1442
1454
  static DetailsSchemaV3() {
1443
1455
  return Joi.object({
1444
- type: Joi.string().allow(""),
1445
-
1446
1456
  key: Joi.string().allow(""),
1447
1457
 
1458
+ type: Joi.string().allow(""),
1459
+
1448
1460
  value: Joi.string().allow(""),
1449
1461
  });
1450
1462
  }
@@ -1457,33 +1469,23 @@ class CatalogModel {
1457
1469
  });
1458
1470
  }
1459
1471
 
1460
- static StoreV3() {
1472
+ static ProductStockUnitPriceV3() {
1461
1473
  return Joi.object({
1462
- name: Joi.string().allow(""),
1463
-
1464
- uid: Joi.number(),
1474
+ price: Joi.number(),
1465
1475
 
1466
- count: Joi.number(),
1467
- });
1468
- }
1476
+ currency_symbol: Joi.string().allow(""),
1469
1477
 
1470
- static ProductStockUnitPriceV3() {
1471
- return Joi.object({
1472
1478
  unit: Joi.string().allow(""),
1473
1479
 
1474
1480
  currency_code: Joi.string().allow(""),
1475
-
1476
- currency_symbol: Joi.string().allow(""),
1477
-
1478
- price: Joi.number(),
1479
1481
  });
1480
1482
  }
1481
1483
 
1482
1484
  static ProductSetDistributionSizeV3() {
1483
1485
  return Joi.object({
1484
- size: Joi.string().allow(""),
1485
-
1486
1486
  pieces: Joi.number(),
1487
+
1488
+ size: Joi.string().allow(""),
1487
1489
  });
1488
1490
  }
1489
1491
 
@@ -1501,51 +1503,57 @@ class CatalogModel {
1501
1503
  });
1502
1504
  }
1503
1505
 
1504
- static ProductStockPriceV3() {
1506
+ static MarketPlaceSttributesSchemaV3() {
1505
1507
  return Joi.object({
1506
- marked: Joi.number(),
1507
-
1508
- currency: Joi.string().allow(""),
1508
+ details: Joi.array().items(CatalogModel.DetailsSchemaV3()),
1509
1509
 
1510
- effective: Joi.number(),
1510
+ title: Joi.string().allow(""),
1511
1511
  });
1512
1512
  }
1513
1513
 
1514
- static SellerV3() {
1514
+ static StoreV3() {
1515
1515
  return Joi.object({
1516
- name: Joi.string().allow(""),
1517
-
1518
1516
  uid: Joi.number(),
1519
1517
 
1520
1518
  count: Joi.number(),
1519
+
1520
+ name: Joi.string().allow(""),
1521
1521
  });
1522
1522
  }
1523
1523
 
1524
- static MarketPlaceSttributesSchemaV3() {
1524
+ static ArticleAssignmentV3() {
1525
1525
  return Joi.object({
1526
- details: Joi.array().items(CatalogModel.DetailsSchemaV3()),
1526
+ strategy: Joi.string().allow(""),
1527
1527
 
1528
- title: Joi.string().allow(""),
1528
+ level: Joi.string().allow(""),
1529
1529
  });
1530
1530
  }
1531
1531
 
1532
1532
  static ProductSizePriceResponseV3() {
1533
1533
  return Joi.object({
1534
- strategy_wise_listing: Joi.array().items(
1535
- CatalogModel.StrategyWiseListingSchemaV3()
1536
- ),
1537
-
1538
- is_gift: Joi.boolean(),
1534
+ seller: CatalogModel.SellerV3(),
1539
1535
 
1540
- article_assignment: CatalogModel.ArticleAssignmentV3(),
1536
+ seller_count: Joi.number(),
1541
1537
 
1542
1538
  return_config: CatalogModel.ReturnConfigSchemaV3(),
1543
1539
 
1540
+ pincode: Joi.number(),
1541
+
1542
+ price_per_piece: CatalogModel.ProductStockPriceV3(),
1543
+
1544
+ item_type: Joi.string().allow(""),
1545
+
1546
+ is_cod: Joi.boolean(),
1547
+
1548
+ strategy_wise_listing: Joi.array().items(
1549
+ CatalogModel.StrategyWiseListingSchemaV3()
1550
+ ),
1551
+
1544
1552
  grouped_attributes: Joi.array().items(
1545
1553
  CatalogModel.SellerGroupAttributes()
1546
1554
  ),
1547
1555
 
1548
- store: CatalogModel.StoreV3(),
1556
+ quantity: Joi.number(),
1549
1557
 
1550
1558
  article_id: Joi.string().allow(""),
1551
1559
 
@@ -1553,53 +1561,45 @@ class CatalogModel {
1553
1561
 
1554
1562
  set: CatalogModel.ProductSetV3(),
1555
1563
 
1556
- is_cod: Joi.boolean(),
1557
-
1558
- seller_count: Joi.number(),
1564
+ price: CatalogModel.ProductStockPriceV3(),
1559
1565
 
1560
1566
  special_badge: Joi.string().allow(""),
1561
1567
 
1562
- quantity: Joi.number(),
1563
-
1564
- discount: Joi.string().allow(""),
1568
+ is_gift: Joi.boolean(),
1565
1569
 
1566
- price_per_piece: CatalogModel.ProductStockPriceV3(),
1570
+ marketplace_attributes: Joi.array().items(
1571
+ CatalogModel.MarketPlaceSttributesSchemaV3()
1572
+ ),
1567
1573
 
1568
- price: CatalogModel.ProductStockPriceV3(),
1574
+ store: CatalogModel.StoreV3(),
1569
1575
 
1570
- item_type: Joi.string().allow(""),
1576
+ discount: Joi.string().allow(""),
1571
1577
 
1572
- seller: CatalogModel.SellerV3(),
1578
+ article_assignment: CatalogModel.ArticleAssignmentV3(),
1573
1579
 
1574
1580
  long_lat: Joi.array().items(Joi.number()),
1575
-
1576
- pincode: Joi.number(),
1577
-
1578
- marketplace_attributes: Joi.array().items(
1579
- CatalogModel.MarketPlaceSttributesSchemaV3()
1580
- ),
1581
1581
  });
1582
1582
  }
1583
1583
 
1584
1584
  static ProductSizeSellerFilterSchemaV3() {
1585
1585
  return Joi.object({
1586
+ is_selected: Joi.boolean(),
1587
+
1586
1588
  value: Joi.string().allow(""),
1587
1589
 
1588
1590
  name: Joi.string().allow(""),
1589
-
1590
- is_selected: Joi.boolean(),
1591
1591
  });
1592
1592
  }
1593
1593
 
1594
1594
  static ProductSizeSellersResponseV3() {
1595
1595
  return Joi.object({
1596
+ page: CatalogModel.Page().required(),
1597
+
1596
1598
  sort_on: Joi.array().items(
1597
1599
  CatalogModel.ProductSizeSellerFilterSchemaV3()
1598
1600
  ),
1599
1601
 
1600
1602
  items: Joi.array().items(CatalogModel.ProductSizePriceResponseV3()),
1601
-
1602
- page: CatalogModel.Page().required(),
1603
1603
  });
1604
1604
  }
1605
1605
  }