@gofynd/fdk-client-javascript 3.3.5 → 3.4.0

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 (166) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Cart/CartApplicationClient.d.ts +30 -30
  4. package/sdk/application/Cart/CartApplicationClient.js +30 -30
  5. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +36 -33
  6. package/sdk/application/Catalog/CatalogApplicationClient.js +54 -35
  7. package/sdk/application/Common/CommonApplicationClient.d.ts +2 -2
  8. package/sdk/application/Common/CommonApplicationClient.js +2 -2
  9. package/sdk/application/Communication/CommunicationApplicationClient.d.ts +3 -3
  10. package/sdk/application/Communication/CommunicationApplicationClient.js +3 -3
  11. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +16 -16
  12. package/sdk/application/Configuration/ConfigurationApplicationClient.js +16 -16
  13. package/sdk/application/Content/ContentApplicationClient.d.ts +24 -24
  14. package/sdk/application/Content/ContentApplicationClient.js +24 -24
  15. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +3 -3
  16. package/sdk/application/FileStorage/FileStorageApplicationClient.js +3 -3
  17. package/sdk/application/Finance/FinanceApplicationClient.d.ts +2 -2
  18. package/sdk/application/Finance/FinanceApplicationClient.js +2 -2
  19. package/sdk/application/Lead/LeadApplicationClient.d.ts +5 -5
  20. package/sdk/application/Lead/LeadApplicationClient.js +5 -5
  21. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +19 -9
  22. package/sdk/application/Logistic/LogisticApplicationClient.js +53 -9
  23. package/sdk/application/Order/OrderApplicationClient.d.ts +12 -12
  24. package/sdk/application/Order/OrderApplicationClient.js +12 -12
  25. package/sdk/application/Payment/PaymentApplicationClient.d.ts +46 -46
  26. package/sdk/application/Payment/PaymentApplicationClient.js +46 -46
  27. package/sdk/application/Rewards/RewardsApplicationClient.d.ts +7 -7
  28. package/sdk/application/Rewards/RewardsApplicationClient.js +7 -7
  29. package/sdk/application/Share/ShareApplicationClient.d.ts +7 -7
  30. package/sdk/application/Share/ShareApplicationClient.js +7 -7
  31. package/sdk/application/Theme/ThemeApplicationClient.d.ts +4 -4
  32. package/sdk/application/Theme/ThemeApplicationClient.js +4 -4
  33. package/sdk/application/User/UserApplicationClient.d.ts +47 -47
  34. package/sdk/application/User/UserApplicationClient.js +47 -47
  35. package/sdk/application/Webhook/WebhookApplicationClient.d.ts +1 -1
  36. package/sdk/application/Webhook/WebhookApplicationClient.js +1 -1
  37. package/sdk/partner/FileStorage/FileStoragePartnerClient.d.ts +6 -6
  38. package/sdk/partner/FileStorage/FileStoragePartnerClient.js +6 -6
  39. package/sdk/partner/Lead/LeadPartnerClient.d.ts +7 -7
  40. package/sdk/partner/Lead/LeadPartnerClient.js +7 -7
  41. package/sdk/partner/Lead/LeadPartnerModel.d.ts +2 -2
  42. package/sdk/partner/Lead/LeadPartnerModel.js +1 -1
  43. package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +25 -25
  44. package/sdk/partner/Logistics/LogisticsPartnerClient.js +25 -25
  45. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +6 -6
  46. package/sdk/partner/Logistics/LogisticsPartnerModel.js +3 -3
  47. package/sdk/partner/Theme/ThemePartnerClient.d.ts +24 -24
  48. package/sdk/partner/Theme/ThemePartnerClient.js +24 -24
  49. package/sdk/partner/Webhook/WebhookPartnerClient.d.ts +10 -10
  50. package/sdk/partner/Webhook/WebhookPartnerClient.js +10 -10
  51. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +7 -2
  52. package/sdk/partner/Webhook/WebhookPartnerModel.js +3 -1
  53. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.d.ts +3 -3
  54. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.js +3 -3
  55. package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +2 -2
  56. package/sdk/platform/Analytics/AnalyticsPlatformModel.js +1 -1
  57. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.d.ts +1 -1
  58. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +1 -1
  59. package/sdk/platform/Billing/BillingPlatformClient.d.ts +5 -5
  60. package/sdk/platform/Billing/BillingPlatformClient.js +5 -5
  61. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +62 -62
  62. package/sdk/platform/Cart/CartPlatformApplicationClient.js +62 -62
  63. package/sdk/platform/Cart/CartPlatformModel.d.ts +233 -3
  64. package/sdk/platform/Cart/CartPlatformModel.js +147 -1
  65. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +66 -66
  66. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +66 -66
  67. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +81 -79
  68. package/sdk/platform/Catalog/CatalogPlatformClient.js +93 -80
  69. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +89 -5
  70. package/sdk/platform/Catalog/CatalogPlatformModel.js +57 -3
  71. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +7 -2
  72. package/sdk/platform/Catalog/CatalogPlatformValidator.js +4 -2
  73. package/sdk/platform/Common/CommonPlatformClient.d.ts +2 -2
  74. package/sdk/platform/Common/CommonPlatformClient.js +2 -2
  75. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +67 -67
  76. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +67 -67
  77. package/sdk/platform/Communication/CommunicationPlatformClient.d.ts +1 -1
  78. package/sdk/platform/Communication/CommunicationPlatformClient.js +1 -1
  79. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +2 -2
  80. package/sdk/platform/Communication/CommunicationPlatformModel.js +1 -1
  81. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +14 -14
  82. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +14 -14
  83. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +2 -2
  84. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +1 -1
  85. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +32 -32
  86. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +32 -32
  87. package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +11 -11
  88. package/sdk/platform/Configuration/ConfigurationPlatformClient.js +11 -11
  89. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +19 -3
  90. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +16 -1
  91. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +107 -107
  92. package/sdk/platform/Content/ContentPlatformApplicationClient.js +107 -107
  93. package/sdk/platform/Content/ContentPlatformClient.d.ts +40 -40
  94. package/sdk/platform/Content/ContentPlatformClient.js +40 -40
  95. package/sdk/platform/Content/ContentPlatformModel.d.ts +2 -2
  96. package/sdk/platform/Content/ContentPlatformModel.js +1 -1
  97. package/sdk/platform/Discount/DiscountPlatformClient.d.ts +11 -11
  98. package/sdk/platform/Discount/DiscountPlatformClient.js +11 -11
  99. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +2 -2
  100. package/sdk/platform/Discount/DiscountPlatformModel.js +1 -1
  101. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +4 -4
  102. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +4 -4
  103. package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +6 -6
  104. package/sdk/platform/FileStorage/FileStoragePlatformClient.js +6 -6
  105. package/sdk/platform/Lead/LeadPlatformApplicationClient.d.ts +10 -10
  106. package/sdk/platform/Lead/LeadPlatformApplicationClient.js +10 -10
  107. package/sdk/platform/Lead/LeadPlatformClient.d.ts +9 -9
  108. package/sdk/platform/Lead/LeadPlatformClient.js +9 -9
  109. package/sdk/platform/Lead/LeadPlatformModel.d.ts +2 -2
  110. package/sdk/platform/Lead/LeadPlatformModel.js +1 -1
  111. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +5 -5
  112. package/sdk/platform/Order/OrderPlatformApplicationClient.js +5 -5
  113. package/sdk/platform/Order/OrderPlatformClient.d.ts +58 -58
  114. package/sdk/platform/Order/OrderPlatformClient.js +58 -58
  115. package/sdk/platform/Order/OrderPlatformModel.d.ts +29 -10
  116. package/sdk/platform/Order/OrderPlatformModel.js +28 -6
  117. package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +2 -2
  118. package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +2 -2
  119. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +51 -51
  120. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +51 -51
  121. package/sdk/platform/Payment/PaymentPlatformClient.d.ts +10 -10
  122. package/sdk/platform/Payment/PaymentPlatformClient.js +10 -10
  123. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2 -2
  124. package/sdk/platform/Payment/PaymentPlatformModel.js +1 -1
  125. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +12 -12
  126. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +12 -12
  127. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +2 -2
  128. package/sdk/platform/Rewards/RewardsPlatformModel.js +1 -1
  129. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +162 -39
  130. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +840 -73
  131. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +139 -1
  132. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +125 -0
  133. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +30 -30
  134. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +36 -30
  135. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +936 -62
  136. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +591 -33
  137. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +12 -0
  138. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +5 -0
  139. package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +5 -5
  140. package/sdk/platform/Share/SharePlatformApplicationClient.js +5 -5
  141. package/sdk/platform/Share/SharePlatformModel.d.ts +2 -2
  142. package/sdk/platform/Share/SharePlatformModel.js +1 -1
  143. package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +22 -22
  144. package/sdk/platform/Theme/ThemePlatformApplicationClient.js +22 -22
  145. package/sdk/platform/Theme/ThemePlatformClient.d.ts +4 -4
  146. package/sdk/platform/Theme/ThemePlatformClient.js +4 -4
  147. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +70 -34
  148. package/sdk/platform/User/UserPlatformApplicationClient.js +285 -34
  149. package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +38 -1
  150. package/sdk/platform/User/UserPlatformApplicationValidator.js +42 -0
  151. package/sdk/platform/User/UserPlatformModel.d.ts +430 -10
  152. package/sdk/platform/User/UserPlatformModel.js +276 -7
  153. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +9 -9
  154. package/sdk/platform/Webhook/WebhookPlatformClient.js +9 -9
  155. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +12 -2
  156. package/sdk/platform/Webhook/WebhookPlatformModel.js +5 -1
  157. package/sdk/public/Catalog/CatalogPublicClient.d.ts +1 -1
  158. package/sdk/public/Catalog/CatalogPublicClient.js +1 -1
  159. package/sdk/public/Configuration/ConfigurationPublicClient.d.ts +2 -2
  160. package/sdk/public/Configuration/ConfigurationPublicClient.js +2 -2
  161. package/sdk/public/Content/ContentPublicClient.d.ts +14 -14
  162. package/sdk/public/Content/ContentPublicClient.js +14 -14
  163. package/sdk/public/Partner/PartnerPublicClient.d.ts +1 -1
  164. package/sdk/public/Partner/PartnerPublicClient.js +1 -1
  165. package/sdk/public/Webhook/WebhookPublicClient.d.ts +5 -5
  166. package/sdk/public/Webhook/WebhookPublicClient.js +5 -5
