@gofynd/fdk-client-javascript 1.4.16-beta.4 → 1.4.16-beta.5

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 (239) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/ApplicationClient.d.ts +2 -0
  4. package/sdk/application/ApplicationClient.js +2 -0
  5. package/sdk/application/Cart/CartApplicationClient.d.ts +68 -48
  6. package/sdk/application/Cart/CartApplicationClient.js +118 -27
  7. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +59 -58
  8. package/sdk/application/Catalog/CatalogApplicationClient.js +30 -29
  9. package/sdk/application/Common/CommonApplicationClient.d.ts +2 -2
  10. package/sdk/application/Common/CommonApplicationClient.js +1 -1
  11. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +20 -20
  12. package/sdk/application/Configuration/ConfigurationApplicationClient.js +10 -10
  13. package/sdk/application/Content/ContentApplicationClient.d.ts +51 -30
  14. package/sdk/application/Content/ContentApplicationClient.js +161 -56
  15. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +9 -11
  16. package/sdk/application/FileStorage/FileStorageApplicationClient.js +7 -10
  17. package/sdk/application/Finance/FinanceApplicationClient.d.ts +29 -0
  18. package/sdk/application/Finance/FinanceApplicationClient.js +111 -0
  19. package/sdk/application/Lead/LeadApplicationClient.d.ts +2 -2
  20. package/sdk/application/Lead/LeadApplicationClient.js +1 -1
  21. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +35 -15
  22. package/sdk/application/Logistic/LogisticApplicationClient.js +101 -8
  23. package/sdk/application/Order/OrderApplicationClient.d.ts +22 -12
  24. package/sdk/application/Order/OrderApplicationClient.js +56 -8
  25. package/sdk/application/Payment/PaymentApplicationClient.d.ts +87 -87
  26. package/sdk/application/Payment/PaymentApplicationClient.js +46 -46
  27. package/sdk/application/Rewards/RewardsApplicationClient.d.ts +13 -13
  28. package/sdk/application/Rewards/RewardsApplicationClient.js +7 -7
  29. package/sdk/application/Theme/ThemeApplicationClient.d.ts +2 -2
  30. package/sdk/application/Theme/ThemeApplicationClient.js +4 -2
  31. package/sdk/application/User/UserApplicationClient.d.ts +10 -10
  32. package/sdk/application/User/UserApplicationClient.js +6 -6
  33. package/sdk/application/Webhook/WebhookApplicationClient.d.ts +4 -4
  34. package/sdk/application/Webhook/WebhookApplicationClient.js +3 -3
  35. package/sdk/partner/FileStorage/FileStoragePartnerClient.d.ts +86 -12
  36. package/sdk/partner/FileStorage/FileStoragePartnerClient.js +582 -24
  37. package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +116 -21
  38. package/sdk/partner/FileStorage/FileStoragePartnerModel.js +121 -16
  39. package/sdk/partner/FileStorage/FileStoragePartnerValidator.d.ts +8 -1
  40. package/sdk/partner/FileStorage/FileStoragePartnerValidator.js +51 -4
  41. package/sdk/partner/Lead/LeadPartnerClient.d.ts +2 -2
  42. package/sdk/partner/Lead/LeadPartnerClient.js +2 -2
  43. package/sdk/partner/Lead/LeadPartnerModel.d.ts +5 -5
  44. package/sdk/partner/Lead/LeadPartnerModel.js +15 -15
  45. package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +126 -20
  46. package/sdk/partner/Logistics/LogisticsPartnerClient.js +970 -20
  47. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +1200 -167
  48. package/sdk/partner/Logistics/LogisticsPartnerModel.js +571 -160
  49. package/sdk/partner/Logistics/LogisticsPartnerValidator.d.ts +10 -0
  50. package/sdk/partner/Logistics/LogisticsPartnerValidator.js +121 -7
  51. package/sdk/partner/Theme/ThemePartnerClient.d.ts +8 -10
  52. package/sdk/partner/Theme/ThemePartnerClient.js +14 -16
  53. package/sdk/partner/Theme/ThemePartnerModel.d.ts +96 -37
  54. package/sdk/partner/Theme/ThemePartnerModel.js +90 -36
  55. package/sdk/partner/Theme/ThemePartnerValidator.js +4 -4
  56. package/sdk/partner/Webhook/WebhookPartnerClient.d.ts +28 -18
  57. package/sdk/partner/Webhook/WebhookPartnerClient.js +103 -18
  58. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +612 -179
  59. package/sdk/partner/Webhook/WebhookPartnerModel.js +253 -150
  60. package/sdk/partner/Webhook/WebhookPartnerValidator.d.ts +1 -0
  61. package/sdk/partner/Webhook/WebhookPartnerValidator.js +11 -3
  62. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.d.ts +5 -4
  63. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.js +14 -8
  64. package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +59 -9
  65. package/sdk/platform/Analytics/AnalyticsPlatformModel.js +40 -4
  66. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.d.ts +2 -32
  67. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +3 -243
  68. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +11 -130
  69. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +12 -152
  70. package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.d.ts +1 -39
  71. package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.js +0 -35
  72. package/sdk/platform/Billing/BillingPlatformClient.d.ts +12 -12
  73. package/sdk/platform/Billing/BillingPlatformClient.js +15 -15
  74. package/sdk/platform/Billing/BillingPlatformModel.d.ts +443 -388
  75. package/sdk/platform/Billing/BillingPlatformModel.js +280 -263
  76. package/sdk/platform/Billing/BillingPlatformValidator.d.ts +16 -18
  77. package/sdk/platform/Billing/BillingPlatformValidator.js +8 -9
  78. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +134 -103
  79. package/sdk/platform/Cart/CartPlatformApplicationClient.js +419 -115
  80. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +121 -65
  81. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +109 -44
  82. package/sdk/platform/Cart/CartPlatformModel.d.ts +5070 -1296
  83. package/sdk/platform/Cart/CartPlatformModel.js +1992 -1217
  84. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +209 -183
  85. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +452 -395
  86. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +185 -142
  87. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +96 -78
  88. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +154 -117
  89. package/sdk/platform/Catalog/CatalogPlatformClient.js +292 -172
  90. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +6512 -1770
  91. package/sdk/platform/Catalog/CatalogPlatformModel.js +3228 -1687
  92. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +72 -31
  93. package/sdk/platform/Catalog/CatalogPlatformValidator.js +50 -24
  94. package/sdk/platform/Common/CommonPlatformClient.d.ts +3 -2
  95. package/sdk/platform/Common/CommonPlatformClient.js +3 -2
  96. package/sdk/platform/Common/CommonPlatformModel.d.ts +9 -9
  97. package/sdk/platform/Common/CommonPlatformModel.js +6 -6
  98. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +16 -17
  99. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +16 -17
  100. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +8 -8
  101. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +8 -8
  102. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +43 -33
  103. package/sdk/platform/Communication/CommunicationPlatformModel.js +38 -34
  104. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +46 -42
  105. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +47 -43
  106. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +223 -223
  107. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +210 -212
  108. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.d.ts +12 -12
  109. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.js +12 -12
  110. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +46 -33
  111. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +67 -54
  112. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.d.ts +18 -18
  113. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.js +18 -18
  114. package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +45 -24
  115. package/sdk/platform/Configuration/ConfigurationPlatformClient.js +134 -30
  116. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +283 -124
  117. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +219 -94
  118. package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +37 -9
  119. package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +27 -8
  120. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +204 -141
  121. package/sdk/platform/Content/ContentPlatformApplicationClient.js +1076 -478
  122. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +253 -141
  123. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +256 -130
  124. package/sdk/platform/Content/ContentPlatformClient.d.ts +142 -106
  125. package/sdk/platform/Content/ContentPlatformClient.js +523 -336
  126. package/sdk/platform/Content/ContentPlatformModel.d.ts +1372 -400
  127. package/sdk/platform/Content/ContentPlatformModel.js +631 -394
  128. package/sdk/platform/Content/ContentPlatformValidator.d.ts +168 -117
  129. package/sdk/platform/Content/ContentPlatformValidator.js +162 -108
  130. package/sdk/platform/Discount/DiscountPlatformClient.d.ts +14 -12
  131. package/sdk/platform/Discount/DiscountPlatformClient.js +14 -12
  132. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +13 -13
  133. package/sdk/platform/Discount/DiscountPlatformModel.js +12 -12
  134. package/sdk/platform/Discount/DiscountPlatformValidator.d.ts +2 -2
  135. package/sdk/platform/Discount/DiscountPlatformValidator.js +2 -2
  136. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +95 -39
  137. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +462 -63
  138. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +62 -15
  139. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +75 -13
  140. package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +20 -22
  141. package/sdk/platform/FileStorage/FileStoragePlatformClient.js +21 -24
  142. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +370 -116
  143. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +313 -104
  144. package/sdk/platform/FileStorage/FileStoragePlatformValidator.d.ts +6 -6
  145. package/sdk/platform/FileStorage/FileStoragePlatformValidator.js +6 -6
  146. package/sdk/platform/Lead/LeadPlatformClient.d.ts +2 -2
  147. package/sdk/platform/Lead/LeadPlatformClient.js +2 -2
  148. package/sdk/platform/Lead/LeadPlatformModel.d.ts +5 -5
  149. package/sdk/platform/Lead/LeadPlatformModel.js +16 -16
  150. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +17 -6
  151. package/sdk/platform/Order/OrderPlatformApplicationClient.js +85 -7
  152. package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +95 -24
  153. package/sdk/platform/Order/OrderPlatformApplicationValidator.js +39 -19
  154. package/sdk/platform/Order/OrderPlatformClient.d.ts +153 -96
  155. package/sdk/platform/Order/OrderPlatformClient.js +416 -198
  156. package/sdk/platform/Order/OrderPlatformModel.d.ts +7607 -1267
  157. package/sdk/platform/Order/OrderPlatformModel.js +3929 -1269
  158. package/sdk/platform/Order/OrderPlatformValidator.d.ts +270 -109
  159. package/sdk/platform/Order/OrderPlatformValidator.js +135 -77
  160. package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +6 -4
  161. package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +9 -7
  162. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +9 -9
  163. package/sdk/platform/Partner/PartnerPlatformModel.js +8 -8
  164. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +93 -105
  165. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +129 -141
  166. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +48 -48
  167. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +48 -48
  168. package/sdk/platform/Payment/PaymentPlatformClient.d.ts +20 -20
  169. package/sdk/platform/Payment/PaymentPlatformClient.js +20 -20
  170. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +333 -319
  171. package/sdk/platform/Payment/PaymentPlatformModel.js +288 -278
  172. package/sdk/platform/Payment/PaymentPlatformValidator.d.ts +8 -8
  173. package/sdk/platform/Payment/PaymentPlatformValidator.js +8 -8
  174. package/sdk/platform/PlatformClient.d.ts +0 -2
  175. package/sdk/platform/PlatformClient.js +0 -4
  176. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +2 -2
  177. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +2 -2
  178. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.d.ts +2 -2
  179. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.js +2 -2
  180. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +9 -9
  181. package/sdk/platform/Rewards/RewardsPlatformModel.js +8 -8
  182. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +46 -36
  183. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +132 -41
  184. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +46 -17
  185. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +34 -14
  186. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +40 -46
  187. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +58 -64
  188. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1842 -609
  189. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +886 -554
  190. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +42 -46
  191. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +26 -28
  192. package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +5 -5
  193. package/sdk/platform/Share/SharePlatformApplicationClient.js +9 -9
  194. package/sdk/platform/Share/SharePlatformApplicationValidator.d.ts +3 -6
  195. package/sdk/platform/Share/SharePlatformApplicationValidator.js +2 -2
  196. package/sdk/platform/Share/SharePlatformModel.d.ts +46 -7
  197. package/sdk/platform/Share/SharePlatformModel.js +31 -6
  198. package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +3 -3
  199. package/sdk/platform/Theme/ThemePlatformApplicationClient.js +8 -4
  200. package/sdk/platform/Theme/ThemePlatformApplicationValidator.d.ts +5 -0
  201. package/sdk/platform/Theme/ThemePlatformApplicationValidator.js +2 -0
  202. package/sdk/platform/Theme/ThemePlatformModel.d.ts +37 -11
  203. package/sdk/platform/Theme/ThemePlatformModel.js +33 -15
  204. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +12 -12
  205. package/sdk/platform/User/UserPlatformApplicationClient.js +12 -12
  206. package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +2 -2
  207. package/sdk/platform/User/UserPlatformApplicationValidator.js +2 -2
  208. package/sdk/platform/User/UserPlatformModel.d.ts +21 -21
  209. package/sdk/platform/User/UserPlatformModel.js +23 -23
  210. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +25 -78
  211. package/sdk/platform/Webhook/WebhookPlatformClient.js +75 -470
  212. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +720 -427
  213. package/sdk/platform/Webhook/WebhookPlatformModel.js +410 -386
  214. package/sdk/platform/Webhook/WebhookPlatformValidator.d.ts +10 -55
  215. package/sdk/platform/Webhook/WebhookPlatformValidator.js +12 -72
  216. package/sdk/platform/index.d.ts +0 -1
  217. package/sdk/platform/index.js +0 -2
  218. package/sdk/public/Configuration/ConfigurationPublicClient.d.ts +3 -2
  219. package/sdk/public/Configuration/ConfigurationPublicClient.js +6 -5
  220. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +9 -9
  221. package/sdk/public/Configuration/ConfigurationPublicModel.js +6 -6
  222. package/sdk/public/Content/ContentPublicClient.d.ts +112 -2
  223. package/sdk/public/Content/ContentPublicClient.js +810 -6
  224. package/sdk/public/Content/ContentPublicModel.d.ts +549 -3
  225. package/sdk/public/Content/ContentPublicModel.js +649 -3
  226. package/sdk/public/Content/ContentPublicValidator.d.ts +69 -3
  227. package/sdk/public/Content/ContentPublicValidator.js +88 -2
  228. package/sdk/public/Webhook/WebhookPublicClient.d.ts +8 -8
  229. package/sdk/public/Webhook/WebhookPublicClient.js +8 -8
  230. package/sdk/public/Webhook/WebhookPublicModel.d.ts +21 -21
  231. package/sdk/public/Webhook/WebhookPublicModel.js +15 -15
  232. package/sdk/public/Webhook/WebhookPublicValidator.d.ts +4 -4
  233. package/sdk/public/Webhook/WebhookPublicValidator.js +4 -4
  234. package/sdk/platform/Finance/FinancePlatformClient.d.ts +0 -320
  235. package/sdk/platform/Finance/FinancePlatformClient.js +0 -2333
  236. package/sdk/platform/Finance/FinancePlatformModel.d.ts +0 -2890
  237. package/sdk/platform/Finance/FinancePlatformModel.js +0 -2148
  238. package/sdk/platform/Finance/FinancePlatformValidator.d.ts +0 -284
  239. package/sdk/platform/Finance/FinancePlatformValidator.js +0 -354
@@ -1,12 +1,12 @@
1
1
  const Joi = require("joi");
2
2
 
3
3
  /**
4
- * @typedef UpdateZoneConfigRequest
4
+ * @typedef UpdateZoneConfigDetails
5
5
  * @property {string} [serviceability_type]
6
6
  */
7
7
 
8
8
  /**
9
- * @typedef ServiceabilityErrorResponse
9
+ * @typedef ServiceabilityErrorResult
10
10
  * @property {string} message
11
11
  * @property {string} value
12
12
  * @property {string} type
@@ -20,14 +20,14 @@ const Joi = require("joi");
20
20
  */
21
21
 
22
22
  /**
23
- * @typedef ApplicationServiceabilityConfigResponse
24
- * @property {ServiceabilityErrorResponse} [error]
23
+ * @typedef ApplicationServiceabilityConfigResult
24
+ * @property {ServiceabilityErrorResult} [error]
25
25
  * @property {ApplicationServiceabilityConfig} [data]
26
26
  * @property {boolean} success
27
27
  */
28
28
 
29
29
  /**
30
- * @typedef EntityRegionView_Request
30
+ * @typedef EntityRegionView_Details
31
31
  * @property {string[]} sub_type
32
32
  * @property {string[]} [parent_id]
33
33
  */
@@ -49,7 +49,7 @@ const Joi = require("joi");
49
49
  */
50
50
 
51
51
  /**
52
- * @typedef getAppRegionZonesResponse
52
+ * @typedef getAppRegionZonesResult
53
53
  * @property {PageSchema[]} page
54
54
  * @property {ListViewItems[]} items
55
55
  */
@@ -71,7 +71,7 @@ const Joi = require("joi");
71
71
  */