@@ -1,5 +1,82 @@
1
1
  const Joi = require("joi");
2
2
 
3
+ /**
4
+ * @typedef FulfillmentOption
5
+ * @property {string} [name] - Name of the fulfillment option.
6
+ * @property {string} [slug] - Unique identifier for the fulfillment option.
7
+ * @property {number} [company_id] - The unique identifier of the company.
8
+ * @property {string} [application_id] - The unique identifier of the application.
9
+ * @property {string} [description] - Description of the fulfillment option.
10
+ * @property {boolean} [is_default] - Whether this is the default fulfillment option.
11
+ * @property {string} [type] - Type of fulfillment option.
12
+ * @property {string} [status] - Status of the fulfillment option.
13
+ * @property {BusinessUnit[]} [business_unit]
14
+ * @property {FulfillmentStores} [fulfillment_stores]
15
+ * @property {FulfillmentProducts} [products]
16
+ * @property {CourierPartnerSchemes} [cp_schemes]
17
+ * @property {string} [id] - Unique identifier for the fulfillment option.
18
+ */
19
+
20
+ /**
21
+ * @typedef FulfillmentOptionProducts
22
+ * @property {FulfillmentOptionProduct} [items]
23
+ * @property {Page} [page]
24
+ */
25
+
26
+ /**
27
+ * @typedef FulfillmentOptionStores
28
+ * @property {FulfillmentOptionStore[]} [items] - List of stores with their details.
29
+ * @property {Page} [page]
30
+ */
31
+
32
+ /**
33
+ * @typedef FulfillmentOptionBulkValidate
34
+ * @property {string} [store_type] - Type of store related to fulfillment.
35
+ * @property {string} [file_path] - URL of the uploaded file.
36
+ * @property {string} [action] - Action to be performed, such as import.
37
+ * @property {string} [type] - Entity type being processed.
38
+ * @property {string} [fulfillment_option_slug] - Slug representing the
39
+ * fulfillment option.
40
+ * @property {FulfillmentOptionValidate} [request]
41
+ */
42
+
43
+ /**
44
+ * @typedef FulfillmentOptionBulkValidateData
45
+ * @property {string} [request_id] - Unique id generated for bulk operation.
46
+ */
47
+
48
+ /**
49
+ * @typedef FulfillmentOptionBulk
50
+ * @property {string} [file_path] - The URL of file from which data will be imported.
51
+ * @property {string} [type] - Specifies the type of bulk fulfillment request.
52
+ */
53
+
54
+ /**
55
+ * @typedef FulfillmentOptionBulkData
56
+ * @property {string} [request_id] - Unique identifier for the request.
57
+ * @property {FulfillmentOptionValidate} [request]
58
+ * @property {string} [fulfillment_option_slug] - Slug representing the
59
+ * fulfillment option.
60
+ * @property {string} [file_url] - URL of the uploaded file.
61
+ * @property {number} [total] - Total number of records processed.
62
+ * @property {number} [success] - Number of successful records.
63
+ * @property {number} [failed] - Number of failed records.
64
+ * @property {string} [action] - Action performed in the request.
65
+ * @property {string} [updated_at] - Timestamp of the last update.
66
+ * @property {string} [updated_by] - Identifier of the user who updated the request.
67
+ * @property {string} [type] - Type of the bulk import process.
68
+ * @property {number} [company_id] - The unique identifier of the company.
69
+ * @property {string} [application_id] - The unique identifier of the application.
70
+ * @property {string} [stage] - Current stage of the import process.
71
+ */
72
+
73
+ /**
74
+ * @typedef OperationResponseSchema
75
+ * @property {boolean} success - Indicates if the operation was successful
76
+ * @property {string} [message] - Optional message providing additional
77
+ * information about the operation
78
+ */
79
+
3
80
  /**
4
81
  * @typedef SelfshipSchema
5
82
  * @property {number} tat - Turn around time in the specified unit, used to
@@ -98,11 +175,13 @@ const Joi = require("joi");
98
175
 
99
176
  /**
100
177
  * @typedef CreateZoneDataSchema
178
+ * @property {string} [fulfillment_option_slug] - Slug representing the
179
+ * fulfillment option.
101
180
  * @property {boolean} is_active - Indicates whether the zone is active or not.
102
181
  * @property {string} slug - Slug or URL-friendly version of the zone name.
103
182
  * @property {string} name - Name of the zone.
104
- * @property {number} company_id - Identifier of the company associated with the zone.
105
- * @property {string} application_id - Identifier for the application related to the zone.
183
+ * @property {number} company_id - The unique identifier of the company.
184
+ * @property {string} application_id - The unique identifier of the application.
106
185
  * @property {string[]} geo_areas - List of geographical areas associated with the zone.
107
186
  * @property {ZoneStores} stores
108
187
  * @property {ZoneProduct} product
@@ -128,9 +207,11 @@ const Joi = require("joi");
128
207
  /**
129
208
  * @typedef ZoneSchema
130
209
  * @property {Object} name - Name of the zone.
210
+ * @property {string} [fulfillment_option_slug] - Slug representing the
211
+ * fulfillment option.
131
212
  * @property {Object} slug - Slug identifier for the zone.
132
- * @property {Object} company_id - Id of the company that owns the zone.
133
- * @property {Object} application_id - Application Id associated with the zone.
213
+ * @property {Object} company_id - The unique identifier of the company.
214
+ * @property {Object} application_id - The unique identifier of the application.
134
215
  * @property {Object} is_active - Whether the zone is active or not.
135
216
  * @property {Object} geo_areas - List of geographical areas associated with the zone.
136
217
  * @property {Object} stores - List of stores in the zone, referencing a schema
@@ -889,7 +970,7 @@ const Joi = require("joi");
889
970
  * @property {string} [extension_id] - Unique identifier of courier partner extension.
890
971
  * @property {string} [scheme_id] - Unique identifier for the scheme, used to
891
972
  * fetch or modify scheme details.
892
- * @property {string} [company_id] - Unique identifier of company.
973
+ * @property {string} [company_id] - The unique identifier of the company.
893
974
  * @property {string} name - Name of the scheme.
894
975
  * @property {ArithmeticOperations} weight
895
976
  * @property {ArithmeticOperations} [volumetric_weight]
@@ -1178,6 +1259,196 @@ const Joi = require("joi");
1178
1259
  * @property {string[]} [sort] - An array of strings specifying sorting preferences.
1179
1260
  */