72
72
 
73
73
  /**
74
- * @typedef EntityRegionView_Response
74
+ * @typedef EntityRegionView_Result
75
75
  * @property {EntityRegionView_Error} error
76
76
  * @property {EntityRegionView_page} page
77
77
  * @property {EntityRegionView_Items[]} data
@@ -123,7 +123,7 @@ const Joi = require("joi");
123
123
  */
124
124
 
125
125
  /**
126
- * @typedef ListViewResponse
126
+ * @typedef ListViewResult
127
127
  * @property {ZoneDataItem} page
128
128
  * @property {ListViewItems[]} items
129
129
  */
@@ -138,7 +138,7 @@ const Joi = require("joi");
138
138
  */
139
139
 
140
140
  /**
141
- * @typedef CompanyStoreView_Response
141
+ * @typedef CompanyStoreView_Result
142
142
  * @property {CompanyStoreView_PageItems[]} page
143
143
  * @property {Object[]} [items]
144
144
  */
@@ -151,8 +151,9 @@ const Joi = require("joi");
151
151
 
152
152
  /**
153
153
  * @typedef ZoneProductTypes
154
- * @property {string} type
155
- * @property {string[]} tags
154
+ * @property {string} type - Denotes if the zone is applicable for all the
155
+ * products or specific products.
156
+ * @property {string[]} tags - List of product tags.
156
157
  */
157
158
 
158
159
  /**
@@ -163,8 +164,8 @@ const Joi = require("joi");
163
164
 
164
165
  /**
165
166
  * @typedef ZoneMappingType
166
- * @property {string} country
167
- * @property {string[]} regions
167
+ * @property {string} country - Uid for the country.
168
+ * @property {string[]} regions - List of region uid for the given country.
168
169
  */
169
170
 
170
171
  /**
@@ -178,86 +179,97 @@ const Joi = require("joi");
178
179
 
179
180
  /**
180
181
  * @typedef UpdateZoneData
181
- * @property {string} zone_id
182
- * @property {string} name
183
- * @property {string} slug
184
- * @property {number} company_id
185
- * @property {boolean} is_active
186
- * @property {GetZoneDataViewChannels[]} channels
182
+ * @property {string} zone_id - Unique identifier for the zone.
183
+ * @property {string} name - Name for the zone.
184
+ * @property {string} slug - A human-readable and unique identifier for the
185
+ * zone, derived from the name.
186
+ * @property {number} company_id - Company id associated with the zone.
187
+ * @property {boolean} is_active - A flag indicating whether the zone is active.
188
+ * @property {GetZoneDataViewChannels[]} channels - Channels for which the zone is active.
187
189
  * @property {ZoneProductTypes} product
188
- * @property {number[]} store_ids
189
- * @property {string} region_type
190
- * @property {ZoneMappingType[]} mapping
190
+ * @property {number[]} store_ids - A list of store identifiers associated with the zone.
191
+ * @property {string} region_type - Type of region that belongs in the zone.
192
+ * @property {ZoneMappingType[]} mapping - Country to region mapping for the zone.
191
193
  */
192
194
 
193
195
  /**
194
- * @typedef ZoneUpdateRequest
196
+ * @typedef ZoneUpdateDetails
195
197
  * @property {string} identifier
196
198
  * @property {UpdateZoneData} data
197
199
  */
198
200
 
199
201
  /**
200
- * @typedef ZoneSuccessResponse
202
+ * @typedef ZoneSuccessResult
201
203
  * @property {number} status_code
202
204
  * @property {boolean} success
203
205
  */
204
206
 
205
207
  /**
206
208
  * @typedef GetZoneDataViewItems
207
- * @property {string} zone_id
208
- * @property {string} name
209
- * @property {string} slug
210
- * @property {number} [company_id]
211
- * @property {boolean} is_active
212
- * @property {GetZoneDataViewChannels[]} channels
209
+ * @property {string} zone_id - The unique identifier for the zone.
210
+ * @property {string} name - The name of the zone for easy identification.
211
+ * @property {string} slug - A URL-friendly version of the zone’s name, used for
212
+ * routing or linking.
213
+ * @property {number} [company_id] - The ID of the company associated with this zone.
214
+ * @property {boolean} is_active - A flag indicating whether the zone is active
215
+ * (true) or inactive (false).
216
+ * @property {GetZoneDataViewChannels[]} channels - A list of channels available
217
+ * within this zone.
213
218
  * @property {ZoneProductTypes} product
214
- * @property {number[]} store_ids
215
- * @property {string} [region_type]
216
- * @property {ZoneMappingType[]} mapping
217
- * @property {number} stores_count
219
+ * @property {number[]} store_ids - A collection of store IDs linked to this zone.
220
+ * @property {string} [region_type] - The type of region the zone represents.
221
+ * @property {ZoneMappingType[]} mapping - A list of mappings defining
222
+ * relationships between this zone and other entities.
223
+ * @property {string} [assignment_preference] - The preferred method for
224
+ * assigning stores or products to the zone.
225
+ * @property {number} stores_count - The total number of stores assigned to this zone.
218
226
  */
219
227
 
220
228
  /**
221
- * @typedef GetSingleZoneDataViewResponse
229
+ * @typedef GetSingleZoneDataViewResult
222
230
  * @property {GetZoneDataViewItems} data
223
231
  */
224
232
 
225
233
  /**
226
234
  * @typedef GetZoneByIdSchema
227
- * @property {string} zone_id
228
- * @property {string} name
229
- * @property {string} slug
230
- * @property {number} [company_id]
231
- * @property {boolean} is_active
232
- * @property {GetZoneDataViewChannels[]} channels
235
+ * @property {string} zone_id - Unique identifier for the zone.
236
+ * @property {string} name - Name for the zone.
237
+ * @property {string} slug - A human-readable and unique identifier for the
238
+ * zone, derived from the name.
239
+ * @property {number} [company_id] - Company id associated with the zone.
240
+ * @property {boolean} is_active - A flag indicating whether the zone is active.
241
+ * @property {GetZoneDataViewChannels[]} channels - Channels for which the zone is active.
233
242
  * @property {ZoneProductTypes} product
234
- * @property {number[]} store_ids
235
- * @property {string} region_type
243
+ * @property {number[]} store_ids - A list of store identifiers associated with the zone.
244
+ * @property {string} region_type - Type of region that belongs in the zone.
236
245
  * @property {ZoneMappingDetailType[]} mapping - Country to region mapping for the zone.
246
+ * @property {number} [stores_count]
237
247
  */
238
248
 
239
249
  /**
240
250
  * @typedef CreateZoneData
241
- * @property {string} name
242
- * @property {string} slug
243
- * @property {number} company_id
244
- * @property {boolean} is_active
245
- * @property {GetZoneDataViewChannels[]} channels
246
- * @property {number[]} store_ids
247
- * @property {ZoneProductTypes} product
248
- * @property {string} region_type
249
- * @property {ZoneMappingType[]} mapping
251
+ * @property {string} name - Name of the zone.
252
+ * @property {string} slug - A human-readable and unique identifier for the
253
+ * zone, derived from the name.
254
+ * @property {number} company_id - Unique identifier of the company for which
255
+ * the zone is created.
256
+ * @property {boolean} is_active - A flag indicating whether the zone is active.
257
+ * @property {GetZoneDataViewChannels[]} channels - Channels for which the zone is active.
258
+ * @property {number[]} store_ids - A list of store identifiers associated with the zone.
259
+ * @property {string} region_type - Type of region that belongs in the zone.
260
+ * @property {ZoneMappingType[]} mapping - Country to region mapping for the zone.
261
+ * @property {ZoneProductTypes} [product]
250
262
  */
251
263
 
252
264
  /**
253
- * @typedef ZoneResponse
254
- * @property {number} status_code
265
+ * @typedef ZoneResult
266
+ * @property {number} [status_code]
255
267
  * @property {string} zone_id
256
268
  * @property {boolean} success
257
269
  */
258
270
 
259
271
  /**
260
- * @typedef GetZoneFromPincodeViewRequest
272
+ * @typedef GetZoneFromPincodeViewDetails
261
273
  * @property {string} country
262
274
  * @property {string} pincode
263
275
  */
@@ -274,19 +286,19 @@ const Joi = require("joi");
274
286
  */
275
287
 
276
288
  /**
277
- * @typedef GetZoneFromPincodeViewResponse
289
+ * @typedef GetZoneFromPincodeViewResult
278
290
  * @property {string} serviceability_type
279
291
  * @property {Zone[]} zones
280
292
  */
281
293
 
282
294
  /**
283
- * @typedef GetZoneFromApplicationIdViewResponse
295
+ * @typedef GetZoneFromApplicationIdViewResult
284
296
  * @property {ZoneDataItem[]} page
285
297
  * @property {ListViewItems[]} items
286
298
  */
287
299
 
288
300
  /**
289
- * @typedef ServiceabilityPageResponse
301
+ * @typedef ServiceabilityPageResult
290
302
  * @property {string} [type]
291
303
  * @property {boolean} [has_next]
292
304
  * @property {number} [item_total]
@@ -301,37 +313,37 @@ const Joi = require("joi");
301
313
  */
302
314
 
303
315
  /**
304
- * @typedef ManagerResponse
316
+ * @typedef ManagerResult
305
317
  * @property {string} [email]
306
318
  * @property {MobileNo} [mobile_no]
307
319
  * @property {string} [name]
308
320
  */
309
321
 
310
322
  /**
311
- * @typedef ModifiedByResponse
323
+ * @typedef ModifiedByResult
312
324
  * @property {string} [username]
313
325
  * @property {string} [user_id]
314
326
  */
315
327
 
316
328
  /**
317
- * @typedef IntegrationTypeResponse
329
+ * @typedef IntegrationTypeResult
318
330
  * @property {string} [inventory]
319
331
  * @property {string} [order]
320
332
  */
321
333
 
322
334
  /**
323
- * @typedef ProductReturnConfigResponse
335
+ * @typedef ProductReturnConfigResult
324
336
  * @property {boolean} [on_same_store]
325
337
  */
326
338
 
327
339
  /**
328
- * @typedef ContactNumberResponse
340
+ * @typedef ContactNumberResult
329
341
  * @property {string} [number]
330
342
  * @property {number} [country_code]
331
343
  */
332
344
 
333
345
  /**
334
- * @typedef AddressResponse
346
+ * @typedef AddressResult
335
347
  * @property {string} [city]
336
348
  * @property {string} [address1]
337
349
  * @property {number} [pincode]
@@ -344,29 +356,29 @@ const Joi = require("joi");
344
356
  */
345
357
 
346
358
  /**
347
- * @typedef CreatedByResponse
359
+ * @typedef CreatedByResult
348
360
  * @property {string} [username]
349
361
  * @property {string} [user_id]
350
362
  */
351
363
 
352
364
  /**
353
- * @typedef EwayBillResponse
365
+ * @typedef EwayBillResult
354
366
  * @property {boolean} [enabled]
355
367
  */
356
368
 
357
369
  /**
358
- * @typedef EinvoiceResponse
370
+ * @typedef EinvoiceResult
359
371
  * @property {boolean} [enabled]
360
372
  */
361
373
 
362
374
  /**
363
- * @typedef GstCredentialsResponse
364
- * @property {EwayBillResponse} [e_waybill]
365
- * @property {EinvoiceResponse} [e_invoice]
375
+ * @typedef GstCredentialsResult
376
+ * @property {EwayBillResult} [e_waybill]
377
+ * @property {EinvoiceResult} [e_invoice]
366
378
  */
367
379
 
368
380
  /**
369
- * @typedef WarningsResponse
381
+ * @typedef WarningsResult
370
382
  * @property {string} [store_address]
371
383
  */
372
384
 
@@ -377,7 +389,7 @@ const Joi = require("joi");
377
389
  */
378
390
 
379
391
  /**
380
- * @typedef TimmingResponse
392
+ * @typedef TimmingResult
381
393
  * @property {boolean} [open]
382
394
  * @property {string} [weekday]
383
395
  * @property {OpeningClosing} [closing]
@@ -385,7 +397,7 @@ const Joi = require("joi");
385
397
  */
386
398
 
387
399
  /**
388
- * @typedef DocumentsResponse
400
+ * @typedef DocumentsResult
389
401
  * @property {string} [legal_name]
390
402
  * @property {string} [value]
391
403
  * @property {string} [type]
@@ -407,109 +419,119 @@ const Joi = require("joi");
407
419
  */
408
420
 
409
421
  /**
410
- * @typedef LogisticsResponse
422
+ * @typedef LogisticsResult
411
423
  * @property {boolean} [override]
412
424
  * @property {Dp} [dp]
413
425
  */
414
426
 
415
427
  /**
416
- * @typedef ItemResponse
428
+ * @typedef ItemResult
417
429
  * @property {string} [created_on]
418
- * @property {ManagerResponse} [manager]
419
- * @property {ModifiedByResponse} [modified_by]
420
- * @property {IntegrationTypeResponse} [integration_type]
430
+ * @property {ManagerResult} [manager]
431
+ * @property {ModifiedByResult} [modified_by]
432
+ * @property {IntegrationTypeResult} [integration_type]
421
433
  * @property {string} [verified_on]
422
- * @property {ProductReturnConfigResponse} [product_return_config]
423
- * @property {ContactNumberResponse[]} [contact_numbers]
424
- * @property {ModifiedByResponse} [verified_by]
434
+ * @property {ProductReturnConfigResult} [product_return_config]
435
+ * @property {ContactNumberResult[]} [contact_numbers]
436
+ * @property {ModifiedByResult} [verified_by]
425
437
  * @property {string} [stage]
426
- * @property {AddressResponse} [address]
438
+ * @property {AddressResult} [address]
427
439
  * @property {string} [modified_on]
428
- * @property {CreatedByResponse} [created_by]
429
- * @property {GstCredentialsResponse} [gst_credentials]
440
+ * @property {CreatedByResult} [created_by]
441
+ * @property {GstCredentialsResult} [gst_credentials]
430
442
  * @property {string} [display_name]
431
443
  * @property {number} [company_id]
432
444
  * @property {number} [uid]
433
- * @property {Object} [_custom_json]
445
+ * @property {Object} [_custom_json] - Custom JSON for internal usage
434
446
  * @property {string} [code]
435
- * @property {WarningsResponse} [warnings]
447
+ * @property {WarningsResult} [warnings]
436
448
  * @property {string} [name]
437
- * @property {TimmingResponse[]} [timing]
438
- * @property {DocumentsResponse[]} [documents]
449
+ * @property {TimmingResult[]} [timing]
450
+ * @property {DocumentsResult[]} [documents]
439
451
  * @property {string} [store_type]
440
452
  * @property {string} [sub_type]
441
453
  * @property {number} [company]
442
454
  * @property {string} [_cls]
443
- * @property {LogisticsResponse} [logistics]
455
+ * @property {LogisticsResult} [logistics]
444
456
  * @property {string[]} [notification_emails]
445
457
  */
446
458
 
447
459
  /**
448
- * @typedef GetStoresViewResponse
449
- * @property {ServiceabilityPageResponse} page
450
- * @property {ItemResponse[]} [items]
460
+ * @typedef GetStoresViewResult
461
+ * @property {ServiceabilityPageResult} page
462
+ * @property {ItemResult[]} [items]
451
463
  */
452
464
 
453
465
  /**
454
466
  * @typedef PincodeMopData
455
- * @property {number[]} pincodes
456
- * @property {string} country
457
- * @property {string} action
467
+ * @property {number[]} pincodes - A list of pincodes.
468
+ * @property {string} country - Name of the country.
469
+ * @property {string} action - Denotes wether to activate or deavtivate pincodes
470
+ * for COD mode of payment.
458
471
  */
459
472
 
460
473
  /**
461
- * @typedef PincodeMopUpdateResponse
462
- * @property {number} pincode
463
- * @property {string} channel_id
464
- * @property {string} country
465
- * @property {boolean} is_active
474
+ * @typedef PincodeMopUpdateResult
475
+ * @property {number} pincode - Pincode of the region.
476
+ * @property {string} channel_id - Unique identifier of the sales channel.
477
+ * @property {string} country - Country name.
478
+ * @property {boolean} is_active - Denotes whether the pincode mode of payment
479
+ * is active or not.
466
480
  */
467
481
 
468
482
  /**
469
- * @typedef PincodeMOPresponse
470
- * @property {boolean} success
471
- * @property {number} status_code
472
- * @property {string} batch_id
473
- * @property {string} country
474
- * @property {string} action
475
- * @property {number[]} [pincodes]
476
- * @property {PincodeMopUpdateResponse[]} [updated_pincodes]
483
+ * @typedef PincodeMOPResult
484
+ * @property {boolean} success - Denotes if the action was successful or not.
485
+ * @property {number} status_code - Status code for the response.
486
+ * @property {string} batch_id - Unique identifier identifying the perticular request.
487
+ * @property {string} country - Name of the country.
488
+ * @property {string} action - Denotes wether to activate or deavtivate pincodes
489
+ * for COD mode of payment.
490
+ * @property {number[]} [pincodes] - List of pincodes.
491
+ * @property {PincodeMopUpdateResult[]} [updated_pincodes] - Details of the
492
+ * updated pincodes.
477
493
  */
478
494
 
479
495
  /**
480
496
  * @typedef CommonError
481
- * @property {string} [status_code]
497
+ * @property {string} [status_code] - Status code for the error.
482
498
  * @property {Object} [error]
483
- * @property {string} [success]
499
+ * @property {string} [success] - Whether operation was successful.
484
500
  */
485
501
 
486
502
  /**
487
503
  * @typedef PincodeMopBulkData
488
- * @property {string} batch_id
489
- * @property {string} s3_url
504
+ * @property {string} batch_id - Unique identifier for the request.
505
+ * @property {string} s3_url - CDN url for the uploaded file.
490
506
  */
491
507
 
492
508
  /**
493
- * @typedef PincodeBulkViewResponse
509
+ * @typedef PincodeBulkViewResult
494
510
  * @property {string} batch_id
495
- * @property {string} s3_url
511
+ * @property {string} s3_url - CDN url for the uploaded file.
496
512
  */
497
513
 
498
514
  /**
499
- * @typedef PincodeCodStatusListingRequest
500
- * @property {string} [country]
501
- * @property {boolean} [is_active]
502
- * @property {number} [pincode]
515
+ * @typedef PincodeCodStatusListingDetails
516
+ * @property {string} [country] - Name of the country.
517
+ * @property {boolean} [is_active] - Search based on the active or inactive flag.
518
+ * @property {number} [pincode] - Search based on the pincode.
503
519
  * @property {number} [current]
504
520
  * @property {number} [page_size]
505
521
  */
506
522
 
507
523
  /**
508
- * @typedef PincodeCodStatusListingResponse
509
- * @property {string} country
510
- * @property {PincodeCodStatusListingResponse[]} data
511
- * @property {boolean} success
512
- * @property {Error[]} [errors]
524
+ * @typedef PincodeCodStatusItem
525
+ * @property {boolean} [active] - Denoted if the pincode is active or not.
526
+ * @property {string} [pincode] - Name of the pincode.
527
+ */
528
+
529
+ /**
530
+ * @typedef PincodeCodStatusListingResult
531
+ * @property {string} country - Name of the country.
532
+ * @property {PincodeCodStatusListingResult[]} data - List of pincode details.
533
+ * @property {boolean} success - Denotes if the request was successful or not.
534
+ * @property {Error[]} [errors] - List of error object in case of unsuccessful response.
513
535
  * @property {PincodeCodStatusListingPage} page
514
536
  * @property {PincodeCodStatusListingSummary} summary
515
537
  */
@@ -532,14 +554,14 @@ const Joi = require("joi");
532
554
 
533
555
  /**
534
556
  * @typedef PincodeCodStatusListingSummary
535
- * @property {number} total_active_pincodes
536
- * @property {number} total_inactive_pincodes
557
+ * @property {number} total_active_pincodes - Count of the total active pincodes.
558
+ * @property {number} total_inactive_pincodes - Count of the total inactive pincodes.
537
559
  */
538
560
 
539
561
  /**
540
- * @typedef PincodeMopUpdateAuditHistoryRequest
541
- * @property {string} entity_type
542
- * @property {string} [file_name]
562
+ * @typedef PincodeMopUpdateAuditHistoryDetails
563
+ * @property {string} entity_type - Type of the entity requested.
564
+ * @property {string} [file_name] - Name of the file.
543
565
  */
544
566
 
545
567
  /**
@@ -552,22 +574,23 @@ const Joi = require("joi");
552
574
  */
553
575
 
554
576
  /**
555
- * @typedef PincodeMopUpdateAuditHistoryResponse
556
- * @property {string} [batch_id]
557
- * @property {string} [entity_type]
558
- * @property {string} [error_file_s3_url]
559
- * @property {string} [s3_url]
560
- * @property {string} [file_name]
577
+ * @typedef PincodeMopUpdateAuditHistoryResult
578
+ * @property {string} [batch_id] - Uniquie identifier of the request.
579
+ * @property {string} [entity_type] - Type of the entity requested.
580
+ * @property {string} [error_file_s3_url] - URL for the error file.
581
+ * @property {string} [s3_url] - CDN url for the file uploaded.
582
+ * @property {string} [file_name] - Name of the file.
561
583
  * @property {string} [updated_at]
562
584
  * @property {string} [updated_by]
563
- * @property {boolean} [success]
585
+ * @property {boolean} [success] - Denotes if the request was successfully processed.
564
586
  */
565
587
 
566
588
  /**
567
- * @typedef PincodeMopUpdateAuditHistoryResponseData
568
- * @property {string} [entity_type]
589
+ * @typedef PincodeMopUpdateAuditHistoryResultData
590
+ * @property {string} [entity_type] - Type of the entity requested.
569
591
  * @property {PincodeMopUpdateAuditHistoryPaging} page
570
- * @property {PincodeMopUpdateAuditHistoryResponse[]} data
592
+ * @property {PincodeMopUpdateAuditHistoryResult[]} data - History records of
593
+ * the uploaded files.
571
594
  */
572
595
 
573
596
  /**
@@ -598,37 +621,53 @@ const Joi = require("joi");
598
621
  * @property {SchemeRulesFeatures} [feature]
599
622
  */
600
623
 
624
+ /**
625
+ * @typedef CourierAccountUpdateDetails
626
+ * @property {string} extension_id - Unique identifier of courier partner extension.
627
+ * @property {string} scheme_id - Unique identifier of courier partner scheme.
628
+ * @property {boolean} is_self_ship - Denotes if the account is of self delivery type.
629
+ * @property {string} stage - Denotes whether the account is in enabled or disabled stage.
630
+ * @property {boolean} is_own_account - Denotes whether it is the seller's own
631
+ * account or not.
632
+ */
633
+
601
634
  /**
602
635
  * @typedef CourierAccount
603
- * @property {string} extension_id
604
- * @property {string} account_id
605
- * @property {string} scheme_id
606
- * @property {boolean} is_self_ship
607
- * @property {string} stage
608
- * @property {boolean} is_own_account
636
+ * @property {number} company_id - Company id associated with the account.
637
+ * @property {string} extension_id - Unique identifier of courier partner extension.
638
+ * @property {string} account_id - Unique identifier of courier partner scheme
639
+ * and company id combination.
640
+ * @property {string} scheme_id - Unique identifier of courier partner scheme.
641
+ * @property {boolean} is_self_ship - Denotes if the account is of self delivery type.
642
+ * @property {string} stage - Denotes whether the account is in enabled or disabled stage.
643
+ * @property {boolean} is_own_account - Denotes whether it is the seller's own
644
+ * account or not.
645
+ * @property {CourierPartnerSchemeModel} scheme_rules
609
646
  */
610
647
 
611
648
  /**
612
- * @typedef CourierAccountRequestBody
613
- * @property {string} extension_id
614
- * @property {string} [account_id]
615
- * @property {string} scheme_id
616
- * @property {boolean} is_self_ship
617
- * @property {string} stage
618
- * @property {boolean} is_own_account
649
+ * @typedef CourierAccountDetailsBody
650
+ * @property {string} extension_id - Unique identifier of courier partner extension.
651
+ * @property {string} [account_id] - Unique identifier of courier partner scheme
652
+ * and company id combination.
653
+ * @property {string} scheme_id - Unique identifier of courier partner scheme.
654
+ * @property {boolean} is_self_ship - Denotes if the account is of self delivery type.
655
+ * @property {string} stage - Denotes whether the account is in enabled or disabled stage.
656
+ * @property {boolean} is_own_account - Denotes whether it is the seller's own
657
+ * account or not.
619
658
  */
620
659
 
621
660
  /**
622
- * @typedef ErrorResponse
623
- * @property {string} value
624
- * @property {string} message
625
- * @property {string} type
661
+ * @typedef ErrorResult
662
+ * @property {string} value - Fields containing the error.
663
+ * @property {string} message - Description of the error.
664
+ * @property {string} type - Type of the error.
626
665
  */
627
666
 
628
667
  /**
629
- * @typedef CourierPartnerAccountFailureResponse
630
- * @property {boolean} success
631
- * @property {ErrorResponse[]} error
668
+ * @typedef CourierPartnerAccountFailureResult
669
+ * @property {boolean} success - Denotes whether the request is a success or failure.
670
+ * @property {ErrorResult[]} error
632
671
  */
633
672
 
634
673
  /**
@@ -643,33 +682,40 @@ const Joi = require("joi");
643
682
  */
644
683
 
645
684
  /**
646
- * @typedef CourierPartnerRuleCPListResponse
647
- * @property {string} [account_id]
648
- * @property {string} [extension_id]
649
- * @property {boolean} [is_self_ship]
650
- * @property {Object} [scheme_rules]
685
+ * @typedef CourierPartnerRuleCPListResult
686
+ * @property {string} account_id - Unique identifier of courier partner scheme
687
+ * and company id combination.
688
+ * @property {string} extension_id - Unique identifier of courier partner extension.
689
+ * @property {boolean} is_self_ship - Denotes if the account is of self delivery type.
690
+ * @property {Object} [scheme_rules] - Denotes the scheme rules associated with
691
+ * the courier partner account.
651
692
  */
652
693
 
653
694
  /**
654
- * @typedef CourierPartnerRuleResponse
655
- * @property {boolean} [is_active]
656
- * @property {string} [application_id]
657
- * @property {number} [company_id]
658
- * @property {CourierPartnerRuleConditions} [conditions]
659
- * @property {string[]} [sort]
660
- * @property {Object} [created_by]
661
- * @property {string} [id]
662
- * @property {Object} [modified_by]
663
- * @property {string} [modified_on]
664
- * @property {string} [name]
665
- * @property {string} [type]
666
- * @property {CourierPartnerRuleCPListResponse[]} [cp_list]
695
+ * @typedef CourierPartnerRuleResult
696
+ * @property {boolean} is_active - Denotes whether the given courier partner
697
+ * rule is inactive or active.
698
+ * @property {string} application_id - Unique identifier of the sales channel.
699
+ * @property {number} company_id - Unique identifier of the company.
700
+ * @property {CourierPartnerRuleConditions} conditions
701
+ * @property {string[]} sort - Sort Strategy of the courier partners.
702
+ * @property {Object} [created_by] - The Fynd account used to create the courier
703
+ * partner rule.
704
+ * @property {string} id - Unique identifier of the courier partner rule.
705
+ * @property {Object} [modified_by] - The Fynd account used to modify the
706
+ * courier partner rule.
707
+ * @property {string} [modified_on] - The datetime at which courier partner rule
708
+ * is modified.
709
+ * @property {string} name - Name for the courier partner rule.
710
+ * @property {string} type - The type of the rule.
711
+ * @property {CourierPartnerRuleCPListResult[]} [cp_list]
667
712
  */
668
713
 
669
714
  /**
670
715
  * @typedef CourierPartnerList
671
- * @property {string} extension_id
672
- * @property {string} account_id
716
+ * @property {string} extension_id - Unique identifier of courier partner extension.
717
+ * @property {string} account_id - Unique identifier of courier partner scheme
718
+ * and company id combination.
673
719
  */
674
720
 
675
721
  /**
@@ -678,7 +724,7 @@ const Joi = require("joi");
678
724
  * @property {string} [sub_type]
679
725
  * @property {string} [name]
680
726
  * @property {string} [display_name]
681
- * @property {string} [parent_id]
727
+ * @property {string[]} [parent_id]
682
728
  * @property {string[]} [parent_ids]
683
729
  */
684
730
 
@@ -720,98 +766,189 @@ const Joi = require("joi");
720
766
 
721
767
  /**
722
768
  * @typedef CourierPartnerRule
723
- * @property {boolean} is_active
724
- * @property {CourierPartnerList[]} [cp_list]
725
- * @property {string} name
769
+ * @property {boolean} is_active - Denotes whether the given courier partner
770
+ * rule is inactive or active.
771
+ * @property {CourierPartnerList[]} [cp_list] - A list of courier partners.
772
+ * @property {string} name - Name for the courier partner rule.
726
773
  * @property {CourierPartnerRuleConditions} conditions
727
- * @property {string[]} sort
774
+ * @property {string[]} sort - Sort Strategy for the courier partners.
775
+ * @property {string} [type] - Denotes the type of the rule.
728
776
  */
729
777
 
730
778
  /**
731
- * @typedef FailureResponse
779
+ * @typedef FailureResult
732
780
  * @property {boolean} success
733
- * @property {ErrorResponse[]} error
781
+ * @property {ErrorResult[]} error
734
782
  */
735
783
 
736
784
  /**
737
- * @typedef CourierPartnerRulesListResponse
738
- * @property {CourierPartnerRuleResponse[]} items
785
+ * @typedef CourierPartnerRulesListResult
786
+ * @property {CourierPartnerRuleResult[]} items
739
787
  * @property {Page} page
740
788
  */
741
789
 
790
+ /**
791
+ * @typedef ShipmentsArticles
792
+ * @property {number} [item_id] - Unique identifier of the item.
793
+ * @property {number} [category_id] - Unique identifier of the category.
794
+ * @property {number} [brand_id] - Unique identifier of the brand.
795
+ * @property {number} [department_id] - Unique identifier of the department.
796
+ * @property {string[]} [tags] - Tags associated with the item.
797
+ */
798
+
799
+ /**
800
+ * @typedef ShipmentDimension
801
+ * @property {number} height - Height of the shipment in centimeters.
802
+ * @property {number} length - Length of the shipment in centimeters.
803
+ * @property {number} width - Width of the shipment in centimeters.
804
+ */
805
+
806
+ /**
807
+ * @typedef Shipments
808
+ * @property {string} [id] - Unique identifier of the shipment.
809
+ * @property {number} [location_id] - Unique identifier of the selling location.
810
+ * @property {string[]} [location_tags] - Tags associated with the selling location.
811
+ * @property {number} [shipment_weight] - Weight of the shipment.
812
+ * @property {number} [shipment_volumetric_weight] - Volumetric weight of the shipment.
813
+ * @property {number} [shipment_cost] - Total Cost of the shipment.
814
+ * @property {ShipmentDimension} [shipment_dimension]
815
+ * @property {string[]} [courier_partner_schemes] - A List of courier schemes.
816
+ * @property {ShipmentsArticles[]} [articles] - List of articles in the shipment.
817
+ */
818
+
819
+ /**
820
+ * @typedef ShipmentCourierPartnerDetails
821
+ * @property {ShipmentsCourierPartnersServiceability} from_location
822
+ * @property {ShipmentsCourierPartnersServiceability} to_location
823
+ * @property {Shipments[]} [shipments] - List of shipments.
824
+ * @property {string} [journey] - Journey type of the shipment forward or return.
825
+ * @property {string} [payment_mode] - Payment mode opted for the shipment.
826
+ */
827
+
828
+ /**
829
+ * @typedef CourierPartnerPromise
830
+ * @property {string} min - The earliest possible timestamp.
831
+ * @property {string} max - The latest possible timestamp.
832
+ */
833
+
834
+ /**
835
+ * @typedef CourierPartners
836
+ * @property {string} [extension_id] - Unique identifier of courier partner extension.
837
+ * @property {string} [scheme_id] - Unique identifier of courier partner scheme.
838
+ * @property {string} [name] - Name of the courier partner.
839
+ * @property {CourierPartnerPromise} [delivery_promise]
840
+ */
841
+
842
+ /**
843
+ * @typedef ShipmentCourierPartners
844
+ * @property {string} [id] - Unique identifier of the shipment.
845
+ * @property {CourierPartners[]} [courier_partners] - Courier partners of the shipment.
846
+ */
847
+
848
+ /**
849
+ * @typedef ShipmentCourierPartnerResult
850
+ * @property {CourierPartners[]} [courier_partners]
851
+ * @property {ShipmentCourierPartners[]} [shipments]
852
+ */
853
+
854
+ /**
855
+ * @typedef ShipmentsCourierPartnersServiceability
856
+ * @property {string} [pincode] - Postal code or PIN code of the address area.
857
+ * @property {string} [sector_code] - Specifies the sector or district code of
858
+ * the address if applicable.
859
+ * @property {string} [state_code] - Indicates the state or province code of the address.
860
+ * @property {string} [city_code] - Denote the city or municipality code of the address.
861
+ * @property {string} country_code - ISO2 code for the country of the address.
862
+ */
863
+
742
864
  /**
743
865
  * @typedef CompanyConfig
744
- * @property {string[]} rule_ids
745
- * @property {string[]} sort
746
- * @property {boolean} [logistics_as_actual]
866
+ * @property {string[]} rule_ids - A list for courier partner rules.
867
+ * @property {string[]} sort - Sort strategy for the courier partners.
868
+ * @property {string} [logistics_as_actual] - Depicts if the courier partner
869
+ * rule configuration plan is subscribed by the seller for which mode.
870
+ * @property {number} company_id - Unique identifier of the company.
871
+ * @property {string} [application_id] - Unique identifier of the sales channel.
747
872
  */