1180
1261
 
1262
+ /**
1263
+ * @typedef BusinessUnit
1264
+ * @property {string} [name] - Name of the business unit.
1265
+ * @property {boolean} [is_active] - Whether the business unit is active.
1266
+ */
1267
+
1268
+ /**
1269
+ * @typedef FulfillmentStores
1270
+ * @property {number[]} [values] - List of store IDs associated with this
1271
+ * fulfillment option.
1272
+ * @property {string} [type] - Whether fulfillment applies to all stores or
1273
+ * specific stores.
1274
+ */
1275
+
1276
+ /**
1277
+ * @typedef FulfillmentProducts
1278
+ * @property {number[]} [values] - List of product IDs associated with this
1279
+ * fulfillment option.
1280
+ * @property {string} [type] - Whether fulfillment applies to all products or
1281
+ * specific products.
1282
+ */
1283
+
1284
+ /**
1285
+ * @typedef CourierPartnerSchemes
1286
+ * @property {CourierPartnerScheme[]} [values] - List of courier partner schemes
1287
+ * associated with this fulfillment option.
1288
+ * @property {string} [type] - Indicates whether all installed courier schemes
1289
+ * are used or only those specified by the seller.
1290
+ */
1291
+
1292
+ /**
1293
+ * @typedef CourierPartnerScheme
1294
+ * @property {string} [scheme_id] - Unique identifier for the courier partner scheme.
1295
+ * @property {string} [cp_ext_id] - Unique identifier for the courier partner.
1296
+ */
1297
+
1298
+ /**
1299
+ * @typedef FulfillmentOptionProduct
1300
+ * @property {number} [uid] - Unique identifier for the product.
1301
+ * @property {string} [name] - Name of the product.
1302
+ * @property {string} [slug] - Unique slug identifier for the product.
1303
+ * @property {string} [category_slug] - Slug identifier of the product's category.
1304
+ * @property {number} [category_uid] - Unique identifier for the product's category.
1305
+ * @property {string} [short_description] - Brief description of the product.
1306
+ * @property {string} [description] - Detailed description of the product in HTML format.
1307
+ * @property {number} [brand_uid] - Unique identifier for the brand.
1308
+ * @property {string} [currency] - Currency code used for product pricing.
1309
+ * @property {string} [item_code] - Unique code assigned to the product.
1310
+ * @property {string} [item_type] - Type of product (e.g., standard, set etc.).
1311
+ * @property {NetQuantity} [net_quantity]
1312
+ * @property {boolean} [multi_size] - Indicates if the product supports multiple sizes.
1313
+ * @property {boolean} [is_set] - Indicates if the product is a set of items.
1314
+ * @property {boolean} [is_dependent] - Indicates if the product depends on
1315
+ * another product.
1316
+ * @property {boolean} [is_active] - Status indicating if the product is active.
1317
+ * @property {boolean} [is_image_less_product] - Indicates if the product has no images.
1318
+ * @property {string} [size_guide] - URL or reference to the size guide.
1319
+ * @property {Object} [teaser_tag] - Teaser tag information for the product.
1320
+ * @property {string[]} [highlights] - Key highlights of the product.
1321
+ * @property {string[]} [tags] - Tags associated with the product.
1322
+ * @property {string[]} [product_group_tag] - Group tags assigned to the product.
1323
+ * @property {number[]} [departments] - Department identifiers associated with
1324
+ * the product.
1325
+ * @property {number} [company_id] - The unique identifier of the company.
1326
+ * @property {number[]} [company_ids] - List of company IDs associated with the product.
1327
+ * @property {string} [country_of_origin] - Country where the product is manufactured.
1328
+ * @property {string} [change_request_id] - Identifier for the change request
1329
+ * related to the product.
1330
+ * @property {Trader} [trader]
1331
+ * @property {string} [trader_type] - Type of trader (e.g., Manufacturer, Wholesaler).
1332
+ * @property {ProductPublish} [product_publish]
1333
+ * @property {TaxIdentifier} [tax_identifier]
1334
+ * @property {ReturnConfig} [return_config]
1335
+ * @property {CustomOrder} [custom_order]
1336
+ * @property {Size[]} [sizes] - Available sizes for the product.
1337
+ * @property {string[]} [media] - List of media assets related to the product.
1338
+ * @property {Object} [variant_media] - Media assets for different variants of
1339
+ * the product.
1340
+ * @property {Object} [variants] - Variant-specific details for the product.
1341
+ * @property {number} [no_of_boxes] - Number of boxes required for packaging the product.
1342
+ * @property {Object} [_custom_json] - Custom JSON data associated with the product.
1343
+ */
1344
+
1345
+ /**
1346
+ * @typedef NetQuantity
1347
+ * @property {number} [value] - The quantity value of the product.
1348
+ * @property {string} [unit] - The unit of measurement for the quantity.
1349
+ */
1350
+
1351
+ /**
1352
+ * @typedef Trader
1353
+ * @property {string} [name] - Name of the trader.
1354
+ * @property {string} [address] - Address of the trader.
1355
+ */
1356
+
1357
+ /**
1358
+ * @typedef ProductPublish
1359
+ * @property {string} [product_online_date] - Date when the product went online.
1360
+ * @property {boolean} [is_set] - Indicates if the product is part of a set.
1361
+ */
1362
+
1363
+ /**
1364
+ * @typedef TaxIdentifier
1365
+ * @property {string} [hsn_code] - HSN code assigned to the product.
1366
+ * @property {string} [hsn_code_id] - Identifier for the HSN code.
1367
+ * @property {string} [reporting_hsn] - Reporting HSN code.
1368
+ */
1369
+
1370
+ /**
1371
+ * @typedef ReturnConfig
1372
+ * @property {boolean} [returnable] - Indicates if the product is returnable.
1373
+ * @property {number} [time] - Time duration allowed for returns.
1374
+ * @property {string} [unit] - Unit of time for return duration.
1375
+ */
1376
+
1377
+ /**
1378
+ * @typedef CustomOrder
1379
+ * @property {boolean} [is_custom_order] - Indicates if the product is a custom order.
1380
+ * @property {number} [manufacturing_time] - Time required for manufacturing the product.
1381
+ * @property {string} [manufacturing_time_unit] - Unit of time for manufacturing.
1382
+ */
1383
+
1384
+ /**
1385
+ * @typedef Size
1386
+ * @property {string} [size] - Size label of the product.
1387
+ * @property {number} [size_priority] - Priority assigned to the size.
1388
+ * @property {string} [item_dimensions_unit_of_measure] - Unit of measure for
1389
+ * item dimensions.
1390
+ * @property {number} [price_transfer] - Transfer price of the product.
1391
+ * @property {number} [item_height] - Height of the product.
1392
+ * @property {number} [item_length] - Length of the product.
1393
+ * @property {number} [item_width] - Width of the product.
1394
+ * @property {number} [item_weight] - Weight of the product.
1395
+ * @property {string} [item_weight_unit_of_measure] - Unit of measure for item weight.
1396
+ * @property {number} [price] - Selling price of the product.
1397
+ * @property {number} [price_effective] - Effective price after discounts.
1398
+ * @property {boolean} [is_set] - Indicates if the size belongs to a set.
1399
+ * @property {boolean} [track_inventory] - Indicates if inventory tracking is enabled.
1400
+ * @property {Identifier[]} [identifiers] - Unique identifiers associated with the size.
1401
+ * @property {Object} [_custom_json] - Custom JSON data associated with the size.
1402
+ */
1403
+
1404
+ /**
1405
+ * @typedef Identifier
1406
+ * @property {string} [gtin_type] - Type of GTIN identifier (e.g., SKU, UPC, EAN).
1407
+ * @property {string} [gtin_value] - Value of the GTIN identifier.
1408
+ * @property {boolean} [primary] - Indicates if this is the primary identifier.
1409
+ */
1410
+
1411
+ /**
1412
+ * @typedef Page
1413
+ * @property {number} [item_total] - The total number of all items across all pages.
1414
+ * @property {string} [next_id] - The identifier for the next page.
1415
+ * @property {boolean} [has_previous] - Indicates whether there is a previous page.
1416
+ * @property {boolean} [has_next] - Indicates whether there is a next page.
1417
+ * @property {number} [current] - The current page number.
1418
+ * @property {string} type - The type of the page, such as 'PageType'.
1419
+ * @property {number} [size] - The number of items per page.
1420
+ * @property {number} [page_size] - The number of items per page.
1421
+ */
1422
+
1423
+ /**
1424
+ * @typedef FulfillmentOptionStore
1425
+ * @property {number} [uid] - Unique identifier for the store.
1426
+ * @property {Address} [address]
1427
+ * @property {number} [company_id] - The unique identifier of the company.
1428
+ * @property {string} [display_name] - Store name displayed in the UI.
1429
+ * @property {string} [name] - Name of the store.
1430
+ * @property {string} [store_type] - Type of store (e.g., high_street, mall).
1431
+ * @property {string[]} [tags] - Tags associated with the store.
1432
+ */
1433
+
1434
+ /**
1435
+ * @typedef Address
1436
+ * @property {string} [address1] - Primary address line.
1437
+ * @property {string} [country] - Country where the store is located.
1438
+ * @property {string} [pincode] - Postal code of the store location.
1439
+ * @property {string} [city] - City where the store is located.
1440
+ * @property {string} [state] - State where the store is located.
1441
+ * @property {number} [latitude] - Latitude coordinate of the store.
1442
+ * @property {number} [longitude] - Longitude coordinate of the store.
1443
+ * @property {string} [country_code] - ISO country code of the store location.
1444
+ */
1445
+
1446
+ /**
1447
+ * @typedef FulfillmentOptionValidate
1448
+ * @property {string} [entity_filter_type] - Type of entity filter applied.
1449
+ * @property {string} [fulfillment_option_type] - Type of fulfillment option selected.
1450
+ */
1451
+
1181
1452
  /**
1182
1453
  * @typedef ProductSchema
1183
1454
  * @property {string} type - The classification of product type used in the
@@ -1213,8 +1484,8 @@ const Joi = require("joi");
1213
1484
  * @property {ListViewProduct} stores
1214
1485
  * @property {boolean} is_active - Indicates if the zone is active.
1215
1486
  * @property {ListViewProduct} product
1216
- * @property {number} company_id - Unique identifier for the company.
1217
- * @property {string} application_id - Unique identifier for the application.
1487
+ * @property {number} company_id - The unique identifier of the company.
1488
+ * @property {string} application_id - The unique identifier of the application.
1218
1489
  * @property {CreatedBy} created_by
1219
1490
  * @property {ModifiedBy} modified_by
1220
1491
  * @property {string} created_on - The timestamp when the record was created.
@@ -1249,18 +1520,6 @@ const Joi = require("joi");
1249
1520
  * @property {number} [count] - Count of items in the region.
1250
1521
  */