748
873
 
749
874
  /**
750
875
  * @typedef ZoneConfig
751
- * @property {string} [serviceability_type]
876
+ * @property {string} [serviceability_type] - Serviceability type of the delivery zone.
877
+ * @property {number} [active_count] - Count of active delivery zones associated
878
+ * with the sales channel.
879
+ * @property {number} [total_count] - Count of total delivery zones associated
880
+ * with the sales channel.
752
881
  */
753
882
 
754
883
  /**
755
884
  * @typedef ApplicationConfig
756
- * @property {string[]} [rule_ids]
757
- * @property {string[]} [sort]
885
+ * @property {string[]} [rule_ids] - A list of courier partner rules.
886
+ * @property {string[]} [sort] - Strategy adopted to sort the courier partners.
758
887
  * @property {ZoneConfig} [zones]
759
888
  */
760
889
 
761
890
  /**
762
- * @typedef BulkRegionJobSerializer
763
- * @property {string} [file_path]
764
- * @property {string} country
765
- * @property {string} action
766
- * @property {string} region
891
+ * @typedef BulkRegionJobDetails
892
+ * @property {string} [file_path] - CDN path of the uploaded csv file for bulk import.
893
+ * @property {string} country - Country for which the tat or serviceability is
894
+ * to be imported or exported.
895
+ * @property {string} action - Denotes the import or export action to be performed.
896
+ * @property {string} region - Region of the country for which import or export
897
+ * is triggered.
767
898
  */
768
899
 
769
900
  /**
770
- * @typedef BulkRegionResponseItemData
771
- * @property {string} file_path
772
- * @property {number} [failed]
901
+ * @typedef BulkRegionResultItemData
902
+ * @property {string} [file_path] - CDN path of the file which was used for bulk import.
903
+ * @property {number} [failed] - Count of the failed records.
773
904
  * @property {Object[]} [failed_records]
774
- * @property {string} action
775
- * @property {string} batch_id
776
- * @property {string} country
777
- * @property {number} [success]
778
- * @property {string} region
779
- * @property {string} status
780
- * @property {number} [total]
781
- * @property {string} [error_file_path]
782
- */
783
-
784
- /**
785
- * @typedef BulkRegionResponse
786
- * @property {BulkRegionResponseItemData[]} items
905
+ * @property {string} action - Denotes the import or export action performed.
906
+ * @property {string} batch_id - Unique id to identify the import or export query.
907
+ * @property {string} country - Country for which the import or export action is
908
+ * performed.
909
+ * @property {number} [success] - Denoted if the import or export was successful
910
+ * or failure.
911
+ * @property {string} region - Region of the country for which import or export
912
+ * is triggered.
913
+ * @property {string} status - Current status of the import or export action performed.
914
+ * @property {number} [total] - Count of total records.
915
+ * @property {string} [error_file_path] - Path of the error file.
916
+ */
917
+
918
+ /**
919
+ * @typedef BulkRegionResult
920
+ * @property {BulkRegionResultItemData[]} items
787
921
  * @property {Page} page
788
922
  */
789
923
 
790
924
  /**
791
- * @typedef SelfShipResponse
925
+ * @typedef SelfShipResult
792
926
  * @property {boolean} is_active
793
927
  * @property {number} tat
794
928
  */
795
929
 
796
930
  /**
797
931
  * @typedef ApplicationSelfShipConfig
798
- * @property {Object} [self_ship]
932
+ * @property {SelfShipResult} [self_ship]
799
933
  */
800
934
 
801
935
  /**
802
- * @typedef ApplicationSelfShipConfigResponse
803
- * @property {ServiceabilityErrorResponse} [error]
936
+ * @typedef ApplicationSelfShipConfigResult
937
+ * @property {ServiceabilityErrorResult} [error]
804
938
  * @property {ApplicationSelfShipConfig} [data]
805
939
  * @property {boolean} success
806
940
  */
807
941
 
808
942
  /**
809
943
  * @typedef StoreRuleConfigData
810
- * @property {string[]} [rule_ids]
811
- * @property {string[]} [type_based_priority]
812
- * @property {string[]} [tag_based_priority]
813
- * @property {StorePrioritySchema[]} [store_priority]
814
- * @property {string[]} [sort]
944
+ * @property {string[]} [rule_ids] - List of rule ids which are active in the application.
945
+ * @property {string[]} [type_based_priority] - Priority of the store type to be
946
+ * used in the basic prioritization sorting of stores.
947
+ * @property {string[]} [tag_based_priority] - Priority of the store tags to be
948
+ * used in the basic prioritization sorting of stores.
949
+ * @property {StorePrioritySchema[]} [store_priority] - Priority of explicit
950
+ * stores to be used for sorting of stores.
951
+ * @property {string[]} [sort] - Criteria on which the selected stores should be sorted.
815
952
  */
816
953
 
817
954
  /**
@@ -840,75 +977,87 @@ const Joi = require("joi");
840
977
 
841
978
  /**
842
979
  * @typedef StoreRuleDataSchema
843
- * @property {string} [id]
844
- * @property {string} [name]
845
- * @property {number} [company_id]
846
- * @property {string} [application_id]
847
- * @property {string[]} [type_based_priority]
848
- * @property {string[]} [tag_based_priority]
849
- * @property {StorePrioritySchema[]} [store_priority]
850
- * @property {string[]} [sort]
980
+ * @property {string} [id] - Id of the rule.
981
+ * @property {string} [name] - Name of the rule.
982
+ * @property {number} [company_id] - Company id for which the rule is created.
983
+ * @property {string} [application_id] - Application id for which the rule is created.
984
+ * @property {string[]} [type_based_priority] - Priority of the store type to be
985
+ * used in the basic prioritization sorting of stores.
986
+ * @property {string[]} [tag_based_priority] - Priority of the store tags to be
987
+ * used in the basic prioritization sorting of stores.
988
+ * @property {StorePrioritySchema[]} [store_priority] - Priority of explicit
989
+ * stores to be used for sorting of stores.
990
+ * @property {string[]} [sort] - Criteria on which the selected stores should be sorted.
851
991
  * @property {StoreRuleConditionSchema} [conditions]
852
- * @property {boolean} [is_active]
992
+ * @property {boolean} [is_active] - Denotes whether the rule is active or inactive.
853
993
  */
854
994
 
855
995
  /**
856
996
  * @typedef StorePrioritySchema
857
- * @property {string} [id]
858
- * @property {string} [name]
997
+ * @property {number} [id] - Id of the store.
998
+ * @property {string} [name] - Name of the store.
859
999
  */
860
1000
 
861
1001
  /**
862
- * @typedef GetStoreRulesApiResponse
1002
+ * @typedef GetStoreRulesApiResult
863
1003
  * @property {StoreRuleDataSchema[]} [items]
864
1004
  * @property {Page} [page]
865
1005
  */
866
1006
 
867
1007
  /**
868
- * @typedef CreateStoreRuleRequestSchema
869
- * @property {string} [name]
870
- * @property {boolean} [is_active]
1008
+ * @typedef CreateStoreRuleDetailsSchema
1009
+ * @property {string} [name] - Name of the rule.
1010
+ * @property {boolean} [is_active] - Denotes if the rule is active or not.
871
1011
  * @property {StoreRuleConditionSchema} [conditions]
872
- * @property {string[]} [type_based_priority]
873
- * @property {string[]} [tag_based_priority]
874
- * @property {StorePrioritySchema[]} [store_priority]
875
- * @property {string[]} [sort]
876
- */
877
-
878
- /**
879
- * @typedef StoreRuleResponseSchema
880
- * @property {string} [id]
881
- * @property {string} [name]
882
- * @property {string} [type]
883
- * @property {string[]} [type_based_priority]
884
- * @property {string[]} [tag_based_priority]
885
- * @property {StorePrioritySchema[]} [store_priority]
886
- * @property {string[]} [sort]
1012
+ * @property {string[]} [type_based_priority] - Priority of the store type to be
1013
+ * used in the basic prioritization sorting of stores.
1014
+ * @property {string[]} [tag_based_priority] - Priority of the store tags to be
1015
+ * used in the basic prioritization sorting of stores.
1016
+ * @property {StorePrioritySchema[]} [store_priority] - Priority of explicit
1017
+ * stores to be used for sorting of stores.
1018
+ * @property {string[]} [sort] - Criteria on which the selected stores should be sorted.
1019
+ */
1020
+
1021
+ /**
1022
+ * @typedef StoreRuleResultSchema
1023
+ * @property {string} [id] - Id of the rule created.
1024
+ * @property {string} [name] - Name of the rule created.
1025
+ * @property {string} [type] - Type of the rule created.
1026
+ * @property {string[]} [type_based_priority] - Priority of the store type to be
1027
+ * used in the rule for sorting of stores.
1028
+ * @property {string[]} [tag_based_priority] - Priority of the store tags to be
1029
+ * used in the rule for sorting of stores.
1030
+ * @property {StorePrioritySchema[]} [store_priority] - Priority of explicit
1031
+ * stores to be used for sorting of stores.
1032
+ * @property {string[]} [sort] - Criteria on which the selected stores should be sorted.
887
1033
  * @property {StoreRuleConditionSchema} [conditions]
888
- * @property {boolean} [is_active]
1034
+ * @property {boolean} [is_active] - Denotes if the rule is active or inactive.
889
1035
  */
890
1036
 
891
1037
  /**
892
- * @typedef StoreRuleUpdateResponseSchema
893
- * @property {string} [id]
894
- * @property {string} [name]
895
- * @property {string} [type]
896
- * @property {string[]} [type_based_priority]
897
- * @property {string[]} [tag_based_priority]
898
- * @property {StorePrioritySchema[]} [store_priority]
899
- * @property {string[]} [sort]
1038
+ * @typedef StoreRuleUpdateResultSchema
1039
+ * @property {string} [id] - Id of the rule created.
1040
+ * @property {string} [name] - Name of the rule created.
1041
+ * @property {string} [type] - Type of the rule created.
1042
+ * @property {string[]} [type_based_priority] - Priority of the store type to be
1043
+ * used in the rule for sorting of stores.
1044
+ * @property {string[]} [tag_based_priority] - Priority of the store tags to be
1045
+ * used in the rule for sorting of stores.
1046
+ * @property {StorePrioritySchema[]} [store_priority] - Priority of explicit
1047
+ * stores to be used for sorting of stores.
1048
+ * @property {string[]} [sort] - Criteria on which the selected stores should be sorted.
900
1049
  * @property {StoreRuleConditionSchema} [conditions]
901
- * @property {boolean} [is_active]
902
- * @property {number} [company_id]
903
- * @property {string} [application_id]
1050
+ * @property {boolean} [is_active] - Denotes if the rule is active or inactive.
1051
+ * @property {number} [company_id] - Company id for which the rule is created.
1052
+ * @property {string} [application_id] - Application id for which the rule is created.
904
1053
  */
905
1054
 
906
1055
  /**
907
1056
  * @typedef ServiceabilityModel
908
1057
  * @property {number} lm_cod_limit
909
1058
  * @property {boolean} is_qc
910
- * @property {string} pickup_cutoff
911
- * @property {string} route_code
1059
+ * @property {string} [pickup_cutoff]
1060
+ * @property {string} [route_code]
912
1061
  * @property {boolean} is_first_mile
913
1062
  * @property {boolean} is_return
914
1063
  * @property {boolean} is_installation
@@ -939,102 +1088,126 @@ const Joi = require("joi");
939
1088
 
940
1089
  /**
941
1090
  * @typedef CourierPartnerSchemeModel
942
- * @property {string} extension_id
943
- * @property {string} scheme_id
1091
+ * @property {string} [name] - Name of the scheme.
1092
+ * @property {string} extension_id - Unique identifier of courier partner extension.
1093
+ * @property {string} scheme_id - Unique identifier of courier partner scheme.
1094
+ * @property {ArithmeticOperations} [volumetric_weight]
944
1095
  * @property {ArithmeticOperations} weight
945
- * @property {string} transport_type
946
- * @property {string} region
947
- * @property {string} delivery_type
948
- * @property {string[]} payment_mode
949
- * @property {string} stage
1096
+ * @property {string} transport_type - Mode of transport associated with the
1097
+ * courier partner scheme.
1098
+ * @property {string} region - Serviceable region associated with the courier
1099
+ * partner scheme.
1100
+ * @property {string} delivery_type - Type of delivery associated with the
1101
+ * courier partner scheme.
1102
+ * @property {string[]} payment_mode - Mode of payment associated with the
1103
+ * courier partner scheme.
1104
+ * @property {string} stage - Denotes whether the courier partner scheme is in
1105
+ * enabled or disabled stage.
950
1106
  * @property {CourierPartnerSchemeFeatures} feature
951
1107
  */
952
1108
 
953
1109
  /**
954
- * @typedef CourierAccountResponse
955
- * @property {string} account_id
956
- * @property {string} scheme_id
957
- * @property {boolean} is_self_ship
958
- * @property {string} stage
959
- * @property {boolean} is_own_account
960
- * @property {CourierPartnerSchemeModel} scheme_rules
1110
+ * @typedef CourierAccountResult
1111
+ * @property {number} company_id - Company id associated with the account.
1112
+ * @property {string} [extension_id] - Unique identifier of courier partner extension.
1113
+ * @property {string} account_id - Unique identifier of courier partner scheme
1114
+ * and company id combination.
1115
+ * @property {string} scheme_id - Unique identifier of courier partner scheme.
1116
+ * @property {boolean} is_self_ship - Denotes if the account is of self delivery type.
1117
+ * @property {string} stage - Denotes whether the account is in enabled or disabled stage.
1118
+ * @property {boolean} is_own_account - Denotes whether it is the seller's own
1119
+ * account or not.
1120
+ * @property {CourierPartnerSchemeModel} [scheme_rules]
961
1121
  */
962
1122
 
963
1123
  /**
964
- * @typedef CompanyCourierPartnerAccountListResponse
965
- * @property {CourierAccountResponse[]} items
1124
+ * @typedef CompanyCourierPartnerAccountListResult
1125
+ * @property {CourierAccountResult[]} items
966
1126
  * @property {Page} page
967
1127
  */
968
1128
 
969
1129
  /**
970
1130
  * @typedef PackageMaterial
971
- * @property {string} name
972
- * @property {number} width
973
- * @property {number} height
974
- * @property {number} length
975
- * @property {PackageMaterialRule[]} [rules]
976
- * @property {number[]} store_ids
977
- * @property {number} weight
978
- * @property {number} error_rate
979
- * @property {string} package_type
980
- * @property {string} size
981
- * @property {string[]} [media]
982
- * @property {Channel[]} channels
983
- * @property {boolean} [track_inventory]
984
- * @property {string} status
985
- * @property {number} [max_weight]
986
- * @property {number} [package_vol_weight]
987
- * @property {boolean} [auto_calculate]
988
- */
989
-
990
- /**
991
- * @typedef PackageMaterialResponse
992
- * @property {string} name
993
- * @property {string} [id]
994
- * @property {number} [item_id]
995
- * @property {number} width
996
- * @property {number} height
997
- * @property {number} length
998
- * @property {PackageMaterialRule[]} [rules]
999
- * @property {number[]} store_ids
1000
- * @property {number} weight
1001
- * @property {number} error_rate
1002
- * @property {string} package_type
1003
- * @property {string} size
1004
- * @property {string[]} [media]
1005
- * @property {Channel[]} channels
1006
- * @property {boolean} [track_inventory]
1007
- * @property {string} status
1008
- * @property {number} [max_weight]
1009
- * @property {number} [package_vol_weight]
1010
- * @property {boolean} [auto_calculate]
1131
+ * @property {string} name - Name of the packaging material.
1132
+ * @property {number} width - Width of the packaging material dimentions in centimeter.
1133
+ * @property {number} height - Height of the packaging material dimentions in centimeter.
1134
+ * @property {number} length - Length of the packaging material dimentions in centimeter.
1135
+ * @property {PackageMaterialRule[]} [rules] - Product group rules associated
1136
+ * with the packaging.
1137
+ * @property {number[]} store_ids - Store ids where the packaging is avaiable.
1138
+ * @property {number} weight - Package's weight in gram.
1139
+ * @property {number} error_rate - Error Rate associated with the packaging dimensions.
1140
+ * @property {string} package_type - Type of package material.
1141
+ * @property {string} size - Physical size of the packaging.
1142
+ * @property {string[]} [media] - Image urls associated with the packaging material.
1143
+ * @property {Channel[]} channels - Sales channel where packaging is applicable.
1144
+ * @property {boolean} [track_inventory] - Denotes if the track of the inventory
1145
+ * should be kept.
1146
+ * @property {string} status - Current status of the packaging material, if it
1147
+ * is active or inactive.
1148
+ * @property {number} [max_weight] - Maximum weight holding capacity.
1149
+ * @property {number} [package_vol_weight] - Volumetric weight that a packaging
1150
+ * material can carry.
1151
+ * @property {boolean} [auto_calculate] - Denotes whether the volumetric weight
1152
+ * should be auto calculated or not.
1153
+ */
1154
+
1155
+ /**
1156
+ * @typedef PackageMaterialResult
1157
+ * @property {string} name - Name of the packaging material.
1158
+ * @property {string} [id] - Id of the packaging material.
1159
+ * @property {number} [item_id] - Unique identifier of an item associated with
1160
+ * the packaging material.
1161
+ * @property {number} [company_id] - Company id associated with the packaging material.
1162
+ * @property {number} width - Width of the packaging material dimentions in centimeter.
1163
+ * @property {number} height - Height of the packaging material dimentions in centimeter.
1164
+ * @property {number} length - Length of the packaging material dimentions in centimeter.
1165
+ * @property {PackageMaterialRule[]} [rules] - Product group rules associated
1166
+ * with the packaging.
1167
+ * @property {number[]} store_ids - Store ids where the packaging is avaiable.
1168
+ * @property {number} weight - Package's weight in gram.
1169
+ * @property {number} error_rate - Error Rate associated with the packaging dimensions.
1170
+ * @property {string} package_type - Type of package material.
1171
+ * @property {string} size - Physical size of the packaging.
1172
+ * @property {string[]} [media] - Image urls associated with the packaging material.
1173
+ * @property {Channel[]} channels - Sales channel where packaging is applicable.
1174
+ * @property {boolean} [track_inventory] - Denotes if the track of the inventory
1175
+ * should be kept.
1176
+ * @property {string} status - Current status of the packaging material, if it
1177
+ * is active or inactive.
1178
+ * @property {number} [max_weight] - Maximum weight holding capacity.
1179
+ * @property {number} [package_vol_weight] - Volumetric weight that a packaging
1180
+ * material can carry.
1181
+ * @property {boolean} [auto_calculate] - Denotes whether the volumetric weight
1182
+ * should be auto calculated or not.
1011
1183
  */
1012
1184
 
1013
1185
  /**
1014
1186
  * @typedef PackageMaterialRule
1015
- * @property {string} [rule_id]
1187
+ * @property {string} [rule_id] - Unique identifier of the package rule.
1016
1188
  * @property {PackageMaterialRuleQuantity} [quantity]
1017
- * @property {number} [weight]
1189
+ * @property {number} [weight] - Volumetric weight in gram.
1018
1190
  */
1019
1191
 
1020
1192
  /**
1021
1193
  * @typedef PackageRule
1022
- * @property {string} name
1023
- * @property {number} company_id
1024
- * @property {string} type
1025
- * @property {boolean} [is_active]
1194
+ * @property {string} name - Name of the package rule.
1195
+ * @property {number} company_id - Unique identifier of the company.
1196
+ * @property {string} type - Type of the rule.
1197
+ * @property {boolean} [is_active] - Denotes if the rule is active or inactive.
1026
1198
  * @property {PackageRuleProductTag} [product_tag]
1027
1199
  * @property {PackageRuleProduct} [product_id]
1028
1200
  * @property {PackageRuleCategory} [category_id]
1029
1201
  */
1030
1202
 
1031
1203
  /**
1032
- * @typedef PackageRuleResponse
1033
- * @property {string} [id]
1034
- * @property {string} name
1035
- * @property {number} company_id
1036
- * @property {string} type
1037
- * @property {boolean} [is_active]
1204
+ * @typedef PackageRuleResult
1205
+ * @property {string} [id] - Unique id of a package rule.
1206
+ * @property {string} name - Name of a package rule.
1207
+ * @property {number} company_id - Unique identifier of a company associated
1208
+ * with the package rule.
1209
+ * @property {string} type - Type of the rule created.
1210
+ * @property {boolean} [is_active] - Denotes if the rule is active or inactive.
1038
1211
  * @property {PackageRuleProductTag} [product_tag]
1039
1212
  * @property {PackageRuleProduct} [product_id]
1040
1213
  * @property {PackageRuleCategory} [category_id]
@@ -1042,19 +1215,19 @@ const Joi = require("joi");
1042
1215
 
1043
1216
  /**
1044
1217
  * @typedef Channel
1045
- * @property {string} [type]
1046
- * @property {string} [id]
1218
+ * @property {string} [type] - Type of the channel.
1219
+ * @property {string} [id] - Unique identifier of the channel.
1047
1220
  */
1048
1221
 
1049
1222
  /**
1050
1223
  * @typedef PackageMaterialRuleList
1051
- * @property {PackageRuleResponse} [items]
1224
+ * @property {PackageRuleResult} [items]
1052
1225
  * @property {Page} [page]
1053
1226
  */
1054
1227
 
1055
1228
  /**
1056
1229
  * @typedef PackageMaterialList
1057
- * @property {PackageMaterialResponse} [items]
1230
+ * @property {PackageMaterialResult} [items]
1058
1231
  * @property {Page} [page]
1059
1232
  */
1060
1233
 
@@ -1075,19 +1248,20 @@ const Joi = require("joi");
1075
1248
 
1076
1249
  /**
1077
1250
  * @typedef PackageMaterialRuleQuantity
1078
- * @property {number} [min]
1079
- * @property {number} [max]
1251
+ * @property {number} [min] - Minimum product's quantity that a packaging can contain.
1252
+ * @property {number} [max] - Maximum product's quantity that a packaging can contain.
1080
1253
  */
1081
1254
 
1082
1255
  /**
1083
- * @typedef RulePriorityRequest
1084
- * @property {string} rule_id
1085
- * @property {number} priority
1256
+ * @typedef RulePriorityDetails
1257
+ * @property {string} rule_id - Rule id whose priority needs to be changed.
1258
+ * @property {number} priority - New priority of the rule.
1086
1259
  */
1087
1260
 
1088
1261
  /**
1089
- * @typedef RulePriorityResponse
1090
- * @property {boolean} [success]
1262
+ * @typedef RulePriorityResult
1263
+ * @property {boolean} [success] - Denotes if the priority of the rule is
1264
+ * changes successfully or not.
1091
1265
  */
1092
1266
 
1093
1267
  /**
@@ -1118,7 +1292,7 @@ const Joi = require("joi");
1118
1292
  * @typedef OptimalLocationsArticles
1119
1293
  * @property {number} item_id
1120
1294
  * @property {string} size
1121
- * @property {string} quantity
1295
+ * @property {number} quantity
1122
1296
  * @property {string} [group_id]
1123
1297
  * @property {boolean} [is_primary_item]
1124
1298
  * @property {Object} [meta]
@@ -1129,16 +1303,16 @@ const Joi = require("joi");
1129
1303
  */
1130
1304
 
1131
1305
  /**
1132
- * @typedef OptimlLocationsRequestSchema
1306
+ * @typedef OptimlLocationsDetailsSchema
1133
1307
  * @property {string} channel_id
1134
1308
  * @property {string} channel_type
1135
1309
  * @property {string} [channel_identifier]
1136
1310
  * @property {LocationDetailsServiceability} to_serviceability
1137
- * @property {OptimalLocationsArticles} [article]
1311
+ * @property {OptimalLocationsArticles[]} [articles]
1138
1312
  */
1139
1313
 
1140
1314
  /**
1141
- * @typedef OptimalLocationArticlesResponse
1315
+ * @typedef OptimalLocationArticlesResult
1142
1316
  * @property {number} item_id
1143
1317
  * @property {string} size
1144
1318
  * @property {number} quantity
@@ -1156,27 +1330,38 @@ const Joi = require("joi");
1156
1330
  */
1157
1331
 
1158
1332
  /**
1159
- * @typedef OptimalLocationAssignedStoresResponse
1333
+ * @typedef OptimalLocationAssignedStoresResult
1160
1334
  * @property {number} store_id
1161
- * @property {OptimalLocationArticlesResponse[]} articles
1335
+ * @property {OptimalLocationArticlesResult[]} articles
1336
+ */
1337
+
1338
+ /**
1339
+ * @typedef OptimalLocationsResult
1340
+ * @property {OptimalLocationAssignedStoresResult[]} assigned_stores
1341
+ * @property {ErrorResult[]} [faulty_articles]
1342
+ */
1343
+
1344
+ /**
1345
+ * @typedef ValidationError
1346
+ * @property {string} message - A brief description of the error encountered.
1347
+ * @property {string} field - The field in the request that caused the error.
1162
1348
  */
1163
1349
 
1164
1350
  /**
1165
- * @typedef OptimalLocationsResponse
1166
- * @property {OptimalLocationAssignedStoresResponse[]} assigned_stores
1167
- * @property {ErrorResponse[]} [faulty_articles]
1351
+ * @typedef StandardError
1352
+ * @property {string} message - A brief description of the error.
1168
1353
  */
1169
1354
 