1251
1522
 
1252
- /**
1253
- * @typedef Page
1254
- * @property {number} [item_total] - The total number of items on the page.
1255
- * @property {string} [next_id] - The identifier for the next page.
1256
- * @property {boolean} [has_previous] - Indicates whether there is a previous page.
1257
- * @property {boolean} [has_next] - Indicates whether there is a next page.
1258
- * @property {number} [current] - The current page number.
1259
- * @property {string} type - The type of the page, such as 'PageType'.
1260
- * @property {number} [size] - The number of items per page.
1261
- * @property {number} [page_size] - The number of items per page.
1262
- */
1263
-
1264
1523
  /**
1265
1524
  * @typedef ZoneStores
1266
1525
  * @property {Object} type - Type of zone store.
@@ -2244,6 +2503,100 @@ const Joi = require("joi");
2244
2503
  */
2245
2504
 
2246
2505
  class ServiceabilityPlatformModel {
2506
+ /** @returns {FulfillmentOption} */
2507
+ static FulfillmentOption() {
2508
+ return Joi.object({
2509
+ name: Joi.string().allow(""),
2510
+ slug: Joi.string().allow(""),
2511
+ company_id: Joi.number(),
2512
+ application_id: Joi.string().allow(""),
2513
+ description: Joi.string().allow(""),
2514
+ is_default: Joi.boolean(),
2515
+ type: Joi.string().allow(""),
2516
+ status: Joi.string().allow(""),
2517
+ business_unit: Joi.array().items(
2518
+ ServiceabilityPlatformModel.BusinessUnit()
2519
+ ),
2520
+ fulfillment_stores: ServiceabilityPlatformModel.FulfillmentStores(),
2521
+ products: ServiceabilityPlatformModel.FulfillmentProducts(),
2522
+ cp_schemes: ServiceabilityPlatformModel.CourierPartnerSchemes(),
2523
+ id: Joi.string().allow(""),
2524
+ });
2525
+ }
2526
+
2527
+ /** @returns {FulfillmentOptionProducts} */
2528
+ static FulfillmentOptionProducts() {
2529
+ return Joi.object({
2530
+ items: ServiceabilityPlatformModel.FulfillmentOptionProduct(),
2531
+ page: ServiceabilityPlatformModel.Page(),
2532
+ });
2533
+ }
2534
+
2535
+ /** @returns {FulfillmentOptionStores} */
2536
+ static FulfillmentOptionStores() {
2537
+ return Joi.object({
2538
+ items: Joi.array().items(
2539
+ ServiceabilityPlatformModel.FulfillmentOptionStore()
2540
+ ),
2541
+ page: ServiceabilityPlatformModel.Page(),
2542
+ });
2543
+ }
2544
+
2545
+ /** @returns {FulfillmentOptionBulkValidate} */
2546
+ static FulfillmentOptionBulkValidate() {
2547
+ return Joi.object({
2548
+ store_type: Joi.string().allow(""),
2549
+ file_path: Joi.string().allow(""),
2550
+ action: Joi.string().allow(""),
2551
+ type: Joi.string().allow(""),
2552
+ fulfillment_option_slug: Joi.string().allow(""),
2553
+ request: ServiceabilityPlatformModel.FulfillmentOptionValidate(),
2554
+ });
2555
+ }
2556
+
2557
+ /** @returns {FulfillmentOptionBulkValidateData} */
2558
+ static FulfillmentOptionBulkValidateData() {
2559
+ return Joi.object({
2560
+ request_id: Joi.string().allow(""),
2561
+ });
2562
+ }
2563
+
2564
+ /** @returns {FulfillmentOptionBulk} */
2565
+ static FulfillmentOptionBulk() {
2566
+ return Joi.object({
2567
+ file_path: Joi.string().allow(""),
2568
+ type: Joi.string().allow(""),
2569
+ });
2570
+ }
2571
+
2572
+ /** @returns {FulfillmentOptionBulkData} */
2573
+ static FulfillmentOptionBulkData() {
2574
+ return Joi.object({
2575
+ request_id: Joi.string().allow(""),
2576
+ request: ServiceabilityPlatformModel.FulfillmentOptionValidate(),
2577
+ fulfillment_option_slug: Joi.string().allow(""),
2578
+ file_url: Joi.string().allow(""),
2579
+ total: Joi.number(),
2580
+ success: Joi.number(),
2581
+ failed: Joi.number(),
2582
+ action: Joi.string().allow(""),
2583
+ updated_at: Joi.string().allow(""),
2584
+ updated_by: Joi.string().allow("").allow(null),
2585
+ type: Joi.string().allow(""),
2586
+ company_id: Joi.number(),
2587
+ application_id: Joi.string().allow(""),
2588
+ stage: Joi.string().allow(""),
2589
+ });
2590
+ }
2591
+
2592
+ /** @returns {OperationResponseSchema} */
2593
+ static OperationResponseSchema() {
2594
+ return Joi.object({
2595
+ success: Joi.boolean().required(),
2596
+ message: Joi.string().allow(""),
2597
+ });
2598
+ }
2599
+
2247
2600
  /** @returns {SelfshipSchema} */
2248
2601
  static SelfshipSchema() {
2249
2602
  return Joi.object({
@@ -2353,6 +2706,7 @@ class ServiceabilityPlatformModel {
2353
2706
  /** @returns {CreateZoneDataSchema} */
2354
2707
  static CreateZoneDataSchema() {
2355
2708
  return Joi.object({
2709
+ fulfillment_option_slug: Joi.string().allow("").allow(null),
2356
2710
  is_active: Joi.boolean().required(),
2357
2711
  slug: Joi.string().allow("").required(),
2358
2712
  name: Joi.string().allow("").required(),
@@ -2390,6 +2744,7 @@ class ServiceabilityPlatformModel {
2390
2744
  static ZoneSchema() {
2391
2745
  return Joi.object({
2392
2746
  name: Joi.any().required(),
2747
+ fulfillment_option_slug: Joi.string().allow("").allow(null),
2393
2748
  slug: Joi.any().required(),
2394
2749
  company_id: Joi.any().required(),
2395
2750
  application_id: Joi.any().required(),
@@ -3493,6 +3848,223 @@ class ServiceabilityPlatformModel {
3493
3848
  });
3494
3849
  }
3495
3850
 
3851
+ /** @returns {BusinessUnit} */
3852
+ static BusinessUnit() {
3853
+ return Joi.object({
3854
+ name: Joi.string().allow(""),
3855
+ is_active: Joi.boolean(),
3856
+ });
3857
+ }
3858
+
3859
+ /** @returns {FulfillmentStores} */
3860
+ static FulfillmentStores() {
3861
+ return Joi.object({
3862
+ values: Joi.array().items(Joi.number()),
3863
+ type: Joi.string().allow(""),
3864
+ });
3865
+ }
3866
+
3867
+ /** @returns {FulfillmentProducts} */
3868
+ static FulfillmentProducts() {
3869
+ return Joi.object({
3870
+ values: Joi.array().items(Joi.number()),
3871
+ type: Joi.string().allow(""),
3872
+ });
3873
+ }
3874
+
3875
+ /** @returns {CourierPartnerSchemes} */
3876
+ static CourierPartnerSchemes() {
3877
+ return Joi.object({
3878
+ values: Joi.array().items(
3879
+ ServiceabilityPlatformModel.CourierPartnerScheme()
3880
+ ),
3881
+ type: Joi.string().allow(""),
3882
+ });
3883
+ }
3884
+
3885
+ /** @returns {CourierPartnerScheme} */
3886
+ static CourierPartnerScheme() {
3887
+ return Joi.object({
3888
+ scheme_id: Joi.string().allow(""),
3889
+ cp_ext_id: Joi.string().allow(""),
3890
+ });
3891
+ }
3892
+
3893
+ /** @returns {FulfillmentOptionProduct} */
3894
+ static FulfillmentOptionProduct() {
3895
+ return Joi.object({
3896
+ uid: Joi.number(),
3897
+ name: Joi.string().allow(""),
3898
+ slug: Joi.string().allow(""),
3899
+ category_slug: Joi.string().allow(""),
3900
+ category_uid: Joi.number(),
3901
+ short_description: Joi.string().allow(""),
3902
+ description: Joi.string().allow(""),
3903
+ brand_uid: Joi.number(),
3904
+ currency: Joi.string().allow(""),
3905
+ item_code: Joi.string().allow(""),
3906
+ item_type: Joi.string().allow(""),
3907
+ net_quantity: ServiceabilityPlatformModel.NetQuantity(),
3908
+ multi_size: Joi.boolean(),
3909
+ is_set: Joi.boolean(),
3910
+ is_dependent: Joi.boolean(),
3911
+ is_active: Joi.boolean(),
3912
+ is_image_less_product: Joi.boolean(),
3913
+ size_guide: Joi.string().allow(""),
3914
+ teaser_tag: Joi.object().pattern(/\S/, Joi.any()),
3915
+ highlights: Joi.array().items(Joi.string().allow("")),
3916
+ tags: Joi.array().items(Joi.string().allow("")),
3917
+ product_group_tag: Joi.array().items(Joi.string().allow("")),
3918
+ departments: Joi.array().items(Joi.number()),
3919
+ company_id: Joi.number(),
3920
+ company_ids: Joi.array().items(Joi.number()),
3921
+ country_of_origin: Joi.string().allow(""),
3922
+ change_request_id: Joi.string().allow(""),
3923
+ trader: ServiceabilityPlatformModel.Trader(),
3924
+ trader_type: Joi.string().allow(""),
3925
+ product_publish: ServiceabilityPlatformModel.ProductPublish(),
3926
+ tax_identifier: ServiceabilityPlatformModel.TaxIdentifier(),
3927
+ return_config: ServiceabilityPlatformModel.ReturnConfig(),
3928
+ custom_order: ServiceabilityPlatformModel.CustomOrder(),
3929
+ sizes: Joi.array().items(ServiceabilityPlatformModel.Size()),
3930
+ media: Joi.array().items(Joi.string().allow("")),
3931
+ variant_media: Joi.object().pattern(/\S/, Joi.any()),
3932
+ variants: Joi.object().pattern(/\S/, Joi.any()),
3933
+ no_of_boxes: Joi.number(),
3934
+ _custom_json: Joi.object().pattern(/\S/, Joi.any()),
3935
+ });
3936
+ }
3937
+
3938
+ /** @returns {NetQuantity} */
3939
+ static NetQuantity() {
3940
+ return Joi.object({
3941
+ value: Joi.number(),
3942
+ unit: Joi.string().allow(""),
3943
+ });
3944
+ }
3945
+
3946
+ /** @returns {Trader} */
3947
+ static Trader() {
3948
+ return Joi.object({
3949
+ name: Joi.string().allow(""),
3950
+ address: Joi.string().allow(""),
3951
+ });
3952
+ }
3953
+
3954
+ /** @returns {ProductPublish} */
3955
+ static ProductPublish() {
3956
+ return Joi.object({
3957
+ product_online_date: Joi.string().allow(""),
3958
+ is_set: Joi.boolean(),
3959
+ });
3960
+ }
3961
+
3962
+ /** @returns {TaxIdentifier} */
3963
+ static TaxIdentifier() {
3964
+ return Joi.object({
3965
+ hsn_code: Joi.string().allow(""),
3966
+ hsn_code_id: Joi.string().allow(""),
3967
+ reporting_hsn: Joi.string().allow(""),
3968
+ });
3969
+ }
3970
+
3971
+ /** @returns {ReturnConfig} */
3972
+ static ReturnConfig() {
3973
+ return Joi.object({
3974
+ returnable: Joi.boolean(),
3975
+ time: Joi.number(),
3976
+ unit: Joi.string().allow(""),
3977
+ });
3978
+ }
3979
+
3980
+ /** @returns {CustomOrder} */
3981
+ static CustomOrder() {
3982
+ return Joi.object({
3983
+ is_custom_order: Joi.boolean(),
3984
+ manufacturing_time: Joi.number(),
3985
+ manufacturing_time_unit: Joi.string().allow(""),
3986
+ });
3987
+ }
3988
+
3989
+ /** @returns {Size} */
3990
+ static Size() {
3991
+ return Joi.object({
3992
+ size: Joi.string().allow(""),
3993
+ size_priority: Joi.number(),
3994
+ item_dimensions_unit_of_measure: Joi.string().allow(""),
3995
+ price_transfer: Joi.number(),
3996
+ item_height: Joi.number(),
3997
+ item_length: Joi.number(),
3998
+ item_width: Joi.number(),
3999
+ item_weight: Joi.number(),
4000
+ item_weight_unit_of_measure: Joi.string().allow(""),
4001
+ price: Joi.number(),
4002
+ price_effective: Joi.number(),
4003
+ is_set: Joi.boolean(),
4004
+ track_inventory: Joi.boolean(),
4005
+ identifiers: Joi.array().items(ServiceabilityPlatformModel.Identifier()),
4006
+ _custom_json: Joi.any(),
4007
+ });
4008
+ }
4009
+
4010
+ /** @returns {Identifier} */
4011
+ static Identifier() {
4012
+ return Joi.object({
4013
+ gtin_type: Joi.string().allow(""),
4014
+ gtin_value: Joi.string().allow(""),
4015
+ primary: Joi.boolean(),
4016
+ });
4017
+ }
4018
+
4019
+ /** @returns {Page} */
4020
+ static Page() {
4021
+ return Joi.object({
4022
+ item_total: Joi.number(),
4023
+ next_id: Joi.string().allow(""),
4024
+ has_previous: Joi.boolean(),
4025
+ has_next: Joi.boolean(),
4026
+ current: Joi.number(),
4027
+ type: Joi.string().allow("").required(),
4028
+ size: Joi.number(),
4029
+ page_size: Joi.number(),
4030
+ });
4031
+ }
4032
+
4033
+ /** @returns {FulfillmentOptionStore} */
4034
+ static FulfillmentOptionStore() {
4035
+ return Joi.object({
4036
+ uid: Joi.number(),
4037
+ address: ServiceabilityPlatformModel.Address(),
4038
+ company_id: Joi.number(),
4039
+ display_name: Joi.string().allow(""),
4040
+ name: Joi.string().allow(""),
4041
+ store_type: Joi.string().allow(""),
4042
+ tags: Joi.array().items(Joi.string().allow("")),
4043
+ });
4044
+ }
4045
+
4046
+ /** @returns {Address} */
4047
+ static Address() {
4048
+ return Joi.object({
4049
+ address1: Joi.string().allow(""),
4050
+ country: Joi.string().allow(""),
4051
+ pincode: Joi.string().allow(""),
4052
+ city: Joi.string().allow(""),
4053
+ state: Joi.string().allow(""),
4054
+ latitude: Joi.number(),
4055
+ longitude: Joi.number(),
4056
+ country_code: Joi.string().allow(""),
4057
+ });
4058
+ }
4059
+
4060
+ /** @returns {FulfillmentOptionValidate} */
4061
+ static FulfillmentOptionValidate() {
4062
+ return Joi.object({
4063
+ entity_filter_type: Joi.string().allow(""),
4064
+ fulfillment_option_type: Joi.string().allow(""),
4065
+ });
4066
+ }
4067
+
3496
4068
  /** @returns {ProductSchema} */
3497
4069
  static ProductSchema() {
3498
4070
  return Joi.object({
@@ -3580,20 +4152,6 @@ class ServiceabilityPlatformModel {
3580
4152
  });
3581
4153
  }
3582
4154
 
3583
- /** @returns {Page} */
3584
- static Page() {
3585
- return Joi.object({
3586
- item_total: Joi.number(),
3587
- next_id: Joi.string().allow(""),
3588
- has_previous: Joi.boolean(),
3589
- has_next: Joi.boolean(),
3590
- current: Joi.number(),
3591
- type: Joi.string().allow("").required(),
3592
- size: Joi.number(),
3593
- page_size: Joi.number(),
3594
- });
3595
- }
3596
-
3597
4155
  /** @returns {ZoneStores} */
3598
4156
  static ZoneStores() {
3599
4157
  return Joi.object({