1170
1355
  class ServiceabilityPlatformModel {
1171
- /** @returns {UpdateZoneConfigRequest} */
1172
- static UpdateZoneConfigRequest() {
1356
+ /** @returns {UpdateZoneConfigDetails} */
1357
+ static UpdateZoneConfigDetails() {
1173
1358
  return Joi.object({
1174
1359
  serviceability_type: Joi.string().allow(""),
1175
1360
  });
1176
1361
  }
1177
1362
 
1178
- /** @returns {ServiceabilityErrorResponse} */
1179
- static ServiceabilityErrorResponse() {
1363
+ /** @returns {ServiceabilityErrorResult} */
1364
+ static ServiceabilityErrorResult() {
1180
1365
  return Joi.object({
1181
1366
  message: Joi.string().allow("").required(),
1182
1367
  value: Joi.string().allow("").required(),
@@ -1193,17 +1378,17 @@ class ServiceabilityPlatformModel {
1193
1378
  });
1194
1379
  }
1195
1380
 
1196
- /** @returns {ApplicationServiceabilityConfigResponse} */
1197
- static ApplicationServiceabilityConfigResponse() {
1381
+ /** @returns {ApplicationServiceabilityConfigResult} */
1382
+ static ApplicationServiceabilityConfigResult() {
1198
1383
  return Joi.object({
1199
- error: ServiceabilityPlatformModel.ServiceabilityErrorResponse(),
1384
+ error: ServiceabilityPlatformModel.ServiceabilityErrorResult(),
1200
1385
  data: ServiceabilityPlatformModel.ApplicationServiceabilityConfig(),
1201
1386
  success: Joi.boolean().required(),
1202
1387
  });
1203
1388
  }
1204
1389
 
1205
- /** @returns {EntityRegionView_Request} */
1206
- static EntityRegionView_Request() {
1390
+ /** @returns {EntityRegionView_Details} */
1391
+ static EntityRegionView_Details() {
1207
1392
  return Joi.object({
1208
1393
  sub_type: Joi.array().items(Joi.string().allow("")).required(),
1209
1394
  parent_id: Joi.array().items(Joi.string().allow("")),
@@ -1230,8 +1415,8 @@ class ServiceabilityPlatformModel {
1230
1415
  });
1231
1416
  }
1232
1417
 
1233
- /** @returns {getAppRegionZonesResponse} */
1234
- static getAppRegionZonesResponse() {
1418
+ /** @returns {getAppRegionZonesResult} */
1419
+ static getAppRegionZonesResult() {
1235
1420
  return Joi.object({
1236
1421
  page: Joi.array()
1237
1422
  .items(ServiceabilityPlatformModel.PageSchema())
@@ -1262,8 +1447,8 @@ class ServiceabilityPlatformModel {
1262
1447
  });
1263
1448
  }
1264
1449
 
1265
- /** @returns {EntityRegionView_Response} */
1266
- static EntityRegionView_Response() {
1450
+ /** @returns {EntityRegionView_Result} */
1451
+ static EntityRegionView_Result() {
1267
1452
  return Joi.object({
1268
1453
  error: ServiceabilityPlatformModel.EntityRegionView_Error().required(),
1269
1454
  page: ServiceabilityPlatformModel.EntityRegionView_page().required(),
@@ -1327,8 +1512,8 @@ class ServiceabilityPlatformModel {
1327
1512
  });
1328
1513
  }
1329
1514
 
1330
- /** @returns {ListViewResponse} */
1331
- static ListViewResponse() {
1515
+ /** @returns {ListViewResult} */
1516
+ static ListViewResult() {
1332
1517
  return Joi.object({
1333
1518
  page: ServiceabilityPlatformModel.ZoneDataItem().required(),
1334
1519
  items: Joi.array()
@@ -1348,8 +1533,8 @@ class ServiceabilityPlatformModel {
1348
1533
  });
1349
1534
  }
1350
1535
 
1351
- /** @returns {CompanyStoreView_Response} */
1352
- static CompanyStoreView_Response() {
1536
+ /** @returns {CompanyStoreView_Result} */
1537
+ static CompanyStoreView_Result() {
1353
1538
  return Joi.object({
1354
1539
  page: Joi.array()
1355
1540
  .items(ServiceabilityPlatformModel.CompanyStoreView_PageItems())
@@ -1423,16 +1608,16 @@ class ServiceabilityPlatformModel {
1423
1608
  });
1424
1609
  }
1425
1610
 
1426
- /** @returns {ZoneUpdateRequest} */
1427
- static ZoneUpdateRequest() {
1611
+ /** @returns {ZoneUpdateDetails} */
1612
+ static ZoneUpdateDetails() {
1428
1613
  return Joi.object({
1429
1614
  identifier: Joi.string().allow("").required(),
1430
1615
  data: ServiceabilityPlatformModel.UpdateZoneData().required(),
1431
1616
  });
1432
1617
  }
1433
1618
 
1434
- /** @returns {ZoneSuccessResponse} */
1435
- static ZoneSuccessResponse() {
1619
+ /** @returns {ZoneSuccessResult} */
1620
+ static ZoneSuccessResult() {
1436
1621
  return Joi.object({
1437
1622
  status_code: Joi.number().required(),
1438
1623
  success: Joi.boolean().required(),
@@ -1456,12 +1641,13 @@ class ServiceabilityPlatformModel {
1456
1641
  mapping: Joi.array()
1457
1642
  .items(ServiceabilityPlatformModel.ZoneMappingType())
1458
1643
  .required(),
1644
+ assignment_preference: Joi.string().allow(""),
1459
1645
  stores_count: Joi.number().required(),
1460
1646
  });
1461
1647
  }
1462
1648
 
1463
- /** @returns {GetSingleZoneDataViewResponse} */
1464
- static GetSingleZoneDataViewResponse() {
1649
+ /** @returns {GetSingleZoneDataViewResult} */
1650
+ static GetSingleZoneDataViewResult() {
1465
1651
  return Joi.object({
1466
1652
  data: ServiceabilityPlatformModel.GetZoneDataViewItems().required(),
1467
1653
  });
@@ -1484,6 +1670,7 @@ class ServiceabilityPlatformModel {
1484
1670
  mapping: Joi.array()
1485
1671
  .items(ServiceabilityPlatformModel.ZoneMappingDetailType())
1486
1672
  .required(),
1673
+ stores_count: Joi.number(),
1487
1674
  });
1488
1675
  }
1489
1676
 
@@ -1498,25 +1685,25 @@ class ServiceabilityPlatformModel {
1498
1685
  .items(ServiceabilityPlatformModel.GetZoneDataViewChannels())
1499
1686
  .required(),
1500
1687
  store_ids: Joi.array().items(Joi.number()).required(),
1501
- product: ServiceabilityPlatformModel.ZoneProductTypes().required(),
1502
1688
  region_type: Joi.string().allow("").required(),
1503
1689
  mapping: Joi.array()
1504
1690
  .items(ServiceabilityPlatformModel.ZoneMappingType())
1505
1691
  .required(),
1692
+ product: ServiceabilityPlatformModel.ZoneProductTypes(),
1506
1693
  });
1507
1694
  }
1508
1695
 
1509
- /** @returns {ZoneResponse} */
1510
- static ZoneResponse() {
1696
+ /** @returns {ZoneResult} */
1697
+ static ZoneResult() {
1511
1698
  return Joi.object({
1512
- status_code: Joi.number().required(),
1699
+ status_code: Joi.number(),
1513
1700
  zone_id: Joi.string().allow("").required(),
1514
1701
  success: Joi.boolean().required(),
1515
1702
  });
1516
1703
  }
1517
1704
 
1518
- /** @returns {GetZoneFromPincodeViewRequest} */
1519
- static GetZoneFromPincodeViewRequest() {
1705
+ /** @returns {GetZoneFromPincodeViewDetails} */
1706
+ static GetZoneFromPincodeViewDetails() {
1520
1707
  return Joi.object({
1521
1708
  country: Joi.string().allow("").required(),
1522
1709
  pincode: Joi.string().allow("").required(),
@@ -1536,16 +1723,16 @@ class ServiceabilityPlatformModel {
1536
1723
  });
1537
1724
  }
1538
1725
 
1539
- /** @returns {GetZoneFromPincodeViewResponse} */
1540
- static GetZoneFromPincodeViewResponse() {
1726
+ /** @returns {GetZoneFromPincodeViewResult} */
1727
+ static GetZoneFromPincodeViewResult() {
1541
1728
  return Joi.object({
1542
1729
  serviceability_type: Joi.string().allow("").required(),
1543
1730
  zones: Joi.array().items(ServiceabilityPlatformModel.Zone()).required(),
1544
1731
  });
1545
1732
  }
1546
1733
 
1547
- /** @returns {GetZoneFromApplicationIdViewResponse} */
1548
- static GetZoneFromApplicationIdViewResponse() {
1734
+ /** @returns {GetZoneFromApplicationIdViewResult} */
1735
+ static GetZoneFromApplicationIdViewResult() {
1549
1736
  return Joi.object({
1550
1737
  page: Joi.array()
1551
1738
  .items(ServiceabilityPlatformModel.ZoneDataItem())
@@ -1556,8 +1743,8 @@ class ServiceabilityPlatformModel {
1556
1743
  });
1557
1744
  }
1558
1745
 
1559
- /** @returns {ServiceabilityPageResponse} */
1560
- static ServiceabilityPageResponse() {
1746
+ /** @returns {ServiceabilityPageResult} */
1747
+ static ServiceabilityPageResult() {
1561
1748
  return Joi.object({
1562
1749
  type: Joi.string().allow(""),
1563
1750
  has_next: Joi.boolean(),
@@ -1575,8 +1762,8 @@ class ServiceabilityPlatformModel {
1575
1762
  });
1576
1763
  }
1577
1764
 
1578
- /** @returns {ManagerResponse} */
1579
- static ManagerResponse() {
1765
+ /** @returns {ManagerResult} */
1766
+ static ManagerResult() {
1580
1767
  return Joi.object({
1581
1768
  email: Joi.string().allow(""),
1582
1769
  mobile_no: ServiceabilityPlatformModel.MobileNo(),
@@ -1584,39 +1771,39 @@ class ServiceabilityPlatformModel {
1584
1771
  });
1585
1772
  }
1586
1773
 
1587
- /** @returns {ModifiedByResponse} */
1588
- static ModifiedByResponse() {
1774
+ /** @returns {ModifiedByResult} */
1775
+ static ModifiedByResult() {
1589
1776
  return Joi.object({
1590
1777
  username: Joi.string().allow(""),
1591
1778
  user_id: Joi.string().allow(""),
1592
1779
  });
1593
1780
  }
1594
1781
 
1595
- /** @returns {IntegrationTypeResponse} */
1596
- static IntegrationTypeResponse() {
1782
+ /** @returns {IntegrationTypeResult} */
1783
+ static IntegrationTypeResult() {
1597
1784
  return Joi.object({
1598
1785
  inventory: Joi.string().allow(""),
1599
1786
  order: Joi.string().allow(""),
1600
1787
  });
1601
1788
  }
1602
1789
 
1603
- /** @returns {ProductReturnConfigResponse} */
1604
- static ProductReturnConfigResponse() {
1790
+ /** @returns {ProductReturnConfigResult} */
1791
+ static ProductReturnConfigResult() {
1605
1792
  return Joi.object({
1606
1793
  on_same_store: Joi.boolean(),
1607
1794
  });
1608
1795
  }
1609
1796
 
1610
- /** @returns {ContactNumberResponse} */
1611
- static ContactNumberResponse() {
1797
+ /** @returns {ContactNumberResult} */
1798
+ static ContactNumberResult() {
1612
1799
  return Joi.object({
1613
1800
  number: Joi.string().allow(""),
1614
1801
  country_code: Joi.number(),
1615
1802
  });
1616
1803
  }
1617
1804
 
1618
- /** @returns {AddressResponse} */
1619
- static AddressResponse() {
1805
+ /** @returns {AddressResult} */
1806
+ static AddressResult() {
1620
1807
  return Joi.object({
1621
1808
  city: Joi.string().allow(""),
1622
1809
  address1: Joi.string().allow(""),
@@ -1630,38 +1817,38 @@ class ServiceabilityPlatformModel {
1630
1817
  });
1631
1818
  }
1632
1819
 
1633
- /** @returns {CreatedByResponse} */
1634
- static CreatedByResponse() {
1820
+ /** @returns {CreatedByResult} */
1821
+ static CreatedByResult() {
1635
1822
  return Joi.object({
1636
1823
  username: Joi.string().allow(""),
1637
1824
  user_id: Joi.string().allow(""),
1638
1825
  });
1639
1826
  }
1640
1827
 
1641
- /** @returns {EwayBillResponse} */
1642
- static EwayBillResponse() {
1828
+ /** @returns {EwayBillResult} */
1829
+ static EwayBillResult() {
1643
1830
  return Joi.object({
1644
1831
  enabled: Joi.boolean(),
1645
1832
  });
1646
1833
  }
1647
1834
 
1648
- /** @returns {EinvoiceResponse} */
1649
- static EinvoiceResponse() {
1835
+ /** @returns {EinvoiceResult} */
1836
+ static EinvoiceResult() {
1650
1837
  return Joi.object({
1651
1838
  enabled: Joi.boolean(),
1652
1839
  });
1653
1840
  }
1654
1841
 
1655
- /** @returns {GstCredentialsResponse} */
1656
- static GstCredentialsResponse() {
1842
+ /** @returns {GstCredentialsResult} */
1843
+ static GstCredentialsResult() {
1657
1844
  return Joi.object({
1658
- e_waybill: ServiceabilityPlatformModel.EwayBillResponse(),
1659
- e_invoice: ServiceabilityPlatformModel.EinvoiceResponse(),
1845
+ e_waybill: ServiceabilityPlatformModel.EwayBillResult(),
1846
+ e_invoice: ServiceabilityPlatformModel.EinvoiceResult(),
1660
1847
  });
1661
1848
  }
1662
1849
 
1663
- /** @returns {WarningsResponse} */
1664
- static WarningsResponse() {
1850
+ /** @returns {WarningsResult} */
1851
+ static WarningsResult() {
1665
1852
  return Joi.object({
1666
1853
  store_address: Joi.string().allow(""),
1667
1854
  });
@@ -1675,8 +1862,8 @@ class ServiceabilityPlatformModel {
1675
1862
  });
1676
1863
  }
1677
1864
 
1678
- /** @returns {TimmingResponse} */
1679
- static TimmingResponse() {
1865
+ /** @returns {TimmingResult} */
1866
+ static TimmingResult() {
1680
1867
  return Joi.object({
1681
1868
  open: Joi.boolean(),
1682
1869
  weekday: Joi.string().allow(""),
@@ -1685,8 +1872,8 @@ class ServiceabilityPlatformModel {
1685
1872
  });
1686
1873
  }
1687
1874
 
1688
- /** @returns {DocumentsResponse} */
1689
- static DocumentsResponse() {
1875
+ /** @returns {DocumentsResult} */
1876
+ static DocumentsResult() {
1690
1877
  return Joi.object({
1691
1878
  legal_name: Joi.string().allow(""),
1692
1879
  value: Joi.string().allow(""),
@@ -1711,57 +1898,57 @@ class ServiceabilityPlatformModel {
1711
1898
  });
1712
1899
  }
1713
1900
 
1714
- /** @returns {LogisticsResponse} */
1715
- static LogisticsResponse() {
1901
+ /** @returns {LogisticsResult} */
1902
+ static LogisticsResult() {
1716
1903
  return Joi.object({
1717
1904
  override: Joi.boolean(),
1718
1905
  dp: ServiceabilityPlatformModel.Dp(),
1719
1906
  });
1720
1907
  }
1721
1908
 
1722
- /** @returns {ItemResponse} */
1723
- static ItemResponse() {
1909
+ /** @returns {ItemResult} */
1910
+ static ItemResult() {
1724
1911
  return Joi.object({
1725
1912
  created_on: Joi.string().allow(""),
1726
- manager: ServiceabilityPlatformModel.ManagerResponse(),
1727
- modified_by: ServiceabilityPlatformModel.ModifiedByResponse(),
1728
- integration_type: ServiceabilityPlatformModel.IntegrationTypeResponse(),
1913
+ manager: ServiceabilityPlatformModel.ManagerResult(),
1914
+ modified_by: ServiceabilityPlatformModel.ModifiedByResult(),
1915
+ integration_type: ServiceabilityPlatformModel.IntegrationTypeResult(),
1729
1916
  verified_on: Joi.string().allow(""),
1730
- product_return_config: ServiceabilityPlatformModel.ProductReturnConfigResponse(),
1917
+ product_return_config: ServiceabilityPlatformModel.ProductReturnConfigResult(),
1731
1918
  contact_numbers: Joi.array().items(
1732
- ServiceabilityPlatformModel.ContactNumberResponse()
1919
+ ServiceabilityPlatformModel.ContactNumberResult()
1733
1920
  ),
1734
- verified_by: ServiceabilityPlatformModel.ModifiedByResponse(),
1921
+ verified_by: ServiceabilityPlatformModel.ModifiedByResult(),
1735
1922
  stage: Joi.string().allow(""),
1736
- address: ServiceabilityPlatformModel.AddressResponse(),
1923
+ address: ServiceabilityPlatformModel.AddressResult(),
1737
1924
  modified_on: Joi.string().allow(""),
1738
- created_by: ServiceabilityPlatformModel.CreatedByResponse(),
1739
- gst_credentials: ServiceabilityPlatformModel.GstCredentialsResponse(),
1925
+ created_by: ServiceabilityPlatformModel.CreatedByResult(),
1926
+ gst_credentials: ServiceabilityPlatformModel.GstCredentialsResult(),
1740
1927
  display_name: Joi.string().allow(""),
1741
1928
  company_id: Joi.number(),
1742
1929
  uid: Joi.number(),
1743
- _custom_json: Joi.any(),
1930
+ _custom_json: Joi.object().pattern(/\S/, Joi.any()),
1744
1931
  code: Joi.string().allow(""),
1745
- warnings: ServiceabilityPlatformModel.WarningsResponse(),
1932
+ warnings: ServiceabilityPlatformModel.WarningsResult(),
1746
1933
  name: Joi.string().allow(""),
1747
- timing: Joi.array().items(ServiceabilityPlatformModel.TimmingResponse()),
1934
+ timing: Joi.array().items(ServiceabilityPlatformModel.TimmingResult()),
1748
1935
  documents: Joi.array().items(
1749
- ServiceabilityPlatformModel.DocumentsResponse()
1936
+ ServiceabilityPlatformModel.DocumentsResult()
1750
1937
  ),
1751
1938
  store_type: Joi.string().allow(""),
1752
1939
  sub_type: Joi.string().allow(""),
1753
1940
  company: Joi.number(),
1754
1941
  _cls: Joi.string().allow(""),
1755
- logistics: ServiceabilityPlatformModel.LogisticsResponse(),
1942
+ logistics: ServiceabilityPlatformModel.LogisticsResult(),
1756
1943
  notification_emails: Joi.array().items(Joi.string().allow("")),
1757
1944
  });
1758
1945
  }
1759
1946
 
1760
- /** @returns {GetStoresViewResponse} */
1761
- static GetStoresViewResponse() {
1947
+ /** @returns {GetStoresViewResult} */
1948
+ static GetStoresViewResult() {
1762
1949
  return Joi.object({
1763
- page: ServiceabilityPlatformModel.ServiceabilityPageResponse().required(),
1764
- items: Joi.array().items(ServiceabilityPlatformModel.ItemResponse()),
1950
+ page: ServiceabilityPlatformModel.ServiceabilityPageResult().required(),
1951
+ items: Joi.array().items(ServiceabilityPlatformModel.ItemResult()),
1765
1952
  });
1766
1953
  }
1767
1954
 
@@ -1774,8 +1961,8 @@ class ServiceabilityPlatformModel {
1774
1961
  });
1775
1962
  }
1776
1963
 
1777
- /** @returns {PincodeMopUpdateResponse} */
1778
- static PincodeMopUpdateResponse() {
1964
+ /** @returns {PincodeMopUpdateResult} */
1965
+ static PincodeMopUpdateResult() {
1779
1966
  return Joi.object({
1780
1967
  pincode: Joi.number().required(),
1781
1968
  channel_id: Joi.string().allow("").required(),
@@ -1784,8 +1971,8 @@ class ServiceabilityPlatformModel {
1784
1971
  });
1785
1972
  }
1786
1973
 
1787
- /** @returns {PincodeMOPresponse} */
1788
- static PincodeMOPresponse() {
1974
+ /** @returns {PincodeMOPResult} */
1975
+ static PincodeMOPResult() {
1789
1976
  return Joi.object({
1790
1977
  success: Joi.boolean().required(),
1791
1978
  status_code: Joi.number().required(),
@@ -1794,7 +1981,7 @@ class ServiceabilityPlatformModel {
1794
1981
  action: Joi.string().allow("").required(),
1795
1982
  pincodes: Joi.array().items(Joi.number()),
1796
1983
  updated_pincodes: Joi.array().items(
1797
- ServiceabilityPlatformModel.PincodeMopUpdateResponse()
1984
+ ServiceabilityPlatformModel.PincodeMopUpdateResult()
1798
1985
  ),
1799
1986
  });
1800
1987
  }
@@ -1816,16 +2003,16 @@ class ServiceabilityPlatformModel {
1816
2003
  });
1817
2004
  }
1818
2005
 
1819
- /** @returns {PincodeBulkViewResponse} */
1820
- static PincodeBulkViewResponse() {
2006
+ /** @returns {PincodeBulkViewResult} */
2007
+ static PincodeBulkViewResult() {
1821
2008
  return Joi.object({
1822
2009
  batch_id: Joi.string().allow("").required(),
1823
2010
  s3_url: Joi.string().allow("").required(),
1824
2011
  });
1825
2012
  }
1826
2013
 
1827
- /** @returns {PincodeCodStatusListingRequest} */
1828
- static PincodeCodStatusListingRequest() {
2014
+ /** @returns {PincodeCodStatusListingDetails} */
2015
+ static PincodeCodStatusListingDetails() {
1829
2016
  return Joi.object({
1830
2017
  country: Joi.string().allow(""),
1831
2018
  is_active: Joi.boolean(),
@@ -1835,18 +2022,26 @@ class ServiceabilityPlatformModel {
1835
2022
  });
1836
2023
  }
1837
2024
 
1838
- /** @returns {PincodeCodStatusListingResponse} */
1839
- static PincodeCodStatusListingResponse() {
2025
+ /** @returns {PincodeCodStatusItem} */
2026
+ static PincodeCodStatusItem() {
2027
+ return Joi.object({
2028
+ active: Joi.boolean(),
2029
+ pincode: Joi.string().allow(""),
2030
+ });
2031
+ }
2032
+
2033
+ /** @returns {PincodeCodStatusListingResult} */
2034
+ static PincodeCodStatusListingResult() {
1840
2035
  return Joi.object({
1841
2036
  country: Joi.string().allow("").required(),
1842
2037
  data: Joi.array()
1843
- .items(Joi.link("#PincodeCodStatusListingResponse"))
2038
+ .items(Joi.link("#PincodeCodStatusListingResult"))
1844
2039
  .required(),
1845
2040
  success: Joi.boolean().required(),
1846
2041
  errors: Joi.array().items(ServiceabilityPlatformModel.Error()),
1847
2042
  page: ServiceabilityPlatformModel.PincodeCodStatusListingPage().required(),
1848
2043
  summary: ServiceabilityPlatformModel.PincodeCodStatusListingSummary().required(),
1849
- }).id("PincodeCodStatusListingResponse");
2044
+ }).id("PincodeCodStatusListingResult");
1850
2045
  }
1851
2046
 
1852
2047
  /** @returns {Error} */
@@ -1877,8 +2072,8 @@ class ServiceabilityPlatformModel {
1877
2072
  });
1878
2073
  }
1879
2074
 
1880
- /** @returns {PincodeMopUpdateAuditHistoryRequest} */
1881
- static PincodeMopUpdateAuditHistoryRequest() {
2075
+ /** @returns {PincodeMopUpdateAuditHistoryDetails} */
2076
+ static PincodeMopUpdateAuditHistoryDetails() {
1882
2077
  return Joi.object({
1883
2078
  entity_type: Joi.string().allow("").required(),
1884
2079
  file_name: Joi.string().allow(""),
@@ -1896,8 +2091,8 @@ class ServiceabilityPlatformModel {
1896
2091
  });
1897
2092
  }
1898
2093
 
1899
- /** @returns {PincodeMopUpdateAuditHistoryResponse} */
1900
- static PincodeMopUpdateAuditHistoryResponse() {
2094
+ /** @returns {PincodeMopUpdateAuditHistoryResult} */
2095
+ static PincodeMopUpdateAuditHistoryResult() {
1901
2096
  return Joi.object({
1902
2097
  batch_id: Joi.string().allow(""),
1903
2098
  entity_type: Joi.string().allow(""),
@@ -1910,15 +2105,13 @@ class ServiceabilityPlatformModel {
1910
2105
  });
1911
2106
  }
1912
2107
 
1913
- /** @returns {PincodeMopUpdateAuditHistoryResponseData} */
1914
- static PincodeMopUpdateAuditHistoryResponseData() {
2108
+ /** @returns {PincodeMopUpdateAuditHistoryResultData} */
2109
+ static PincodeMopUpdateAuditHistoryResultData() {
1915
2110
  return Joi.object({
1916
2111
  entity_type: Joi.string().allow(""),
1917
2112
  page: ServiceabilityPlatformModel.PincodeMopUpdateAuditHistoryPaging().required(),
1918
2113
  data: Joi.array()
1919
- .items(
1920
- ServiceabilityPlatformModel.PincodeMopUpdateAuditHistoryResponse()
1921
- )
2114
+ .items(ServiceabilityPlatformModel.PincodeMopUpdateAuditHistoryResult())
1922
2115
  .required(),
1923
2116
  });
1924
2117
  }
@@ -1957,20 +2150,33 @@ class ServiceabilityPlatformModel {
1957
2150
  });
1958
2151
  }
1959
2152
 
2153
+ /** @returns {CourierAccountUpdateDetails} */
2154
+ static CourierAccountUpdateDetails() {
2155
+ return Joi.object({
2156
+ extension_id: Joi.string().allow("").required(),
2157
+ scheme_id: Joi.string().allow("").required(),
2158
+ is_self_ship: Joi.boolean().required(),
2159
+ stage: Joi.string().allow("").required(),
2160
+ is_own_account: Joi.boolean().required(),
2161
+ });
2162
+ }
2163
+
1960
2164
  /** @returns {CourierAccount} */
1961
2165
  static CourierAccount() {
1962
2166
  return Joi.object({
2167
+ company_id: Joi.number().required(),
1963
2168
  extension_id: Joi.string().allow("").required(),
1964
2169
  account_id: Joi.string().allow("").required(),
1965
2170
  scheme_id: Joi.string().allow("").required(),
1966
2171
  is_self_ship: Joi.boolean().required(),
1967
2172
  stage: Joi.string().allow("").required(),
1968
2173
  is_own_account: Joi.boolean().required(),
2174
+ scheme_rules: ServiceabilityPlatformModel.CourierPartnerSchemeModel().required(),
1969
2175
  });
1970
2176
  }
1971
2177
 
1972
- /** @returns {CourierAccountRequestBody} */
1973
- static CourierAccountRequestBody() {
2178
+ /** @returns {CourierAccountDetailsBody} */
2179
+ static CourierAccountDetailsBody() {
1974
2180
  return Joi.object({
1975
2181
  extension_id: Joi.string().allow("").required(),
1976
2182
  account_id: Joi.string().allow(""),
@@ -1981,8 +2187,8 @@ class ServiceabilityPlatformModel {
1981
2187
  });
1982
2188
  }
1983
2189
 
1984
- /** @returns {ErrorResponse} */
1985
- static ErrorResponse() {
2190
+ /** @returns {ErrorResult} */
2191
+ static ErrorResult() {
1986
2192
  return Joi.object({
1987
2193
  value: Joi.string().allow("").required(),
1988
2194
  message: Joi.string().allow("").required(),
@@ -1990,12 +2196,12 @@ class ServiceabilityPlatformModel {
1990
2196
  });
1991
2197
  }
1992
2198
 
1993
- /** @returns {CourierPartnerAccountFailureResponse} */
1994
- static CourierPartnerAccountFailureResponse() {
2199
+ /** @returns {CourierPartnerAccountFailureResult} */
2200
+ static CourierPartnerAccountFailureResult() {
1995
2201
  return Joi.object({
1996
2202
  success: Joi.boolean().required(),
1997
2203
  error: Joi.array()
1998
- .items(ServiceabilityPlatformModel.ErrorResponse())
2204
+ .items(ServiceabilityPlatformModel.ErrorResult())
1999
2205
  .required(),
2000
2206
  });
2001
2207
  }
@@ -2013,32 +2219,32 @@ class ServiceabilityPlatformModel {
2013
2219
  });
2014
2220
  }
2015
2221
 
2016
- /** @returns {CourierPartnerRuleCPListResponse} */
2017
- static CourierPartnerRuleCPListResponse() {
2222
+ /** @returns {CourierPartnerRuleCPListResult} */
2223
+ static CourierPartnerRuleCPListResult() {
2018
2224
  return Joi.object({
2019
- account_id: Joi.string().allow(""),
2020
- extension_id: Joi.string().allow(""),
2021
- is_self_ship: Joi.boolean(),
2022
- scheme_rules: Joi.any(),
2225
+ account_id: Joi.string().allow("").required(),
2226
+ extension_id: Joi.string().allow("").required(),
2227
+ is_self_ship: Joi.boolean().required(),
2228
+ scheme_rules: Joi.object().pattern(/\S/, Joi.any()),
2023
2229
  });
2024
2230
  }
2025
2231
 
2026
- /** @returns {CourierPartnerRuleResponse} */
2027
- static CourierPartnerRuleResponse() {
2232
+ /** @returns {CourierPartnerRuleResult} */
2233
+ static CourierPartnerRuleResult() {
2028
2234
  return Joi.object({
2029
- is_active: Joi.boolean(),
2030
- application_id: Joi.string().allow(""),
2031
- company_id: Joi.number(),
2032
- conditions: ServiceabilityPlatformModel.CourierPartnerRuleConditions(),
2033
- sort: Joi.array().items(Joi.string().allow("")),
2034
- created_by: Joi.any().allow(null),
2035
- id: Joi.string().allow(""),
2036
- modified_by: Joi.any().allow(null),
2235
+ is_active: Joi.boolean().required(),
2236
+ application_id: Joi.string().allow("").required(),
2237
+ company_id: Joi.number().required(),
2238
+ conditions: ServiceabilityPlatformModel.CourierPartnerRuleConditions().required(),
2239
+ sort: Joi.array().items(Joi.string().allow("")).required(),
2240
+ created_by: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
2241
+ id: Joi.string().allow("").required(),
2242
+ modified_by: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
2037
2243
  modified_on: Joi.string().allow("").allow(null),
2038
- name: Joi.string().allow(""),
2039
- type: Joi.string().allow(""),
2244
+ name: Joi.string().allow("").required(),
2245
+ type: Joi.string().allow("").required(),
2040
2246
  cp_list: Joi.array().items(
2041
- ServiceabilityPlatformModel.CourierPartnerRuleCPListResponse()
2247
+ ServiceabilityPlatformModel.CourierPartnerRuleCPListResult()
2042
2248
  ),
2043
2249
  });
2044
2250
  }
@@ -2058,7 +2264,7 @@ class ServiceabilityPlatformModel {
2058
2264
  sub_type: Joi.string().allow(""),
2059
2265
  name: Joi.string().allow(""),
2060
2266
  display_name: Joi.string().allow(""),
2061
- parent_id: Joi.string().allow(""),
2267
+ parent_id: Joi.array().items(Joi.string().allow("")),
2062
2268
  parent_ids: Joi.array().items(Joi.string().allow("")),
2063
2269
  });
2064
2270
  }
@@ -2119,35 +2325,137 @@ class ServiceabilityPlatformModel {
2119
2325
  name: Joi.string().allow("").required(),
2120
2326
  conditions: ServiceabilityPlatformModel.CourierPartnerRuleConditions().required(),
2121
2327
  sort: Joi.array().items(Joi.string().allow("")).required(),
2328
+ type: Joi.string().allow(""),
2122
2329
  });
2123
2330
  }
2124
2331
 
2125
- /** @returns {FailureResponse} */
2126
- static FailureResponse() {
2332
+ /** @returns {FailureResult} */
2333
+ static FailureResult() {
2127
2334
  return Joi.object({
2128
2335
  success: Joi.boolean().required(),
2129
2336
  error: Joi.array()
2130
- .items(ServiceabilityPlatformModel.ErrorResponse())
2337
+ .items(ServiceabilityPlatformModel.ErrorResult())
2131
2338
  .required(),
2132
2339
  });
2133
2340
  }
2134
2341
 
2135
- /** @returns {CourierPartnerRulesListResponse} */
2136
- static CourierPartnerRulesListResponse() {
2342
+ /** @returns {CourierPartnerRulesListResult} */
2343
+ static CourierPartnerRulesListResult() {
2137
2344
  return Joi.object({
2138
2345
  items: Joi.array()
2139
- .items(ServiceabilityPlatformModel.CourierPartnerRuleResponse())
2346
+ .items(ServiceabilityPlatformModel.CourierPartnerRuleResult())
2140
2347
  .required(),
2141
2348
  page: ServiceabilityPlatformModel.Page().required(),
2142
2349
  });
2143
2350
  }
2144
2351
 
2352
+ /** @returns {ShipmentsArticles} */
2353
+ static ShipmentsArticles() {
2354
+ return Joi.object({
2355
+ item_id: Joi.number(),
2356
+ category_id: Joi.number(),
2357
+ brand_id: Joi.number(),
2358
+ department_id: Joi.number(),
2359
+ tags: Joi.array().items(Joi.string().allow("")),
2360
+ });
2361
+ }
2362
+
2363
+ /** @returns {ShipmentDimension} */
2364
+ static ShipmentDimension() {
2365
+ return Joi.object({
2366
+ height: Joi.number().required(),
2367
+ length: Joi.number().required(),
2368
+ width: Joi.number().required(),
2369
+ });
2370
+ }
2371
+
2372
+ /** @returns {Shipments} */
2373
+ static Shipments() {
2374
+ return Joi.object({
2375
+ id: Joi.string().allow(""),
2376
+ location_id: Joi.number(),
2377
+ location_tags: Joi.array().items(Joi.string().allow("")),
2378
+ shipment_weight: Joi.number(),
2379
+ shipment_volumetric_weight: Joi.number(),
2380
+ shipment_cost: Joi.number(),
2381
+ shipment_dimension: ServiceabilityPlatformModel.ShipmentDimension(),
2382
+ courier_partner_schemes: Joi.array().items(Joi.string().allow("")),
2383
+ articles: Joi.array().items(
2384
+ ServiceabilityPlatformModel.ShipmentsArticles()
2385
+ ),
2386
+ });
2387
+ }
2388
+
2389
+ /** @returns {ShipmentCourierPartnerDetails} */
2390
+ static ShipmentCourierPartnerDetails() {
2391
+ return Joi.object({
2392
+ from_location: ServiceabilityPlatformModel.ShipmentsCourierPartnersServiceability().required(),
2393
+ to_location: ServiceabilityPlatformModel.ShipmentsCourierPartnersServiceability().required(),
2394
+ shipments: Joi.array().items(ServiceabilityPlatformModel.Shipments()),
2395
+ journey: Joi.string().allow(""),
2396
+ payment_mode: Joi.string().allow(""),
2397
+ });
2398
+ }
2399
+
2400
+ /** @returns {CourierPartnerPromise} */
2401
+ static CourierPartnerPromise() {
2402
+ return Joi.object({
2403
+ min: Joi.string().allow("").required(),
2404
+ max: Joi.string().allow("").required(),
2405
+ });
2406
+ }
2407
+
2408
+ /** @returns {CourierPartners} */
2409
+ static CourierPartners() {
2410
+ return Joi.object({
2411
+ extension_id: Joi.string().allow(""),
2412
+ scheme_id: Joi.string().allow(""),
2413
+ name: Joi.string().allow(""),
2414
+ delivery_promise: ServiceabilityPlatformModel.CourierPartnerPromise(),
2415
+ });
2416
+ }
2417
+
2418
+ /** @returns {ShipmentCourierPartners} */
2419
+ static ShipmentCourierPartners() {
2420
+ return Joi.object({
2421
+ id: Joi.string().allow(""),
2422
+ courier_partners: Joi.array().items(
2423
+ ServiceabilityPlatformModel.CourierPartners()
2424
+ ),
2425
+ });
2426
+ }
2427
+
2428
+ /** @returns {ShipmentCourierPartnerResult} */
2429
+ static ShipmentCourierPartnerResult() {
2430
+ return Joi.object({
2431
+ courier_partners: Joi.array().items(
2432
+ ServiceabilityPlatformModel.CourierPartners()
2433
+ ),
2434
+ shipments: Joi.array().items(
2435
+ ServiceabilityPlatformModel.ShipmentCourierPartners()
2436
+ ),
2437
+ });
2438
+ }
2439
+
2440
+ /** @returns {ShipmentsCourierPartnersServiceability} */
2441
+ static ShipmentsCourierPartnersServiceability() {
2442
+ return Joi.object({
2443
+ pincode: Joi.string().allow(""),
2444
+ sector_code: Joi.string().allow(""),
2445
+ state_code: Joi.string().allow(""),
2446
+ city_code: Joi.string().allow(""),
2447
+ country_code: Joi.string().allow("").required(),
2448
+ });
2449
+ }
2450
+
2145
2451
  /** @returns {CompanyConfig} */
2146
2452
  static CompanyConfig() {
2147
2453
  return Joi.object({
2148
2454
  rule_ids: Joi.array().items(Joi.string().allow("")).required(),
2149
2455
  sort: Joi.array().items(Joi.string().allow("")).required(),
2150
- logistics_as_actual: Joi.boolean(),
2456
+ logistics_as_actual: Joi.string().allow(""),
2457
+ company_id: Joi.number().required(),
2458
+ application_id: Joi.string().allow(""),
2151
2459
  });
2152
2460
  }
2153
2461
 
@@ -2155,6 +2463,8 @@ class ServiceabilityPlatformModel {
2155
2463
  static ZoneConfig() {
2156
2464
  return Joi.object({
2157
2465
  serviceability_type: Joi.string().allow(""),
2466
+ active_count: Joi.number(),
2467
+ total_count: Joi.number(),
2158
2468
  });
2159
2469
  }
2160
2470
 
@@ -2167,22 +2477,22 @@ class ServiceabilityPlatformModel {
2167
2477
  });
2168
2478
  }
2169
2479
 
2170
- /** @returns {BulkRegionJobSerializer} */
2171
- static BulkRegionJobSerializer() {
2480
+ /** @returns {BulkRegionJobDetails} */
2481
+ static BulkRegionJobDetails() {
2172
2482
  return Joi.object({
2173
- file_path: Joi.string().allow(""),
2483
+ file_path: Joi.string().allow("").allow(null),
2174
2484
  country: Joi.string().allow("").required(),
2175
2485
  action: Joi.string().allow("").required(),
2176
2486
  region: Joi.string().allow("").required(),
2177
2487
  });
2178
2488
  }
2179
2489
 
2180
- /** @returns {BulkRegionResponseItemData} */
2181
- static BulkRegionResponseItemData() {
2490
+ /** @returns {BulkRegionResultItemData} */
2491
+ static BulkRegionResultItemData() {
2182
2492
  return Joi.object({
2183
- file_path: Joi.string().allow("").required(),
2493
+ file_path: Joi.string().allow(""),
2184
2494
  failed: Joi.number(),
2185
- failed_records: Joi.array().items(Joi.any()),
2495
+ failed_records: Joi.array().items(Joi.object().pattern(/\S/, Joi.any())),
2186
2496
  action: Joi.string().allow("").required(),
2187
2497
  batch_id: Joi.string().allow("").required(),
2188
2498
  country: Joi.string().allow("").required(),
@@ -2194,18 +2504,18 @@ class ServiceabilityPlatformModel {
2194
2504
  });
2195
2505
  }
2196
2506
 
2197
- /** @returns {BulkRegionResponse} */
2198
- static BulkRegionResponse() {
2507
+ /** @returns {BulkRegionResult} */
2508
+ static BulkRegionResult() {
2199
2509
  return Joi.object({
2200
2510
  items: Joi.array()
2201
- .items(ServiceabilityPlatformModel.BulkRegionResponseItemData())
2511
+ .items(ServiceabilityPlatformModel.BulkRegionResultItemData())
2202
2512
  .required(),
2203
2513
  page: ServiceabilityPlatformModel.Page().required(),
2204
2514
  });
2205
2515
  }
2206
2516
 
2207
- /** @returns {SelfShipResponse} */
2208
- static SelfShipResponse() {
2517
+ /** @returns {SelfShipResult} */
2518
+ static SelfShipResult() {
2209
2519
  return Joi.object({
2210
2520
  is_active: Joi.boolean().required(),
2211
2521
  tat: Joi.number().required(),
@@ -2215,14 +2525,14 @@ class ServiceabilityPlatformModel {
2215
2525
  /** @returns {ApplicationSelfShipConfig} */
2216
2526
  static ApplicationSelfShipConfig() {
2217
2527
  return Joi.object({
2218
- self_ship: Joi.any().allow(null),
2528
+ self_ship: ServiceabilityPlatformModel.SelfShipResult(),
2219
2529
  });
2220
2530
  }
2221
2531
 
2222
- /** @returns {ApplicationSelfShipConfigResponse} */
2223
- static ApplicationSelfShipConfigResponse() {
2532
+ /** @returns {ApplicationSelfShipConfigResult} */
2533
+ static ApplicationSelfShipConfigResult() {
2224
2534
  return Joi.object({
2225
- error: ServiceabilityPlatformModel.ServiceabilityErrorResponse(),
2535
+ error: ServiceabilityPlatformModel.ServiceabilityErrorResult(),
2226
2536
  data: ServiceabilityPlatformModel.ApplicationSelfShipConfig(),
2227
2537
  success: Joi.boolean().required(),
2228
2538
  });
@@ -2290,13 +2600,13 @@ class ServiceabilityPlatformModel {
2290
2600
  /** @returns {StorePrioritySchema} */
2291
2601
  static StorePrioritySchema() {
2292
2602
  return Joi.object({
2293
- id: Joi.string().allow(""),
2603
+ id: Joi.number(),
2294
2604
  name: Joi.string().allow(""),
2295
2605
  });
2296
2606
  }
2297
2607
 
2298
- /** @returns {GetStoreRulesApiResponse} */
2299
- static GetStoreRulesApiResponse() {
2608
+ /** @returns {GetStoreRulesApiResult} */
2609
+ static GetStoreRulesApiResult() {
2300
2610
  return Joi.object({
2301
2611
  items: Joi.array().items(
2302
2612
  ServiceabilityPlatformModel.StoreRuleDataSchema()
@@ -2305,8 +2615,8 @@ class ServiceabilityPlatformModel {
2305
2615
  });
2306
2616
  }
2307
2617
 
2308
- /** @returns {CreateStoreRuleRequestSchema} */
2309
- static CreateStoreRuleRequestSchema() {
2618
+ /** @returns {CreateStoreRuleDetailsSchema} */
2619
+ static CreateStoreRuleDetailsSchema() {
2310
2620
  return Joi.object({
2311
2621
  name: Joi.string().allow(""),
2312
2622
  is_active: Joi.boolean(),
@@ -2320,8 +2630,8 @@ class ServiceabilityPlatformModel {
2320
2630
  });
2321
2631
  }
2322
2632
 
2323
- /** @returns {StoreRuleResponseSchema} */
2324
- static StoreRuleResponseSchema() {
2633
+ /** @returns {StoreRuleResultSchema} */
2634
+ static StoreRuleResultSchema() {
2325
2635
  return Joi.object({
2326
2636
  id: Joi.string().allow(""),
2327
2637
  name: Joi.string().allow(""),
@@ -2337,8 +2647,8 @@ class ServiceabilityPlatformModel {
2337
2647
  });
2338
2648
  }
2339
2649
 
2340
- /** @returns {StoreRuleUpdateResponseSchema} */
2341
- static StoreRuleUpdateResponseSchema() {
2650
+ /** @returns {StoreRuleUpdateResultSchema} */
2651
+ static StoreRuleUpdateResultSchema() {
2342
2652
  return Joi.object({
2343
2653
  id: Joi.string().allow(""),
2344
2654
  name: Joi.string().allow(""),
@@ -2361,8 +2671,8 @@ class ServiceabilityPlatformModel {
2361
2671
  return Joi.object({
2362
2672
  lm_cod_limit: Joi.number().required(),
2363
2673
  is_qc: Joi.boolean().required(),
2364
- pickup_cutoff: Joi.string().allow("").allow(null).required(),
2365
- route_code: Joi.string().allow("").allow(null).required(),
2674
+ pickup_cutoff: Joi.string().allow("").allow(null),
2675
+ route_code: Joi.string().allow("").allow(null),
2366
2676
  is_first_mile: Joi.boolean().required(),
2367
2677
  is_return: Joi.boolean().required(),
2368
2678
  is_installation: Joi.boolean().required(),
@@ -2397,8 +2707,10 @@ class ServiceabilityPlatformModel {
2397
2707
  /** @returns {CourierPartnerSchemeModel} */
2398
2708
  static CourierPartnerSchemeModel() {
2399
2709
  return Joi.object({
2710
+ name: Joi.string().allow(""),
2400
2711
  extension_id: Joi.string().allow("").required(),
2401
2712
  scheme_id: Joi.string().allow("").required(),
2713
+ volumetric_weight: ServiceabilityPlatformModel.ArithmeticOperations(),
2402
2714
  weight: ServiceabilityPlatformModel.ArithmeticOperations().required(),
2403
2715
  transport_type: Joi.string().allow("").required(),
2404
2716
  region: Joi.string().allow("").required(),
@@ -2409,23 +2721,25 @@ class ServiceabilityPlatformModel {
2409
2721
  });
2410
2722
  }
2411
2723
 
2412
- /** @returns {CourierAccountResponse} */
2413
- static CourierAccountResponse() {
2724
+ /** @returns {CourierAccountResult} */
2725
+ static CourierAccountResult() {
2414
2726
  return Joi.object({
2727
+ company_id: Joi.number().required(),
2728
+ extension_id: Joi.string().allow(""),
2415
2729
  account_id: Joi.string().allow("").required(),
2416
2730
  scheme_id: Joi.string().allow("").required(),
2417
2731
  is_self_ship: Joi.boolean().required(),
2418
2732
  stage: Joi.string().allow("").required(),
2419
2733
  is_own_account: Joi.boolean().required(),
2420
- scheme_rules: ServiceabilityPlatformModel.CourierPartnerSchemeModel().required(),
2734
+ scheme_rules: ServiceabilityPlatformModel.CourierPartnerSchemeModel(),
2421
2735
  });
2422
2736
  }
2423
2737
 
2424
- /** @returns {CompanyCourierPartnerAccountListResponse} */
2425
- static CompanyCourierPartnerAccountListResponse() {
2738
+ /** @returns {CompanyCourierPartnerAccountListResult} */
2739
+ static CompanyCourierPartnerAccountListResult() {
2426
2740
  return Joi.object({
2427
2741
  items: Joi.array()
2428
- .items(ServiceabilityPlatformModel.CourierAccountResponse())
2742
+ .items(ServiceabilityPlatformModel.CourierAccountResult())
2429
2743
  .required(),
2430
2744
  page: ServiceabilityPlatformModel.Page().required(),
2431
2745
  });
@@ -2458,12 +2772,13 @@ class ServiceabilityPlatformModel {
2458
2772
  });
2459
2773
  }
2460
2774
 
2461
- /** @returns {PackageMaterialResponse} */
2462
- static PackageMaterialResponse() {
2775
+ /** @returns {PackageMaterialResult} */
2776
+ static PackageMaterialResult() {
2463
2777
  return Joi.object({
2464
2778
  name: Joi.string().allow("").required(),
2465
2779
  id: Joi.string().allow(""),
2466
2780
  item_id: Joi.number(),
2781
+ company_id: Joi.number(),
2467
2782
  width: Joi.number().required(),
2468
2783
  height: Joi.number().required(),
2469
2784
  length: Joi.number().required(),
@@ -2509,8 +2824,8 @@ class ServiceabilityPlatformModel {
2509
2824
  });
2510
2825
  }
2511
2826
 
2512
- /** @returns {PackageRuleResponse} */
2513
- static PackageRuleResponse() {
2827
+ /** @returns {PackageRuleResult} */
2828
+ static PackageRuleResult() {
2514
2829
  return Joi.object({
2515
2830
  id: Joi.string().allow(""),
2516
2831
  name: Joi.string().allow("").required(),
@@ -2534,7 +2849,7 @@ class ServiceabilityPlatformModel {
2534
2849
  /** @returns {PackageMaterialRuleList} */
2535
2850
  static PackageMaterialRuleList() {
2536
2851
  return Joi.object({
2537
- items: ServiceabilityPlatformModel.PackageRuleResponse(),
2852
+ items: ServiceabilityPlatformModel.PackageRuleResult(),
2538
2853
  page: ServiceabilityPlatformModel.Page(),
2539
2854
  });
2540
2855
  }
@@ -2542,7 +2857,7 @@ class ServiceabilityPlatformModel {
2542
2857
  /** @returns {PackageMaterialList} */
2543
2858
  static PackageMaterialList() {
2544
2859
  return Joi.object({
2545
- items: ServiceabilityPlatformModel.PackageMaterialResponse(),
2860
+ items: ServiceabilityPlatformModel.PackageMaterialResult(),
2546
2861
  page: ServiceabilityPlatformModel.Page(),
2547
2862
  });
2548
2863
  }
@@ -2576,16 +2891,16 @@ class ServiceabilityPlatformModel {
2576
2891
  });
2577
2892
  }
2578
2893
 
2579
- /** @returns {RulePriorityRequest} */
2580
- static RulePriorityRequest() {
2894
+ /** @returns {RulePriorityDetails} */
2895
+ static RulePriorityDetails() {
2581
2896
  return Joi.object({
2582
2897
  rule_id: Joi.string().allow("").required(),
2583
2898
  priority: Joi.number().required(),
2584
2899
  });
2585
2900
  }
2586
2901
 
2587
- /** @returns {RulePriorityResponse} */
2588
- static RulePriorityResponse() {
2902
+ /** @returns {RulePriorityResult} */
2903
+ static RulePriorityResult() {
2589
2904
  return Joi.object({
2590
2905
  success: Joi.boolean(),
2591
2906
  });
@@ -2625,10 +2940,10 @@ class ServiceabilityPlatformModel {
2625
2940
  return Joi.object({
2626
2941
  item_id: Joi.number().required(),
2627
2942
  size: Joi.string().allow("").required(),
2628
- quantity: Joi.string().allow("").required(),
2943
+ quantity: Joi.number().required(),
2629
2944
  group_id: Joi.string().allow(""),
2630
2945
  is_primary_item: Joi.boolean(),
2631
- meta: Joi.any(),
2946
+ meta: Joi.object().pattern(/\S/, Joi.any()),
2632
2947
  article_assignment: ServiceabilityPlatformModel.ArticleAssignment().required(),
2633
2948
  ignore_locations: Joi.array().items(Joi.number()).required(),
2634
2949
  assign_locations: Joi.array().items(Joi.number()).required(),
@@ -2636,26 +2951,28 @@ class ServiceabilityPlatformModel {
2636
2951
  });
2637
2952
  }
2638
2953
 
2639
- /** @returns {OptimlLocationsRequestSchema} */
2640
- static OptimlLocationsRequestSchema() {
2954
+ /** @returns {OptimlLocationsDetailsSchema} */
2955
+ static OptimlLocationsDetailsSchema() {
2641
2956
  return Joi.object({
2642
2957
  channel_id: Joi.string().allow("").required(),
2643
2958
  channel_type: Joi.string().allow("").required(),
2644
2959
  channel_identifier: Joi.string().allow(""),
2645
2960
  to_serviceability: ServiceabilityPlatformModel.LocationDetailsServiceability().required(),
2646
- article: ServiceabilityPlatformModel.OptimalLocationsArticles(),
2961
+ articles: Joi.array().items(
2962
+ ServiceabilityPlatformModel.OptimalLocationsArticles()
2963
+ ),
2647
2964
  });
2648
2965
  }
2649
2966
 
2650
- /** @returns {OptimalLocationArticlesResponse} */
2651
- static OptimalLocationArticlesResponse() {
2967
+ /** @returns {OptimalLocationArticlesResult} */
2968
+ static OptimalLocationArticlesResult() {
2652
2969
  return Joi.object({
2653
2970
  item_id: Joi.number().required(),
2654
2971
  size: Joi.string().allow("").required(),
2655
2972
  quantity: Joi.number().required(),
2656
2973
  group_id: Joi.string().allow(""),
2657
2974
  is_primary_item: Joi.boolean(),
2658
- meta: Joi.any(),
2975
+ meta: Joi.object().pattern(/\S/, Joi.any()),
2659
2976
  article_assignment: ServiceabilityPlatformModel.ArticleAssignment().required(),
2660
2977
  seller_id: Joi.number(),
2661
2978
  ignore_locations: Joi.array().items(Joi.number()).required(),
@@ -2667,28 +2984,43 @@ class ServiceabilityPlatformModel {
2667
2984
  });
2668
2985
  }
2669
2986
 
2670
- /** @returns {OptimalLocationAssignedStoresResponse} */
2671
- static OptimalLocationAssignedStoresResponse() {
2987
+ /** @returns {OptimalLocationAssignedStoresResult} */
2988
+ static OptimalLocationAssignedStoresResult() {
2672
2989
  return Joi.object({
2673
2990
  store_id: Joi.number().required(),
2674
2991
  articles: Joi.array()
2675
- .items(ServiceabilityPlatformModel.OptimalLocationArticlesResponse())
2992
+ .items(ServiceabilityPlatformModel.OptimalLocationArticlesResult())
2676
2993
  .required(),
2677
2994
  });
2678
2995
  }
2679
2996
 
2680
- /** @returns {OptimalLocationsResponse} */
2681
- static OptimalLocationsResponse() {
2997
+ /** @returns {OptimalLocationsResult} */
2998
+ static OptimalLocationsResult() {
2682
2999
  return Joi.object({
2683
3000
  assigned_stores: Joi.array()
2684
3001
  .items(
2685
- ServiceabilityPlatformModel.OptimalLocationAssignedStoresResponse()
3002
+ ServiceabilityPlatformModel.OptimalLocationAssignedStoresResult()
2686
3003
  )
2687
3004
  .required(),
2688
3005
  faulty_articles: Joi.array().items(
2689
- ServiceabilityPlatformModel.ErrorResponse()
3006
+ ServiceabilityPlatformModel.ErrorResult()
2690
3007
  ),
2691
3008
  });
2692
3009
  }
3010
+
3011
+ /** @returns {ValidationError} */
3012
+ static ValidationError() {
3013
+ return Joi.object({
3014
+ message: Joi.string().allow("").required(),
3015
+ field: Joi.string().allow("").required(),
3016
+ });
3017
+ }
3018
+
3019
+ /** @returns {StandardError} */
3020
+ static StandardError() {
3021
+ return Joi.object({
3022
+ message: Joi.string().allow("").required(),
3023
+ });
3024
+ }
2693
3025
  }
2694
3026
  module.exports = ServiceabilityPlatformModel;