@gofynd/fdk-client-javascript 1.4.14 → 1.4.15-beta.10

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 (326) hide show
  1. package/README.md +2 -2
  2. package/application.d.ts +1 -2
  3. package/application.js +2 -3
  4. package/index.d.ts +1 -2
  5. package/index.js +7 -1
  6. package/package.json +2 -3
  7. package/sdk/application/ApplicationClient.d.ts +0 -2
  8. package/sdk/application/ApplicationClient.js +0 -20
  9. package/sdk/application/Cart/CartApplicationClient.d.ts +55 -97
  10. package/sdk/application/Cart/CartApplicationClient.js +60 -1262
  11. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +80 -162
  12. package/sdk/application/Catalog/CatalogApplicationClient.js +148 -1313
  13. package/sdk/application/Common/CommonApplicationClient.d.ts +4 -9
  14. package/sdk/application/Common/CommonApplicationClient.js +5 -90
  15. package/sdk/application/Communication/CommunicationApplicationClient.d.ts +6 -19
  16. package/sdk/application/Communication/CommunicationApplicationClient.js +6 -145
  17. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +32 -80
  18. package/sdk/application/Configuration/ConfigurationApplicationClient.js +31 -725
  19. package/sdk/application/Content/ContentApplicationClient.d.ts +63 -85
  20. package/sdk/application/Content/ContentApplicationClient.js +126 -942
  21. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +11 -15
  22. package/sdk/application/FileStorage/FileStorageApplicationClient.js +26 -130
  23. package/sdk/application/Lead/LeadApplicationClient.d.ts +10 -17
  24. package/sdk/application/Lead/LeadApplicationClient.js +32 -201
  25. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +22 -62
  26. package/sdk/application/Logistic/LogisticApplicationClient.js +51 -647
  27. package/sdk/application/Order/OrderApplicationClient.d.ts +22 -56
  28. package/sdk/application/Order/OrderApplicationClient.js +86 -555
  29. package/sdk/application/Payment/PaymentApplicationClient.d.ts +92 -209
  30. package/sdk/application/Payment/PaymentApplicationClient.js +57 -2099
  31. package/sdk/application/Rewards/RewardsApplicationClient.d.ts +15 -26
  32. package/sdk/application/Rewards/RewardsApplicationClient.js +17 -303
  33. package/sdk/application/Share/ShareApplicationClient.d.ts +14 -24
  34. package/sdk/application/Share/ShareApplicationClient.js +34 -294
  35. package/sdk/application/Theme/ThemeApplicationClient.d.ts +8 -14
  36. package/sdk/application/Theme/ThemeApplicationClient.js +30 -166
  37. package/sdk/application/User/UserApplicationClient.d.ts +87 -138
  38. package/sdk/application/User/UserApplicationClient.js +47 -1817
  39. package/sdk/application/Webhook/WebhookApplicationClient.d.ts +4 -7
  40. package/sdk/application/Webhook/WebhookApplicationClient.js +6 -49
  41. package/sdk/application/index.d.ts +0 -19
  42. package/sdk/application/index.js +0 -35
  43. package/sdk/common/Utility.d.ts +1 -1
  44. package/sdk/common/Utility.js +10 -7
  45. package/sdk/common/Validator.d.ts +1 -0
  46. package/sdk/common/Validator.js +20 -0
  47. package/sdk/common/utils.d.ts +0 -1
  48. package/sdk/common/utils.js +0 -14
  49. package/sdk/partner/FileStorage/FileStoragePartnerClient.d.ts +12 -86
  50. package/sdk/partner/FileStorage/FileStoragePartnerClient.js +24 -582
  51. package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +21 -116
  52. package/sdk/partner/FileStorage/FileStoragePartnerModel.js +16 -121
  53. package/sdk/partner/FileStorage/FileStoragePartnerValidator.d.ts +1 -8
  54. package/sdk/partner/FileStorage/FileStoragePartnerValidator.js +4 -51
  55. package/sdk/partner/Lead/LeadPartnerClient.d.ts +2 -2
  56. package/sdk/partner/Lead/LeadPartnerClient.js +2 -2
  57. package/sdk/partner/Lead/LeadPartnerModel.d.ts +5 -5
  58. package/sdk/partner/Lead/LeadPartnerModel.js +15 -15
  59. package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +20 -126
  60. package/sdk/partner/Logistics/LogisticsPartnerClient.js +20 -970
  61. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +85 -767
  62. package/sdk/partner/Logistics/LogisticsPartnerModel.js +76 -429
  63. package/sdk/partner/Logistics/LogisticsPartnerValidator.d.ts +0 -10
  64. package/sdk/partner/Logistics/LogisticsPartnerValidator.js +6 -120
  65. package/sdk/partner/OAuthClient.js +1 -0
  66. package/sdk/partner/Theme/ThemePartnerClient.d.ts +10 -8
  67. package/sdk/partner/Theme/ThemePartnerClient.js +16 -14
  68. package/sdk/partner/Theme/ThemePartnerModel.d.ts +39 -135
  69. package/sdk/partner/Theme/ThemePartnerModel.js +38 -114
  70. package/sdk/partner/Theme/ThemePartnerValidator.js +4 -4
  71. package/sdk/partner/Webhook/WebhookPartnerClient.d.ts +18 -28
  72. package/sdk/partner/Webhook/WebhookPartnerClient.js +18 -103
  73. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +179 -612
  74. package/sdk/partner/Webhook/WebhookPartnerModel.js +150 -253
  75. package/sdk/partner/Webhook/WebhookPartnerValidator.d.ts +0 -1
  76. package/sdk/partner/Webhook/WebhookPartnerValidator.js +3 -11
  77. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.d.ts +4 -5
  78. package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.js +8 -14
  79. package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +9 -59
  80. package/sdk/platform/Analytics/AnalyticsPlatformModel.js +4 -40
  81. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.d.ts +32 -2
  82. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +243 -3
  83. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +130 -11
  84. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +152 -12
  85. package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.d.ts +39 -1
  86. package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.js +35 -0
  87. package/sdk/platform/Billing/BillingPlatformClient.d.ts +12 -12
  88. package/sdk/platform/Billing/BillingPlatformClient.js +15 -15
  89. package/sdk/platform/Billing/BillingPlatformModel.d.ts +388 -443
  90. package/sdk/platform/Billing/BillingPlatformModel.js +263 -280
  91. package/sdk/platform/Billing/BillingPlatformValidator.d.ts +18 -16
  92. package/sdk/platform/Billing/BillingPlatformValidator.js +9 -8
  93. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +103 -134
  94. package/sdk/platform/Cart/CartPlatformApplicationClient.js +112 -407
  95. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +65 -111
  96. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +44 -106
  97. package/sdk/platform/Cart/CartPlatformModel.d.ts +1328 -4975
  98. package/sdk/platform/Cart/CartPlatformModel.js +1229 -1922
  99. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +183 -208
  100. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +358 -383
  101. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +126 -122
  102. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +68 -66
  103. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +118 -141
  104. package/sdk/platform/Catalog/CatalogPlatformClient.js +170 -193
  105. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1744 -1501
  106. package/sdk/platform/Catalog/CatalogPlatformModel.js +1211 -1383
  107. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +18 -18
  108. package/sdk/platform/Catalog/CatalogPlatformValidator.js +18 -18
  109. package/sdk/platform/Common/CommonPlatformClient.d.ts +2 -3
  110. package/sdk/platform/Common/CommonPlatformClient.js +2 -3
  111. package/sdk/platform/Common/CommonPlatformModel.d.ts +9 -9
  112. package/sdk/platform/Common/CommonPlatformModel.js +6 -6
  113. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +17 -16
  114. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +17 -16
  115. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +8 -8
  116. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +8 -8
  117. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +33 -43
  118. package/sdk/platform/Communication/CommunicationPlatformModel.js +34 -38
  119. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +42 -46
  120. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +43 -47
  121. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +223 -223
  122. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +212 -210
  123. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.d.ts +12 -12
  124. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.js +12 -12
  125. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +33 -46
  126. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +54 -67
  127. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.d.ts +18 -18
  128. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.js +18 -18
  129. package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +24 -45
  130. package/sdk/platform/Configuration/ConfigurationPlatformClient.js +30 -134
  131. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +138 -283
  132. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +100 -219
  133. package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +9 -37
  134. package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +8 -27
  135. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +141 -124
  136. package/sdk/platform/Content/ContentPlatformApplicationClient.js +422 -449
  137. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +141 -179
  138. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +130 -168
  139. package/sdk/platform/Content/ContentPlatformClient.d.ts +106 -142
  140. package/sdk/platform/Content/ContentPlatformClient.js +336 -523
  141. package/sdk/platform/Content/ContentPlatformModel.d.ts +395 -1241
  142. package/sdk/platform/Content/ContentPlatformModel.js +390 -521
  143. package/sdk/platform/Content/ContentPlatformValidator.d.ts +117 -168
  144. package/sdk/platform/Content/ContentPlatformValidator.js +108 -162
  145. package/sdk/platform/Discount/DiscountPlatformClient.d.ts +12 -14
  146. package/sdk/platform/Discount/DiscountPlatformClient.js +12 -14
  147. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +13 -13
  148. package/sdk/platform/Discount/DiscountPlatformModel.js +12 -12
  149. package/sdk/platform/Discount/DiscountPlatformValidator.d.ts +2 -2
  150. package/sdk/platform/Discount/DiscountPlatformValidator.js +2 -2
  151. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +39 -95
  152. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +63 -462
  153. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +15 -62
  154. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +13 -75
  155. package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +22 -20
  156. package/sdk/platform/FileStorage/FileStoragePlatformClient.js +24 -21
  157. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +116 -370
  158. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +104 -313
  159. package/sdk/platform/FileStorage/FileStoragePlatformValidator.d.ts +6 -6
  160. package/sdk/platform/FileStorage/FileStoragePlatformValidator.js +6 -6
  161. package/sdk/platform/Finance/FinancePlatformClient.d.ts +320 -0
  162. package/sdk/platform/Finance/FinancePlatformClient.js +2333 -0
  163. package/sdk/platform/Finance/FinancePlatformModel.d.ts +2890 -0
  164. package/sdk/platform/Finance/FinancePlatformModel.js +2148 -0
  165. package/sdk/platform/Finance/FinancePlatformValidator.d.ts +284 -0
  166. package/sdk/platform/Finance/FinancePlatformValidator.js +354 -0
  167. package/sdk/platform/Lead/LeadPlatformClient.d.ts +2 -2
  168. package/sdk/platform/Lead/LeadPlatformClient.js +2 -2
  169. package/sdk/platform/Lead/LeadPlatformModel.d.ts +5 -5
  170. package/sdk/platform/Lead/LeadPlatformModel.js +16 -16
  171. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +4 -25
  172. package/sdk/platform/Order/OrderPlatformApplicationClient.js +5 -175
  173. package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +4 -52
  174. package/sdk/platform/Order/OrderPlatformApplicationValidator.js +3 -34
  175. package/sdk/platform/Order/OrderPlatformClient.d.ts +103 -174
  176. package/sdk/platform/Order/OrderPlatformClient.js +275 -528
  177. package/sdk/platform/Order/OrderPlatformModel.d.ts +3078 -5449
  178. package/sdk/platform/Order/OrderPlatformModel.js +1659 -3501
  179. package/sdk/platform/Order/OrderPlatformValidator.d.ts +219 -234
  180. package/sdk/platform/Order/OrderPlatformValidator.js +118 -146
  181. package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +4 -6
  182. package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +7 -9
  183. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +9 -9
  184. package/sdk/platform/Partner/PartnerPlatformModel.js +8 -8
  185. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +106 -94
  186. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +146 -131
  187. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +93 -64
  188. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +70 -62
  189. package/sdk/platform/Payment/PaymentPlatformClient.d.ts +20 -20
  190. package/sdk/platform/Payment/PaymentPlatformClient.js +20 -20
  191. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +507 -386
  192. package/sdk/platform/Payment/PaymentPlatformModel.js +376 -323
  193. package/sdk/platform/Payment/PaymentPlatformValidator.d.ts +10 -10
  194. package/sdk/platform/Payment/PaymentPlatformValidator.js +10 -10
  195. package/sdk/platform/PlatformClient.d.ts +2 -0
  196. package/sdk/platform/PlatformClient.js +4 -0
  197. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +2 -2
  198. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +2 -2
  199. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.d.ts +2 -2
  200. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.js +2 -2
  201. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +9 -9
  202. package/sdk/platform/Rewards/RewardsPlatformModel.js +8 -8
  203. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +35 -45
  204. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +38 -117
  205. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +13 -22
  206. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +12 -24
  207. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +46 -40
  208. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +68 -62
  209. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +396 -620
  210. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +326 -501
  211. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +11 -11
  212. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +10 -10
  213. package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +2 -2
  214. package/sdk/platform/Share/SharePlatformApplicationClient.js +2 -2
  215. package/sdk/platform/Share/SharePlatformModel.d.ts +5 -36
  216. package/sdk/platform/Share/SharePlatformModel.js +4 -27
  217. package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +3 -3
  218. package/sdk/platform/Theme/ThemePlatformApplicationClient.js +4 -8
  219. package/sdk/platform/Theme/ThemePlatformApplicationValidator.d.ts +0 -5
  220. package/sdk/platform/Theme/ThemePlatformApplicationValidator.js +0 -2
  221. package/sdk/platform/Theme/ThemePlatformModel.d.ts +13 -76
  222. package/sdk/platform/Theme/ThemePlatformModel.js +17 -57
  223. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +12 -12
  224. package/sdk/platform/User/UserPlatformApplicationClient.js +12 -12
  225. package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +2 -2
  226. package/sdk/platform/User/UserPlatformApplicationValidator.js +2 -2
  227. package/sdk/platform/User/UserPlatformModel.d.ts +21 -21
  228. package/sdk/platform/User/UserPlatformModel.js +23 -23
  229. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +78 -25
  230. package/sdk/platform/Webhook/WebhookPlatformClient.js +470 -75
  231. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +427 -720
  232. package/sdk/platform/Webhook/WebhookPlatformModel.js +386 -410
  233. package/sdk/platform/Webhook/WebhookPlatformValidator.d.ts +55 -10
  234. package/sdk/platform/Webhook/WebhookPlatformValidator.js +72 -12
  235. package/sdk/platform/index.d.ts +1 -0
  236. package/sdk/platform/index.js +2 -0
  237. package/sdk/public/Configuration/ConfigurationPublicClient.d.ts +2 -3
  238. package/sdk/public/Configuration/ConfigurationPublicClient.js +10 -8
  239. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +9 -9
  240. package/sdk/public/Configuration/ConfigurationPublicModel.js +6 -6
  241. package/sdk/public/Content/ContentPublicClient.d.ts +2 -112
  242. package/sdk/public/Content/ContentPublicClient.js +19 -793
  243. package/sdk/public/Content/ContentPublicModel.d.ts +3 -549
  244. package/sdk/public/Content/ContentPublicModel.js +3 -649
  245. package/sdk/public/Content/ContentPublicValidator.d.ts +3 -69
  246. package/sdk/public/Content/ContentPublicValidator.js +2 -88
  247. package/sdk/public/Partner/PartnerPublicClient.d.ts +1 -1
  248. package/sdk/public/Partner/PartnerPublicClient.js +14 -2
  249. package/sdk/public/Webhook/WebhookPublicClient.d.ts +8 -8
  250. package/sdk/public/Webhook/WebhookPublicClient.js +13 -10
  251. package/sdk/public/Webhook/WebhookPublicModel.d.ts +21 -21
  252. package/sdk/public/Webhook/WebhookPublicModel.js +15 -15
  253. package/sdk/public/Webhook/WebhookPublicValidator.d.ts +4 -4
  254. package/sdk/public/Webhook/WebhookPublicValidator.js +4 -4
  255. package/sdk/application/Cart/CartApplicationModel.d.ts +0 -4340
  256. package/sdk/application/Cart/CartApplicationModel.js +0 -2718
  257. package/sdk/application/Cart/CartApplicationValidator.d.ts +0 -788
  258. package/sdk/application/Cart/CartApplicationValidator.js +0 -546
  259. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +0 -3909
  260. package/sdk/application/Catalog/CatalogApplicationModel.js +0 -2667
  261. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +0 -791
  262. package/sdk/application/Catalog/CatalogApplicationValidator.js +0 -551
  263. package/sdk/application/Common/CommonApplicationModel.d.ts +0 -449
  264. package/sdk/application/Common/CommonApplicationModel.js +0 -308
  265. package/sdk/application/Common/CommonApplicationValidator.d.ts +0 -46
  266. package/sdk/application/Common/CommonApplicationValidator.js +0 -38
  267. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +0 -293
  268. package/sdk/application/Communication/CommunicationApplicationModel.js +0 -201
  269. package/sdk/application/Communication/CommunicationApplicationValidator.d.ts +0 -29
  270. package/sdk/application/Communication/CommunicationApplicationValidator.js +0 -38
  271. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +0 -2544
  272. package/sdk/application/Configuration/ConfigurationApplicationModel.js +0 -1875
  273. package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +0 -179
  274. package/sdk/application/Configuration/ConfigurationApplicationValidator.js +0 -176
  275. package/sdk/application/Content/ContentApplicationModel.d.ts +0 -2189
  276. package/sdk/application/Content/ContentApplicationModel.js +0 -1640
  277. package/sdk/application/Content/ContentApplicationValidator.d.ts +0 -290
  278. package/sdk/application/Content/ContentApplicationValidator.js +0 -269
  279. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +0 -270
  280. package/sdk/application/FileStorage/FileStorageApplicationModel.js +0 -188
  281. package/sdk/application/FileStorage/FileStorageApplicationValidator.d.ts +0 -56
  282. package/sdk/application/FileStorage/FileStorageApplicationValidator.js +0 -53
  283. package/sdk/application/Finance/FinanceApplicationClient.d.ts +0 -36
  284. package/sdk/application/Finance/FinanceApplicationClient.js +0 -202
  285. package/sdk/application/Finance/FinanceApplicationModel.d.ts +0 -289
  286. package/sdk/application/Finance/FinanceApplicationModel.js +0 -208
  287. package/sdk/application/Finance/FinanceApplicationValidator.d.ts +0 -25
  288. package/sdk/application/Finance/FinanceApplicationValidator.js +0 -31
  289. package/sdk/application/Lead/LeadApplicationModel.d.ts +0 -590
  290. package/sdk/application/Lead/LeadApplicationModel.js +0 -480
  291. package/sdk/application/Lead/LeadApplicationValidator.d.ts +0 -68
  292. package/sdk/application/Lead/LeadApplicationValidator.js +0 -71
  293. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +0 -2034
  294. package/sdk/application/Logistic/LogisticApplicationModel.js +0 -1391
  295. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +0 -299
  296. package/sdk/application/Logistic/LogisticApplicationValidator.js +0 -224
  297. package/sdk/application/Order/OrderApplicationModel.d.ts +0 -2612
  298. package/sdk/application/Order/OrderApplicationModel.js +0 -1669
  299. package/sdk/application/Order/OrderApplicationValidator.d.ts +0 -279
  300. package/sdk/application/Order/OrderApplicationValidator.js +0 -210
  301. package/sdk/application/Payment/PaymentApplicationModel.d.ts +0 -4062
  302. package/sdk/application/Payment/PaymentApplicationModel.js +0 -2632
  303. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +0 -576
  304. package/sdk/application/Payment/PaymentApplicationValidator.js +0 -594
  305. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +0 -365
  306. package/sdk/application/Rewards/RewardsApplicationModel.js +0 -396
  307. package/sdk/application/Rewards/RewardsApplicationValidator.d.ts +0 -73
  308. package/sdk/application/Rewards/RewardsApplicationValidator.js +0 -84
  309. package/sdk/application/Share/ShareApplicationModel.d.ts +0 -339
  310. package/sdk/application/Share/ShareApplicationModel.js +0 -234
  311. package/sdk/application/Share/ShareApplicationValidator.d.ts +0 -90
  312. package/sdk/application/Share/ShareApplicationValidator.js +0 -91
  313. package/sdk/application/Theme/ThemeApplicationModel.d.ts +0 -1744
  314. package/sdk/application/Theme/ThemeApplicationModel.js +0 -1446
  315. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +0 -79
  316. package/sdk/application/Theme/ThemeApplicationValidator.js +0 -65
  317. package/sdk/application/User/UserApplicationModel.d.ts +0 -1943
  318. package/sdk/application/User/UserApplicationModel.js +0 -1382
  319. package/sdk/application/User/UserApplicationValidator.d.ts +0 -560
  320. package/sdk/application/User/UserApplicationValidator.js +0 -573
  321. package/sdk/application/Webhook/WebhookApplicationModel.d.ts +0 -54
  322. package/sdk/application/Webhook/WebhookApplicationModel.js +0 -48
  323. package/sdk/application/Webhook/WebhookApplicationValidator.d.ts +0 -16
  324. package/sdk/application/Webhook/WebhookApplicationValidator.js +0 -19
  325. package/sdk/common/Clickstream.d.ts +0 -1
  326. package/sdk/common/Clickstream.js +0 -464
@@ -1,2667 +0,0 @@
1
- const Joi = require("joi");
2
-
3
- /**
4
- * @typedef ProductDetailCustomOrder
5
- * @property {number} [manufacturing_time] - The unit of time taken for manufacturing.
6
- * @property {string} [manufacturing_time_unit] - The unit of time required for
7
- * manufacturing is defined in hours or days.
8
- * @property {boolean} [is_custom_order] - A boolean flag indicating whether MTO
9
- * (Make to Order) is enabled or not.
10
- */
11
-
12
- /**
13
- * @typedef Meta
14
- * @property {string} [source] - The source or origin of the media file, which
15
- * could be a URL or a reference to where the media was obtained.
16
- */
17
-
18
- /**
19
- * @typedef Media
20
- * @property {string} [url] - Absolute url for Media.
21
- * @property {string} [type] - The type of media, such as image, video.
22
- * @property {Meta} [meta]
23
- * @property {string} [alt] - Alternative text for the media, used for
24
- * accessibility and SEO purposes.
25
- */
26
-
27
- /**
28
- * @typedef ProductListingActionPage
29
- * @property {string} [type] - The type of action such as product, products,
30
- * category, brand.
31
- * @property {Object} [query] - Query parameter if any to be added to the action.
32
- * @property {Object} [params] - Parameters that should be considered in path.
33
- */
34
-
35
- /**
36
- * @typedef ProductListingAction
37
- * @property {string} [type] - Type of action to be taken e.g, page.
38
- * @property {ProductListingActionPage} [page]
39
- */
40
-
41
- /**
42
- * @typedef ProductBrand
43
- * @property {number} [uid] - Unique identifier for the product brand.
44
- * @property {Media} [logo]
45
- * @property {string} [description] - Description of the product brand.
46
- * @property {string} [name] - Name of the product brand.
47
- * @property {ProductListingAction} [action]
48
- */
49
-
50
- /**
51
- * @typedef ProductDepartment
52
- * @property {number} [uid] - Unique identifier for the product department.
53
- * @property {Media} [logo]
54
- * @property {string} [slug] - URL-friendly identifier for the product department.
55
- * @property {string} [name] - Name of the product department.
56
- */
57
-
58
- /**
59
- * @typedef ProductCategoryMap
60
- * @property {ProductBrand} [l1]
61
- * @property {ProductBrand} [l2]
62
- * @property {ProductBrand} [l3]
63
- */
64
-
65
- /**
66
- * @typedef NetQuantity
67
- * @property {Object} [unit] - The unit of measurement used for the net quantity
68
- * of the product.
69
- * @property {number} [value] - The value of the net quantity of the product.
70
- */
71
-
72
- /**
73
- * @typedef CustomMetaFields
74
- * @property {string} value - A value to store in the custom field.
75
- * @property {string} key - A key to store a custom field.
76
- */
77
-
78
- /**
79
- * @typedef ApplicationItemSEO
80
- * @property {Object} [title] - The SEO title of the item.
81
- * @property {Object} [description] - The SEO description of the item.
82
- */
83
-
84
- /**
85
- * @typedef ProductDetailAttribute
86
- * @property {string} [value] - The value of the product attribute.
87
- * @property {string} [type] - The type or category of the product attribute.
88
- * @property {string} [key] - The key or name of the product attribute.
89
- */
90
-
91
- /**
92
- * @typedef ProductDetailGroupedAttribute
93
- * @property {string} [title] - The title or name of the attribute group.
94
- * @property {ProductDetailAttribute[]} [details] - A list of product attributes
95
- * within this group.
96
- */
97
-
98
- /**
99
- * @typedef ApplicationItemMOQ
100
- * @property {number} [minimum] - The minimum quantity required for purchase.
101
- * @property {number} [maximum] - The maximum quantity allowed for purchase.
102
- * @property {number} [increment_unit] - The minimum quantity increment in which
103
- * the item can be purchased.
104
- */
105
-
106
- /**
107
- * @typedef Price
108
- * @property {number} [min] - The minimum price for the product across stores.
109
- * @property {string} [currency_symbol] - The currency symbol for the currency
110
- * in which the product is available.
111
- * @property {string} [currency_code] - The currency code for the currency in
112
- * which the product is available.
113
- * @property {number} [max] - The maximum price for the product across stores.
114
- */
115
-
116
- /**
117
- * @typedef ProductListingPrice
118
- * @property {Price} [effective]
119
- * @property {Price} [marked]
120
- */
121
-
122
- /**
123
- * @typedef ProductSizesPrice
124
- * @property {Price} [effective]
125
- * @property {Price} [marked]
126
- * @property {Price} [selling]
127
- */
128
-
129
- /**
130
- * @typedef ProductDetail
131
- * @property {number} [uid] - Unique identifier for the product.
132
- * @property {ProductDetailCustomOrder} [custom_order]
133
- * @property {ProductCategoryMap} [category_map]
134
- * @property {NetQuantity} [net_quantity]
135
- * @property {number} [rating_count] - Count of ratings the product has received.
136
- * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields
137
- * associated with the product.
138
- * @property {string[]} [similars] - List of products marked similar to given product.
139
- * @property {string[]} [tags] - Tags associated with the product for better
140
- * categorization.
141
- * @property {ApplicationItemSEO} [seo]
142
- * @property {string} [image_nature] - Type of the images associated with the
143
- * product such as standard.
144
- * @property {boolean} [has_variant] - Indicates whether the product has variants.
145
- * @property {string} [item_type] - This field describes the type of item,
146
- * indicating the category or nature of the product. Possible values are
147
- * Standard, Composite, Wet, Digital.
148
- * @property {string} [description] - Detailed description of the product.
149
- * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - Grouped
150
- * attributes detailing various characteristics of the product.
151
- * @property {Media[]} [medias] - Media files associated with the product.
152
- * @property {string} [color] - Color of the product, if applicable.
153
- * @property {string} [type] - Product type or classification.
154
- * @property {string} [product_online_date] - Date and time when the product was
155
- * made available online.
156
- * @property {Object} [_custom_json] - Custom JSON object for additional product data.
157
- * @property {string} [item_code] - Item Code defined for the product.
158
- * @property {string} [name] - Name of the product.
159
- * @property {ApplicationItemMOQ} [moq]
160
- * @property {string} [short_description] - Brief description of the product.
161
- * @property {ProductBrand[]} [categories] - List of product categories
162
- * associated with the product.
163
- * @property {Object} [attributes] - Additional attributes or characteristics of
164
- * the product.
165
- * @property {string} [discount] - Discount applied to the product, if any.
166
- * @property {string[]} [tryouts] - Identifiers or names of tryout versions of
167
- * the product.
168
- * @property {string} slug - URL-friendly identifier for the product.
169
- * @property {ProductListingAction} [action]
170
- * @property {number} [rating] - The rating of the product.
171
- * @property {boolean} [is_dependent] - Indicates whether the product can be
172
- * sold as an individual product.
173
- * @property {string[]} [product_group_tag] - List of bundle/product grouping
174
- * slugs mapped to the product.
175
- * @property {string[]} [highlights] - Key highlights or features of the product.
176
- * @property {ProductListingPrice} [price]
177
- * @property {ProductBrand} [brand]
178
- * @property {ProductDepartment} [department]
179
- * @property {string} [teaser_tag] - Teaser tag or short promotional phrase for
180
- * the product.
181
- */
182
-
183
- /**
184
- * @typedef ErrorResponseSchema
185
- * @property {string} [error] - A brief description of the error.
186
- */
187
-
188
- /**
189
- * @typedef Dimension
190
- * @property {string} unit - The unit of dimension.
191
- * @property {number} height - The height of the product.
192
- * @property {number} length - The length of the product.
193
- * @property {number} width - The width of the product.
194
- * @property {boolean} is_default - Whether the dimension is the default one or not.
195
- */
196
-
197
- /**
198
- * @typedef Weight
199
- * @property {string} unit - The unit of weight.
200
- * @property {number} shipping - The shipping weight of the product.
201
- * @property {boolean} is_default - Whether the weight is the default one or not.
202
- */
203
-
204
- /**
205
- * @typedef DiscountMeta
206
- * @property {boolean} [timer] - Determines whether the discount countdown is
207
- * visible or not.
208
- * @property {number} [start_timer_in_minutes] - The time in minutes before the
209
- * discount ends when the countdown timer should start.
210
- * @property {string} [start] - The start time of the live discount.
211
- * @property {string} [end] - The end time of the live discount.
212
- */
213
-
214
- /**
215
- * @typedef ProductSize
216
- * @property {number} [quantity] - The quantity of the product size available.
217
- * @property {Dimension} [dimension]
218
- * @property {Weight} [weight]
219
- * @property {boolean} [is_available] - Indicates whether the product size is
220
- * available for purchase.
221
- * @property {string[]} [seller_identifiers] - List of identifiers used by
222
- * sellers for the product size.
223
- * @property {string} [value] - The value or label representing the product size.
224
- * @property {string} [display] - Display name of the product size.
225
- */
226
-
227
- /**
228
- * @typedef SizeChartValues
229
- * @property {string} [col_3] - Value for column 3.
230
- * @property {string} [col_6] - Value for column 6.
231
- * @property {string} [col_2] - Value for column 2.
232
- * @property {string} [col_4] - Value for column 4.
233
- * @property {string} [col_1] - Value for column 1.
234
- * @property {string} [col_5] - Value for column 5.
235
- */
236
-
237
- /**
238
- * @typedef ColumnHeader
239
- * @property {boolean} [convertable] - Indicates if the column value can be
240
- * converted or transformed.
241
- * @property {string} [value] - The value or title of the column header.
242
- */
243
-
244
- /**
245
- * @typedef ColumnHeaders
246
- * @property {ColumnHeader} [col_3]
247
- * @property {ColumnHeader} [col_6]
248
- * @property {ColumnHeader} [col_2]
249
- * @property {ColumnHeader} [col_4]
250
- * @property {ColumnHeader} [col_1]
251
- * @property {ColumnHeader} [col_5]
252
- */
253
-
254
- /**
255
- * @typedef SizeChart
256
- * @property {string} [unit] - Unit of measurement used in the size chart (e.g., in, cm).
257
- * @property {string} [image] - URL of the image representing the size chart.
258
- * @property {string} [size_tip] - Additional tip or guideline related to sizing.
259
- * @property {SizeChartValues[]} [sizes] - Array of size chart values for different sizes.
260
- * @property {string} [description] - Description related to the size chart.
261
- * @property {string} [title] - Title or name of the size chart.
262
- * @property {ColumnHeaders} [headers]
263
- */
264
-
265
- /**
266
- * @typedef ProductSizeStores
267
- * @property {number} [count] - Number of stores where the product size is available.
268
- */
269
-
270
- /**
271
- * @typedef ProductSizes
272
- * @property {ProductSize[]} [sizes] - List of available sizes for the product.
273
- * @property {ProductSizesPrice} [price]
274
- * @property {ProductSizesPrice} [price_per_piece]
275
- * @property {SizeChart} [size_chart]
276
- * @property {boolean} [sellable] - Whether the product sizes are available for sale.
277
- * @property {boolean} [multi_size] - Whether the product supports multiple sizes.
278
- * @property {string} [discount] - Discount information applicable to the product sizes.
279
- * @property {ProductSizeStores} [stores]
280
- * @property {DiscountMeta} [discount_meta]
281
- */
282
-
283
- /**
284
- * @typedef AttributeDetail
285
- * @property {string} [logo] - URL or path to the logo associated with the attribute.
286
- * @property {string} [description] - A description of the attribute.
287
- * @property {string} [display] - Display name or label for the attribute.
288
- * @property {string} [key] - Unique key or identifier for the attribute.
289
- */
290
-
291
- /**
292
- * @typedef AttributeMetadata
293
- * @property {string} [title] - Title or name of the attribute metadata.
294
- * @property {AttributeDetail[]} [details] - List of detailed information about
295
- * attributes.
296
- */
297
-
298
- /**
299
- * @typedef ProductsComparisonResponseSchema
300
- * @property {ProductDetail[]} [items] - List of product details for comparison.
301
- * @property {AttributeMetadata[]} [attributes_metadata] - Metadata about
302
- * attributes used for comparing products.
303
- */
304
-
305
- /**
306
- * @typedef ProductCompareResponseSchema
307
- * @property {string} [title] - Title or name of the comparison.
308
- * @property {ProductDetail[]} [items] - List of product details for comparison.
309
- * @property {AttributeMetadata[]} [attributes_metadata] - Metadata about
310
- * attributes used for comparing products.
311
- * @property {string} [subtitle] - Subtitle or additional description for the comparison.
312
- */
313
-
314
- /**
315
- * @typedef ProductFrequentlyComparedSimilarResponseSchema
316
- * @property {ProductCompareResponseSchema} [similars]
317
- */
318
-
319
- /**
320
- * @typedef ProductVariantItemResponseSchema
321
- * @property {number} [uid] - Unique identifier for the product variant.
322
- * @property {string} [color_name] - Name of the color for the variant.
323
- * @property {string} [color] - Color code or representation for the variant.
324
- * @property {Media[]} [medias] - Media files associated with the product variant.
325
- * @property {boolean} [is_available] - Indicates whether the product variant is
326
- * available for purchase.
327
- * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields
328
- * associated with the product.
329
- * @property {string} [name] - Name of the product variant.
330
- * @property {string} [value] - Value or label representing the product variant.
331
- * @property {string} [slug] - URL-friendly identifier for the product.
332
- * @property {Object} [_custom_json] - Custom JSON object for additional data
333
- * related to the product.
334
- * @property {ProductListingAction} [action]
335
- */
336
-
337
- /**
338
- * @typedef ProductVariantResponseSchema
339
- * @property {string} [display_type] - The type of display for the product
340
- * variant (e.g., image, text, image, color).
341
- * @property {string} [header] - Header or title for the product variant section.
342
- * @property {string} [group_id] - Group ID used to group variants.
343
- * @property {ProductVariantItemResponseSchema[]} [items] - List of product variant items.
344
- * @property {string} [key] - Attribute identifier of the variant.
345
- * @property {string} [logo] - URL or path to the logo associated with the
346
- * product variant.
347
- */
348
-
349
- /**
350
- * @typedef ProductVariantsResponseSchema
351
- * @property {ProductVariantResponseSchema[]} [variants] - A list of product
352
- * variant responses, each detailing a specific variant.
353
- */
354
-
355
- /**
356
- * @typedef StoreDetail
357
- * @property {string} [name] - NA.
358
- * @property {string} [city] - NA.
359
- * @property {number} [id] - NA.
360
- * @property {string} [code] - NA.
361
- */
362
-
363
- /**
364
- * @typedef ProductStockPrice
365
- * @property {number} [effective] - NA.
366
- * @property {string} [currency] - NA.
367
- * @property {number} [marked] - NA.
368
- */
369
-
370
- /**
371
- * @typedef CompanyDetail
372
- * @property {string} [name] - NA.
373
- * @property {number} [id] - NA.
374
- */
375
-
376
- /**
377
- * @typedef Seller
378
- * @property {number} [uid] - NA.
379
- * @property {string} [name] - NA.
380
- * @property {number} [count] - NA.
381
- */
382
-
383
- /**
384
- * @typedef ProductStockStatusItem
385
- * @property {string} [uid] - NA.
386
- * @property {number} [quantity] - NA.
387
- * @property {StoreDetail} [store]
388
- * @property {string} [size] - NA.
389
- * @property {ProductStockPrice} [price]
390
- * @property {CompanyDetail} [company]
391
- * @property {number} [item_id] - NA.
392
- * @property {Seller} [seller]
393
- * @property {Identifier} [identifier]
394
- */
395
-
396
- /**
397
- * @typedef ProductStockStatusResponseSchema
398
- * @property {ProductStockStatusItem[]} [items] - NA.
399
- */
400
-
401
- /**
402
- * @typedef Page
403
- * @property {number} [item_total] - The total number of items on the page.
404
- * @property {string} [next_id] - The identifier for the next page.
405
- * @property {boolean} [has_previous] - Indicates whether there is a previous page.
406
- * @property {boolean} [has_next] - Indicates whether there is a next page.
407
- * @property {number} [current] - The current page number.
408
- * @property {string} type - The type of the page, such as 'PageType'.
409
- * @property {number} [size] - The number of items per page.
410
- */
411
-
412
- /**
413
- * @typedef ProductStockPolling
414
- * @property {ProductStockStatusItem[]} [items] - NA.
415
- * @property {Page} page
416
- */
417
-
418
- /**
419
- * @typedef ProductVariantListingResponseSchema
420
- * @property {string} [header] - Header or title for the product variant section.
421
- * @property {ProductVariantItemResponseSchema[]} [items] - List of Upto 5
422
- * product variant items.
423
- * @property {number} [total] - The total number of product variants available.
424
- * @property {string} [key] - Attribute identifier of the variant.
425
- * @property {string} [display_type] - The type of display for the product
426
- * variant (e.g., image, text, image, color).
427
- */
428
-
429
- /**
430
- * @typedef ProductListingDetail
431
- * @property {number} [uid] - Unique identifier for the product.
432
- * @property {ProductDetailCustomOrder} [custom_order]
433
- * @property {string[]} [sizes] - Available sizes for the product.
434
- * @property {ProductCategoryMap} [category_map]
435
- * @property {NetQuantity} [net_quantity]
436
- * @property {number} [rating_count] - The number of ratings the product has received.
437
- * @property {CustomMetaFields[]} [_custom_meta] - Custom metadata fields
438
- * associated with the product.
439
- * @property {string[]} [similars] - List of products marked similar to given product.
440
- * @property {string[]} [tags] - Tags associated with the product for better
441
- * categorization.
442
- * @property {ApplicationItemSEO} [seo]
443
- * @property {string} [image_nature] - Type of the images associated with the
444
- * product such as standard.
445
- * @property {boolean} [has_variant] - Indicates whether the product has variants.
446
- * @property {string} [item_type] - This field describes the type of item,
447
- * indicating the category or nature of the product. Possible values are
448
- * Standard, Composite, Wet, Digital.
449
- * @property {string} [description] - Detailed description of the product.
450
- * @property {ProductDetailGroupedAttribute[]} [grouped_attributes] - Grouped
451
- * attributes detailing various characteristics of the product.
452
- * @property {Media[]} [medias] - Media files associated with the product.
453
- * @property {string} [color] - Color of the product, if applicable.
454
- * @property {string} [type] - Product type or classification.
455
- * @property {string} [product_online_date] - Date and time when the product was
456
- * made available online.
457
- * @property {Object} [_custom_json] - Custom JSON object for additional product data.
458
- * @property {string} [item_code] - Item Code defined for the product.
459
- * @property {string} [name] - Name of the product.
460
- * @property {ApplicationItemMOQ} [moq]
461
- * @property {string} [short_description] - Brief description of the product.
462
- * @property {ProductBrand[]} [categories] - List of product categories
463
- * associated with the product.
464
- * @property {boolean} [sellable] - Indicates whether the product is available for sale.
465
- * @property {Object} [attributes] - Additional attributes or characteristics of
466
- * the product.
467
- * @property {ProductVariantListingResponseSchema[]} [variants] - List of
468
- * product variants available for the product.
469
- * @property {string} [discount] - Discount details or percentage applied to the product.
470
- * @property {string[]} [tryouts] - List of tryout options available for the product.
471
- * @property {string[]} [identifiers] - List of seller identifiers for the product.
472
- * @property {string} slug - URL-friendly identifier for the product.
473
- * @property {ProductListingAction} [action]
474
- * @property {number} [rating] - Rating of the product.
475
- * @property {boolean} [is_dependent] - Indicates whether the product can be
476
- * sold as an individual product.
477
- * @property {string[]} [product_group_tag] - List of bundle/product grouping
478
- * slugs mapped to the product.
479
- * @property {string[]} [highlights] - Key highlights or features of the product.
480
- * @property {ProductListingPrice} [price]
481
- * @property {ProductBrand} [brand]
482
- * @property {string} [teaser_tag] - Teaser tag or short promotional phrase for
483
- * the product.
484
- */
485
-
486
- /**
487
- * @typedef ProductFiltersValue
488
- * @property {number} [min] - Minimum value for the range filter.
489
- * @property {string} [display_format] - Format in which the filter value is displayed.
490
- * @property {number} [selected_max] - The maximum value selected by the user
491
- * for range filter.
492
- * @property {string} [value] - Value associated with the filter option.
493
- * @property {string} [query_format] - Format used for the filter value in queries.
494
- * @property {string} [currency_symbol] - Currency symbol for the price type filters.
495
- * @property {number} [selected_min] - The minimum value selected by the user
496
- * for range filter.
497
- * @property {string} [currency_code] - Currency code for the currency used for
498
- * price type filters.
499
- * @property {boolean} is_selected - Whether this filter value is currently selected.
500
- * @property {string} display - Display name or label for the filter value.
501
- * @property {number} [count] - Number of products that match this filter value.
502
- * @property {number} [max] - Maximum value of the filter range.
503
- */
504
-
505
- /**
506
- * @typedef ProductFiltersKey
507
- * @property {string} [logo] - URL or path to the logo associated with the filter key.
508
- * @property {string} name - Name or identifier of the filter key.
509
- * @property {string} [kind] - Type or category of the filter key (e.g., range,
510
- * multivalued).
511
- * @property {string} display - Display name or label for the filter key.
512
- */
513
-
514
- /**
515
- * @typedef ProductFilters
516
- * @property {ProductFiltersValue[]} values - List of filter values associated
517
- * with the filter key.
518
- * @property {ProductFiltersKey} key
519
- */
520
-
521
- /**
522
- * @typedef ProductSortOn
523
- * @property {string} [logo] - URL or path to the logo associated with the sorting option.
524
- * @property {boolean} [is_selected] - Indicates whether this sorting option is
525
- * currently selected.
526
- * @property {string} [name] - Name or identifier of the sorting option.
527
- * @property {string} [value] - Value used to specify the sorting order (e.g.,
528
- * price_asc, discount_dsc).
529
- * @property {string} [display] - Display name or label for the sorting option.
530
- */
531
-
532
- /**
533
- * @typedef ProductListingResponseSchema
534
- * @property {ProductListingDetail[]} [items] - List of product details included
535
- * in the response.
536
- * @property {ProductFilters[]} [filters] - List of filters available for
537
- * refining the product listings.
538
- * @property {Page} page
539
- * @property {ProductSortOn[]} [sort_on] - List of sorting options available for
540
- * the product listings.
541
- */
542
-
543
- /**
544
- * @typedef ImageUrls
545
- * @property {Media} [portrait]
546
- * @property {Media} [landscape]
547
- */
548
-
549
- /**
550
- * @typedef BrandItem
551
- * @property {number} [uid] - The unique identifier for the brand.
552
- * @property {Media} [logo]
553
- * @property {string} [description] - Detailed description of the brand,
554
- * including its history, values, product offerings, and other relevant information.
555
- * @property {ImageUrls} [banners]
556
- * @property {string[]} [departments] - Lists the departments or categories
557
- * under which the brand's products are listed.
558
- * @property {string} [discount] - Details about any discounts currently
559
- * available on the brand's products.
560
- * @property {string} [name] - Name of the brand.
561
- * @property {string} [slug] - URL-friendly version of the brand's name, used in
562
- * the web address to access the brand's page on the platform.
563
- * @property {ProductListingAction} [action]
564
- */
565
-
566
- /**
567
- * @typedef BrandListingResponseSchema
568
- * @property {BrandItem[]} [items] - List of brand items included in the response.
569
- * @property {Page} page
570
- */
571
-
572
- /**
573
- * @typedef BrandDetailResponseSchema
574
- * @property {Media} [logo]
575
- * @property {number} [uid] - The unique identifier for the brand.
576
- * @property {string} [description] - Detailed description of the brand,
577
- * including its history, values, product offerings, and other relevant information.
578
- * @property {ImageUrls} [banners]
579
- * @property {Object} [_custom_json] - Custom JSON data related to the brand,
580
- * allowing for additional metadata.
581
- * @property {string} [name] - Name of the brand.
582
- */
583
-
584
- /**
585
- * @typedef CategoryBanner
586
- * @property {Media} portrait
587
- * @property {Media} landscape
588
- */
589
-
590
- /**
591
- * @typedef ThirdLevelChild
592
- * @property {number} [uid] - Unique identifier for the L3 category.
593
- * @property {ImageUrls} [banners]
594
- * @property {Object[]} [childs] - List of categories under the L3 category.
595
- * @property {Object} [_custom_json] - Custom JSON data related to the L3
596
- * category, allowing for additional metadata.
597
- * @property {string} [name] - Name of the L3 category.
598
- * @property {string} [slug] - Slug or URL-friendly identifier for the L3 category.
599
- * @property {ProductListingAction} [action]
600
- */
601
-
602
- /**
603
- * @typedef SecondLevelChild
604
- * @property {number} [uid] - Unique identifier for the L2 category.
605
- * @property {ImageUrls} [banners]
606
- * @property {ThirdLevelChild[]} [childs] - List of categories under the L2 category.
607
- * @property {Object} [_custom_json] - Custom JSON data related to the L2
608
- * category, allowing for additional metadata.
609
- * @property {string} [name] - Name of the L2 category.
610
- * @property {string} [slug] - Slug or URL-friendly identifier for the L2 category.
611
- * @property {ProductListingAction} [action]
612
- */
613
-
614
- /**
615
- * @typedef Child
616
- * @property {number} [uid] - Unique identifier for the L1 category.
617
- * @property {ImageUrls} [banners]
618
- * @property {SecondLevelChild[]} [childs] - List of categories under the L1 category.
619
- * @property {Object} [_custom_json] - Custom JSON data related to the L1
620
- * category, allowing for additional metadata.
621
- * @property {string} [name] - Name of the L1 category.
622
- * @property {string} [slug] - Slug or URL-friendly identifier for the L1 category.
623
- * @property {ProductListingAction} [action]
624
- */
625
-
626
- /**
627
- * @typedef CategoryItems
628
- * @property {number} uid - Unique identifier for the category.
629
- * @property {CategoryBanner} banners
630
- * @property {Child[]} [childs] - List of L1 categories under the main category.
631
- * @property {string} name - Name of the category.
632
- * @property {string} slug - Slug or URL-friendly identifier for the category.
633
- * @property {ProductListingAction} action
634
- */
635
-
636
- /**
637
- * @typedef DepartmentCategoryTree
638
- * @property {CategoryItems[]} [items] - List of categories within the department.
639
- * @property {string} department - Name of the department.
640
- */
641
-
642
- /**
643
- * @typedef DepartmentIdentifier
644
- * @property {number} [uid] - Unique identifier for the department.
645
- * @property {string} [slug] - Slug or URL-friendly identifier for the department.
646
- */
647
-
648
- /**
649
- * @typedef CategoryListingResponseSchema
650
- * @property {DepartmentCategoryTree[]} [data] - List of department category trees.
651
- * @property {DepartmentIdentifier[]} [departments] - List of departments.
652
- */
653
-
654
- /**
655
- * @typedef CategoryMetaResponseSchema
656
- * @property {Media} [logo]
657
- * @property {number} [uid] - Unique identifier for the category.
658
- * @property {ImageUrls} [banners]
659
- * @property {Object} [_custom_json] - Custom JSON data related to the category,
660
- * allowing for additional metadata.
661
- * @property {string} [name] - Name of the category.
662
- */
663
-
664
- /**
665
- * @typedef HomeListingResponseSchema
666
- * @property {ProductListingDetail[]} [items] - List of product details
667
- * displayed on the home page.
668
- * @property {Page} page
669
- * @property {string} [message] - Message related to the home listing response.
670
- */
671
-
672
- /**
673
- * @typedef Department
674
- * @property {number} [uid] - Unique identifier for the department.
675
- * @property {Media} [logo]
676
- * @property {number} [priority_order] - Specifies the display order of the
677
- * department, determining its position in lists and navigation menus based on
678
- * priority.
679
- * @property {string} [name] - Name of the department.
680
- * @property {string} [slug] - URL-friendly version of the department's name,
681
- * used in the web address to access the department's page on the platform.
682
- */
683
-
684
- /**
685
- * @typedef DepartmentResponseSchema
686
- * @property {Department[]} [items] - List of department detail objects.
687
- */
688
-
689
- /**
690
- * @typedef AutocompleteItem
691
- * @property {Media} [logo]
692
- * @property {string} [display] - Text or value displayed for the autocomplete item.
693
- * @property {string} [type] - The type of action such as product, products,
694
- * category, brand.
695
- * @property {Object} [_custom_json] - Custom JSON data related to the
696
- * autocomplete item, allowing for additional metadata.
697
- * @property {ProductListingAction} [action]
698
- */
699
-
700
- /**
701
- * @typedef AutoCompleteResponseSchema
702
- * @property {AutocompleteItem[]} [items] - List of autocomplete items suggested
703
- * based on user input.
704
- */
705
-
706
- /**
707
- * @typedef CollectionQuery
708
- * @property {string} op - The operator used for filtering the collection.
709
- * @property {Object[]} value - The values used for filtering based on the attribute.
710
- * @property {string} attribute - The attribute on which the filter is applied.
711
- */
712
-
713
- /**
714
- * @typedef GetCollectionDetailNest
715
- * @property {boolean} [is_active] - Indicates whether the collection is currently active.
716
- * @property {string} [uid] - The unique identifier for the collection.
717
- * @property {string} [sort_on] - The attribute by which the collection items are sorted.
718
- * @property {Object} [meta] - Additional metadata related to the collection.
719
- * @property {ImageUrls} [banners]
720
- * @property {Object} [cron] - Cron details for scheduling related to the collection.
721
- * @property {Object} [_schedule] - The `Schedule` schema defines the timing and
722
- * details for recurring or one-time tasks. It includes information on when
723
- * the job should start and end, the frequency of the task, and any additional
724
- * metadata. This schema helps in scheduling jobs or tasks based on specified
725
- * timings and durations.
726
- * @property {CollectionQuery[]} [query] - A list of queries used to filter the
727
- * collection.
728
- * @property {string} [description] - A detailed description of the collection.
729
- * @property {string} [type] - Type of collections e.g query, items.
730
- * @property {Object} [_custom_json] - Custom JSON data associated with the collection.
731
- * @property {string} [name] - The name of the collection.
732
- * @property {boolean} [allow_sort] - Indicates if sorting is allowed for this collection.
733
- * @property {string[]} [visible_facets_keys] - Keys of the facets visible for
734
- * filtering within the collection.
735
- * @property {Object} [badge] - Badge information associated with the collection.
736
- * @property {string} [slug] - The URL-friendly identifier for the collection.
737
- * @property {ProductListingAction} [action]
738
- * @property {boolean} [allow_facets] - Indicates if facets are allowed for
739
- * filtering within the collection.
740
- * @property {Media} [logo]
741
- * @property {number} [priority] - Priority level of the collection for sorting
742
- * or display purposes.
743
- * @property {string[]} [tags] - Tags associated with the collection.
744
- * @property {string} [app_id] - Application ID associated with the collection.
745
- */
746
-
747
- /**
748
- * @typedef CollectionListingFilterTag
749
- * @property {string} [name] - The name of the tag. This is typically used as a
750
- * label for filtering purposes.
751
- * @property {boolean} [is_selected] - A flag indicating whether the tag is
752
- * currently selected as a filter option.
753
- * @property {string} [display] - The display name of the tag. This may be a
754
- * user-friendly version of the tag name shown in the UI.
755
- */
756
-
757
- /**
758
- * @typedef CollectionListingFilterType
759
- * @property {string} [name] - The name of the filter type. This indicates the
760
- * type of filtering being applied, such as items, query.
761
- * @property {boolean} [is_selected] - A flag indicating whether this filter
762
- * type is currently selected as a filter option.
763
- * @property {string} [display] - The display name of the filter type. This is
764
- * the user-friendly name shown in the UI for the filter type.
765
- */
766
-
767
- /**
768
- * @typedef CollectionListingFilter
769
- * @property {CollectionListingFilterTag[]} [tags] - An array of tag filters
770
- * available for the collection listings. Each tag allows for filtering based
771
- * on specific attributes.
772
- * @property {CollectionListingFilterType[]} [type] - An array of filter types
773
- * available for the collection listings. Each type represents a different
774
- * category or attribute for filtering.
775
- */
776
-
777
- /**
778
- * @typedef GetCollectionListingResponseSchema
779
- * @property {GetCollectionDetailNest[]} [items] - An array of collection
780
- * details. Each item in the array represents a collection with various
781
- * attributes and configurations.
782
- * @property {CollectionListingFilter} [filters]
783
- * @property {Page} page
784
- */
785
-
786
- /**
787
- * @typedef CollectionDetailResponseSchema
788
- * @property {boolean} [is_active] - Indicates whether the collection is active.
789
- * @property {string} [sort_on] - Criteria used to sort the items within the
790
- * collection, such as price, popularity, or newest first.
791
- * @property {Object} [meta] - Metadata associated with the collection.
792
- * @property {ImageUrls} [banners]
793
- * @property {Object} [cron] - Cron schedule details related to the collection,
794
- * if applicable.
795
- * @property {Object} [_schedule] - Schedule details for the collection,
796
- * including timing and duration information.
797
- * @property {CollectionQuery[]} [query] - Search or filter query used to
798
- * dynamically generate the collection based on specific criteria or conditions.
799
- * @property {string} [description] - Detailed description of the collection,.
800
- * @property {string} [type] - Type of collection, specifying the nature or
801
- * category of the collection.
802
- * @property {Object} [_custom_json] - Custom JSON object containing additional
803
- * properties specific to the collection.
804
- * @property {string} [name] - The name of the collection.
805
- * @property {boolean} [allow_sort] - Indicates if sorting is allowed for this collection.
806
- * @property {string[]} [visible_facets_keys] - Keys of the facets visible for
807
- * filtering within the collection.
808
- * @property {Object} [badge] - Badge information associated with the collection.
809
- * @property {string} [slug] - The URL-friendly identifier for the collection.
810
- * @property {boolean} [allow_facets] - Indicates if facets are allowed for
811
- * filtering within the collection.
812
- * @property {Media} [logo]
813
- * @property {number} [priority] - Priority level of the collection for sorting
814
- * or display purposes.
815
- * @property {string[]} [tag] - Tags associated with the collection.
816
- * @property {string} [app_id] - Application ID associated with the collection.
817
- */
818
-
819
- /**
820
- * @typedef GetFollowListingResponseSchema
821
- * @property {ProductListingDetail[]} items - An array of product details that
822
- * the user is following. Each item includes information such as the product
823
- * name, price, and other attributes.
824
- * @property {Page} page
825
- */
826
-
827
- /**
828
- * @typedef FollowPostResponseSchema
829
- * @property {string} message - A message indicating the result of the follow or
830
- * unfollow operation. This could be a confirmation message or an error message.
831
- * @property {string} id - A unique identifier for the follow operation, which
832
- * can be used to reference or track the follow status.
833
- */
834
-
835
- /**
836
- * @typedef FollowerCountResponseSchema
837
- * @property {number} [count] - The number of followers for the item. This count
838
- * indicates how many users are following the specified item.
839
- */
840
-
841
- /**
842
- * @typedef FollowIdsData
843
- * @property {number[]} [products] - An array of IDs representing the products
844
- * that the user is following.
845
- * @property {number[]} [collections] - An array of IDs representing the
846
- * collections that the user is following.
847
- * @property {number[]} [brands] - An array of IDs representing the brands that
848
- * the user is following.
849
- */
850
-
851
- /**
852
- * @typedef FollowIdsResponseSchema
853
- * @property {FollowIdsData} [data]
854
- */
855
-
856
- /**
857
- * @typedef LatLong
858
- * @property {number[]} [coordinates] - An array containing the latitude and
859
- * longitude values of the location.
860
- * @property {string} [type] - The type of geographic coordinate system used.
861
- * For example, "Point" indicates a single point in a geographic coordinate system.
862
- */
863
-
864
- /**
865
- * @typedef StoreContact
866
- * @property {string} [number] - The contact number of the Store Manager.
867
- * @property {number} [country_code] - The country code for the contact number.
868
- */
869
-
870
- /**
871
- * @typedef Store
872
- * @property {number} [uid] - A unique identifier for the store.
873
- * @property {string} [store_email] - The manager's email address for the store.
874
- * @property {string} [state] - The state or province where the store is located.
875
- * @property {string} [country] - The country where the store is located.
876
- * @property {number} [pincode] - The postal code or zip code for the store's location.
877
- * @property {string} [city] - The city where the store is located.
878
- * @property {string} [address] - The street address of the store.
879
- * @property {string} [store_code] - A unique code or identifier for the store,
880
- * often used for internal reference.
881
- * @property {LatLong} [lat_long]
882
- * @property {string} [name] - The name of the store.
883
- * @property {string[]} [tags] - The list of tags mapped to the store.
884
- * @property {StoreContact[]} [contacts] - List of contact numbers for the store.
885
- */
886
-
887
- /**
888
- * @typedef StoreListingResponseSchema
889
- * @property {Store[]} items - An array of store details. Each store includes
890
- * information such as name, address, and geographic coordinates.
891
- * @property {Page} page
892
- */
893
-
894
- /**
895
- * @typedef StoreDepartments
896
- * @property {number} [uid] - The unique identifier assigned to the store department.
897
- * @property {Object} [logo] - An object containing information about the store
898
- * department's logo, such as the URL or other related media details.
899
- * @property {number} [priority_order] - The priority or ranking of the
900
- * department within the store. This field is used to determine the order in
901
- * which departments are displayed or processed.
902
- * @property {string} [name] - The name of the store department, which is
903
- * typically used for display and identification purposes.
904
- * @property {string} [slug] - A URL-friendly identifier for the store
905
- * department, often used in web addresses and routing to uniquely identify
906
- * the department.
907
- */
908
-
909
- /**
910
- * @typedef CompanyStore
911
- * @property {number} [uid] - The unique identifier for the company store.
912
- * @property {string} [name] - The name of the company store.
913
- * @property {string} [company_type] - The type of company, which can be one of
914
- * the following: - `distributor`: Distributor - `franchise`: Franchise -
915
- * `mbo`: MBO (Managed Business Operations) - `manufacturer-owner`: Owner/Manufacturer.
916
- * @property {string} [business_type] - The type of business structure, which
917
- * can be one of the following: - `Private`: Private Limited Company -
918
- * `LLP/Partnership`: Limited Liability Partnership or Partnership -
919
- * `HUF/Proprietorship`: Hindu Undivided Family or Proprietorship.
920
- */
921
-
922
- /**
923
- * @typedef SellerPhoneNumber
924
- * @property {number} country_code - The country code of the seller's phone number.
925
- * @property {string} number - The seller's contact number.
926
- */
927
-
928
- /**
929
- * @typedef StoreManagerSchema
930
- * @property {string} [name] - The name of the store manager.
931
- * @property {string} [email] - The email address of the store manager.
932
- * @property {SellerPhoneNumber} [mobile_no]
933
- */
934
-
935
- /**
936
- * @typedef StoreAddressSchema
937
- * @property {number} [latitude] - The latitude of the store's location.
938
- * @property {string} [state] - The state where the store is located.
939
- * @property {string} [country] - The country where the store is located.
940
- * @property {string} [landmark] - A landmark near the store.
941
- * @property {string} [address1] - The address line 1 of the store.
942
- * @property {number} [pincode] - The postal code for the store's location.
943
- * @property {string} [city] - The city where the store is located.
944
- * @property {number} [longitude] - The longitude of the store's location.
945
- * @property {string} [address2] - The address line2 of the store.
946
- */
947
-
948
- /**
949
- * @typedef AppStore
950
- * @property {number} [uid] - The unique identifier for the application store.
951
- * @property {StoreDepartments[]} [departments] - A list of departments within the store.
952
- * @property {CompanyStore} [company]
953
- * @property {StoreManagerSchema} [manager]
954
- * @property {string} [store_code] - A unique code for identifying the store.
955
- * @property {StoreAddressSchema} [address]
956
- * @property {string} [name] - The name of the store.
957
- * @property {SellerPhoneNumber[]} [contact_numbers] - A list of contact numbers
958
- * for the store.
959
- */
960
-
961
- /**
962
- * @typedef ApplicationStoreListing
963
- * @property {Object[]} [filters] - A list of filters applied to the store listing.
964
- * @property {AppStore[]} [items] - A list of application stores.
965
- * @property {Page} [page]
966
- */
967
-
968
- /**
969
- * @typedef Time
970
- * @property {number} [hour] - The hour part of the time.
971
- * @property {number} [minute] - The minute part of the time.
972
- */
973
-
974
- /**
975
- * @typedef StoreTiming
976
- * @property {boolean} [open] - Indicates if the store is open on this day.
977
- * @property {Time} [closing]
978
- * @property {string} [weekday] - The day of the week.
979
- * @property {Time} [opening]
980
- */
981
-
982
- /**
983
- * @typedef StoreDetails
984
- * @property {number} [uid] - The unique identifier for the store.
985
- * @property {StoreDepartments[]} [departments] - A list of departments within the store.
986
- * @property {CompanyStore} [company]
987
- * @property {StoreManagerSchema} [manager]
988
- * @property {string} [store_code] - A unique code for identifying the store.
989
- * @property {StoreTiming[]} [timing] - The opening and closing times for the
990
- * store throughout the week.
991
- * @property {StoreAddressSchema} [address]
992
- * @property {Object} [_custom_json] - Custom JSON data for the store.
993
- * @property {string} [name] - The name of the store.
994
- * @property {SellerPhoneNumber[]} [contact_numbers] - A list of contact numbers
995
- * for the store.
996
- */
997
-
998
- /**
999
- * @typedef UserDetail
1000
- * @property {boolean} [super_user] - A flag indicating whether the user is a super user.
1001
- * @property {string} [contact] - The contact details of the user.
1002
- * @property {string} username - The username of the user.
1003
- * @property {string} user_id - The user ID of the user.
1004
- */
1005
-
1006
- /**
1007
- * @typedef Size
1008
- * @property {number} [quantity] - The quantity of this size available.
1009
- * @property {Object} [value] - The value of the size.
1010
- * @property {Object} [display] - The display string for the size.
1011
- * @property {boolean} [is_available] - Whether or not this size is available.
1012
- */
1013
-
1014
- /**
1015
- * @typedef ProductGroupPrice
1016
- * @property {number} [max_effective] - The maximum effective price of the product group.
1017
- * @property {number} [min_effective] - The minimum effective price of the product group.
1018
- * @property {number} [min_marked] - The minimum marked price of the product group.
1019
- * @property {Object} [currency] - The currency code for the prices.
1020
- * @property {number} [max_marked] - The maximum marked price of the product group.
1021
- */
1022
-
1023
- /**
1024
- * @typedef ProductDetails
1025
- * @property {Object} [template_tag] - The template tag of the product.
1026
- * @property {number} [rating_count] - The number of ratings the product has received.
1027
- * @property {Object} [image_nature] - The nature of the product's images.
1028
- * @property {boolean} [has_variant] - Whether or not the product has a variant.
1029
- * @property {Object} [description] - The long description of the product.
1030
- * @property {boolean} [out_of_stock] - Whether or not the product is out of stock.
1031
- * @property {number} [hsn_code] - The HSN code of the product.
1032
- * @property {Object} [grouped_attributes] - A dictionary of grouped product attributes.
1033
- * @property {Object} [item_code] - The item code of the product.
1034
- * @property {Object} [name] - The name of the product.
1035
- * @property {Object} [country_of_origin] - The country of origin for the product.
1036
- * @property {Object} [short_description] - The short description of the product.
1037
- * @property {Object[]} [media] - A list of media objects for the product.
1038
- * @property {Object} [attributes] - A dictionary of product attributes.
1039
- * @property {boolean} [is_set] - Whether or not the product is a set of items.
1040
- * @property {Object[]} [images] - A list of image URLs for the product.
1041
- * @property {Object} [slug] - The slug of the product.
1042
- * @property {number} [rating] - The rating of the product.
1043
- * @property {Identifier} [identifier]
1044
- * @property {Object[]} [highlights] - A list of highlights for the product.
1045
- * @property {number} [brand_uid] - The unique ID of the product's brand.
1046
- */
1047
-
1048
- /**
1049
- * @typedef ProductInGroup
1050
- * @property {boolean} [auto_add_to_cart] - Whether the product should be
1051
- * automatically added to the cart.
1052
- * @property {number} max_quantity - The maximum quantity of the product that
1053
- * can be added to the cart.
1054
- * @property {Size[]} [sizes] - The available sizes for the product.
1055
- * @property {ProductGroupPrice} [price] - The price details for the product.
1056
- * @property {boolean} [auto_select] - Whether the product should be
1057
- * automatically selected.
1058
- * @property {ProductDetails} [product_details] - The details of the product.
1059
- * @property {number} [min_quantity] - The minimum quantity of the product that
1060
- * can be added to the cart.
1061
- * @property {boolean} [allow_remove] - Whether the product can be removed from the cart.
1062
- * @property {number} product_uid - The unique ID of the product in the group.
1063
- */
1064
-
1065
- /**
1066
- * @typedef ProductGroupingModel
1067
- * @property {string} [logo] - The URL for the logo of the product group.
1068
- * @property {boolean} [is_active] - Whether the product grouping is active.
1069
- * @property {Object} [meta] - A dictionary containing metadata information.
1070
- * @property {UserDetail} [verified_by] - User details of the verifier of the
1071
- * document, if applicable.
1072
- * @property {string} created_on - Timestamp of the creation of the document.
1073
- * @property {number} [company_id] - The ID of the company that owns the product grouping.
1074
- * @property {Object[]} [page_visibility] - A list of page visibilities of the
1075
- * product grouping.
1076
- * @property {string} modified_on - Timestamp of the last modification of the document.
1077
- * @property {UserDetail} [created_by] - User details of the creator of the document.
1078
- * @property {UserDetail} [modified_by] - User details of the last modifier of
1079
- * the document.
1080
- * @property {ProductInGroup[]} products - A list of products in the grouping.
1081
- * @property {boolean} [same_store_assignment] - Whether the products are
1082
- * assigned to the same store.
1083
- * @property {Object} [_id] - Unique identifier of the product grouping.
1084
- * @property {Object} name - The name of the product grouping.
1085
- * @property {Object} [choice] - The choice of the product grouping.
1086
- * @property {Object} [slug] - The unique identifier for the product grouping.
1087
- * @property {string} [verified_on] - Timestamp of when the document was
1088
- * verified, if applicable.
1089
- */
1090
-
1091
- /**
1092
- * @typedef ProductBundle
1093
- * @property {ProductGroupingModel[]} [items] - Represents list of
1094
- * bundles/product groupings.
1095
- */
1096
-
1097
- /**
1098
- * @typedef StoreV3
1099
- * @property {number} [uid] - The unique identifier for the store.
1100
- * @property {string} [name] - The name of the store.
1101
- * @property {number} [count] - The count associated with the store.
1102
- */
1103
-
1104
- /**
1105
- * @typedef ArticleAssignmentV3
1106
- * @property {string} [strategy] - Method used for article assignment, such as
1107
- * optimal, fast-delivery, low-price, or manual.
1108
- * @property {string} [level] - Scope of assignment, which can be
1109
- * multi-companies, single-company, or single-store.
1110
- */
1111
-
1112
- /**
1113
- * @typedef StrategyWiseListingSchemaV3
1114
- * @property {number} [distance] - Distance between bullfight location and
1115
- * customer location in kilometers. .
1116
- * @property {number} [pincode] - Pincode mapped based on strategy.
1117
- * @property {number} [tat] - Turn around Time to deliver the product with this strategy.
1118
- * @property {number} [quantity] - The quantity available for assigned store.
1119
- */
1120
-
1121
- /**
1122
- * @typedef DetailsSchemaV3
1123
- * @property {string} [value] - The value of the attribute.
1124
- * @property {string} [type] - The type of detail e.g, text.
1125
- * @property {string} [key] - The attribute key associated with the size.
1126
- */
1127
-
1128
- /**
1129
- * @typedef SellerGroupAttributes
1130
- * @property {string} [title] - The title of the attribute group.
1131
- * @property {DetailsSchemaV3[]} [details] - Detail of the attribute.
1132
- */
1133
-
1134
- /**
1135
- * @typedef ReturnConfigSchemaV3
1136
- * @property {string} [unit] - The unit for the return configuration.
1137
- * @property {boolean} [returnable] - Indicates if the item is returnable.
1138
- * @property {number} [time] - The time duration for the return policy.
1139
- */
1140
-
1141
- /**
1142
- * @typedef ProductSetDistributionSizeV3
1143
- * @property {number} [pieces] - The number of pieces available in this size.
1144
- * @property {string} [size] - The size of the product.
1145
- */
1146
-
1147
- /**
1148
- * @typedef ProductSetDistributionV3
1149
- * @property {ProductSetDistributionSizeV3[]} [sizes] - A list of size
1150
- * distributions in the product set.
1151
- */
1152
-
1153
- /**
1154
- * @typedef ProductSetV3
1155
- * @property {number} [quantity] - The quantity of products in the set.
1156
- * @property {ProductSetDistributionV3} [size_distribution]
1157
- */
1158
-
1159
- /**
1160
- * @typedef ProductStockPriceV3
1161
- * @property {number} [effective] - The effective or final price for the product
1162
- * at the given pincode.
1163
- * @property {string} [currency_code] - The currency code for which the product
1164
- * is available.
1165
- * @property {string} [currency_symbol] - The currency symbol for the currency
1166
- * in which the product is available.
1167
- * @property {number} [marked] - The marked price of the product.
1168
- * @property {number} [selling] - The selling price of the product.
1169
- */
1170
-
1171
- /**
1172
- * @typedef ProductStockUnitPriceV3
1173
- * @property {string} [unit] - The unit of measure for the product.
1174
- * @property {string} [currency_symbol] - The currency symbol for the unit price.
1175
- * @property {string} [currency_code] - The currency code for the unit price.
1176
- * @property {number} [price] - The unit price of the product.
1177
- */
1178
-
1179
- /**
1180
- * @typedef MarketPlaceSttributesSchemaV3
1181
- * @property {string} [title] - The title of the attribute.
1182
- * @property {DetailsSchemaV3[]} [details] - Detail of the attribute.
1183
- */
1184
-
1185
- /**
1186
- * @typedef SellerV3
1187
- * @property {number} [uid] - The unique identifier for the seller.
1188
- * @property {string} [name] - The name of the seller.
1189
- * @property {number} [count] - The store count serviceable by this seller.
1190
- */
1191
-
1192
- /**
1193
- * @typedef PromiseSchema
1194
- * @property {string} [min] - The minimum promise time.
1195
- * @property {string} [max] - The maximum promise time.
1196
- */
1197
-
1198
- /**
1199
- * @typedef ProductSizePriceResponseV3
1200
- * @property {StoreV3} [store]
1201
- * @property {ArticleAssignmentV3} [article_assignment]
1202
- * @property {boolean} [is_cod] - Whether Cash on Delivery (COD) is available
1203
- * for this product. It is true if COD is available and false otherwise.
1204
- * @property {StrategyWiseListingSchemaV3[]} [strategy_wise_listing] - Details
1205
- * about serviceability attributes.
1206
- * @property {number} [quantity] - Available quantity of the product in stock.
1207
- * It shows the number of units available for purchase.
1208
- * @property {string} [item_type] - Type of item, indicating the category or
1209
- * nature of the product. Possible values are Standard, Composite, Wet, Digital.
1210
- * @property {SellerGroupAttributes[]} [grouped_attributes] - Collection of
1211
- * attributes grouped together, which provides detailed characteristics of the
1212
- * product, such as color, size, material, etc.
1213
- * @property {ReturnConfigSchemaV3} [return_config]
1214
- * @property {string} [article_id] - This unique identifier is assigned to the
1215
- * specific article. This represents item x size x location.
1216
- * @property {boolean} [is_gift] - Whether the product can be purchased as a
1217
- * gift. It is true if the product is available for gifting and false otherwise.
1218
- * @property {ProductSetV3} [set]
1219
- * @property {number} [seller_count] - Number of sellers offering this product.
1220
- * It indicates the level of competition and availability from different sellers.
1221
- * @property {ProductStockPriceV3} [price_per_piece]
1222
- * @property {DiscountMeta} [discount_meta]
1223
- * @property {string} [discount] - Amount or percentage of discount applied to
1224
- * the product's price, showing the savings for the customer.
1225
- * @property {number[]} [long_lat] - Longitude and latitude coordinates,
1226
- * possibly indicating the location of the store or warehouse where the
1227
- * product is stocked.
1228
- * @property {string} [special_badge] - Special badges or labels assigned to the
1229
- * product, such as "Bestseller," "New Arrival," or "Limited Edition.".
1230
- * @property {ProductStockPriceV3} [price]
1231
- * @property {ProductStockUnitPriceV3} [price_per_unit]
1232
- * @property {number} [pincode] - Postal code or zip code for which the
1233
- * product's availability and delivery options are being checked.
1234
- * @property {MarketPlaceSttributesSchemaV3[]} [marketplace_attributes] -
1235
- * Attributes specific to the marketplace, such as ratings, reviews, shipping
1236
- * options, and other marketplace-specific details.
1237
- * @property {SellerV3} [seller]
1238
- * @property {PromiseSchema} [delivery_promise]
1239
- */
1240
-
1241
- /**
1242
- * @typedef ProductSizeSellerFilterSchemaV3
1243
- * @property {string} [name] - The name of the store/seller.
1244
- * @property {boolean} [is_selected] - Whether this filter criterion is selected.
1245
- * @property {string} [value] - The value associated with this store/seller.
1246
- */
1247
-
1248
- /**
1249
- * @typedef ProductSizeSellersResponseV3
1250
- * @property {ProductSizePriceResponseV3[]} [items] - A list of products with
1251
- * size and price details available from various sellers.
1252
- * @property {Page} page
1253
- * @property {ProductSizeSellerFilterSchemaV3[]} [sort_on] - A list of sorting
1254
- * and filtering criteria applied to the sellers' data.
1255
- */
1256
-
1257
- /**
1258
- * @typedef Identifier
1259
- * @property {string} [ean] - The European Article Number (EAN) of the item.
1260
- * @property {string} [sku_code] - The Stock Keeping Unit (SKU) code of the item.
1261
- * @property {string} [alu] - The Alternative Lookup Product of the item.
1262
- * @property {string} [upc] - Universal Product Code of the item.
1263
- * @property {string} [isbn] - ISBN (International Standard Book Number) is a
1264
- * unique identifier used globally to identify books and other non-periodical
1265
- * publications
1266
- */
1267
-
1268
- class CatalogApplicationModel {
1269
- /** @returns {ProductDetailCustomOrder} */
1270
- static ProductDetailCustomOrder() {
1271
- return Joi.object({
1272
- manufacturing_time: Joi.number(),
1273
- manufacturing_time_unit: Joi.string().allow(""),
1274
- is_custom_order: Joi.boolean(),
1275
- });
1276
- }
1277
-
1278
- /** @returns {Meta} */
1279
- static Meta() {
1280
- return Joi.object({
1281
- source: Joi.string().allow(""),
1282
- });
1283
- }
1284
-
1285
- /** @returns {Media} */
1286
- static Media() {
1287
- return Joi.object({
1288
- url: Joi.string().allow(""),
1289
- type: Joi.string().allow(""),
1290
- meta: CatalogApplicationModel.Meta(),
1291
- alt: Joi.string().allow(""),
1292
- });
1293
- }
1294
-
1295
- /** @returns {ProductListingActionPage} */
1296
- static ProductListingActionPage() {
1297
- return Joi.object({
1298
- type: Joi.string().allow(""),
1299
- query: Joi.object().pattern(/\S/, Joi.any()),
1300
- params: Joi.object().pattern(/\S/, Joi.any()),
1301
- });
1302
- }
1303
-
1304
- /** @returns {ProductListingAction} */
1305
- static ProductListingAction() {
1306
- return Joi.object({
1307
- type: Joi.string().allow(""),
1308
- page: CatalogApplicationModel.ProductListingActionPage(),
1309
- });
1310
- }
1311
-
1312
- /** @returns {ProductBrand} */
1313
- static ProductBrand() {
1314
- return Joi.object({
1315
- uid: Joi.number(),
1316
- logo: CatalogApplicationModel.Media(),
1317
- description: Joi.string().allow(""),
1318
- name: Joi.string().allow(""),
1319
- action: CatalogApplicationModel.ProductListingAction(),
1320
- });
1321
- }
1322
-
1323
- /** @returns {ProductDepartment} */
1324
- static ProductDepartment() {
1325
- return Joi.object({
1326
- uid: Joi.number(),
1327
- logo: CatalogApplicationModel.Media(),
1328
- slug: Joi.string().allow(""),
1329
- name: Joi.string().allow(""),
1330
- });
1331
- }
1332
-
1333
- /** @returns {ProductCategoryMap} */
1334
- static ProductCategoryMap() {
1335
- return Joi.object({
1336
- l1: CatalogApplicationModel.ProductBrand(),
1337
- l2: CatalogApplicationModel.ProductBrand(),
1338
- l3: CatalogApplicationModel.ProductBrand(),
1339
- });
1340
- }
1341
-
1342
- /** @returns {NetQuantity} */
1343
- static NetQuantity() {
1344
- return Joi.object({
1345
- unit: Joi.any(),
1346
- value: Joi.number(),
1347
- });
1348
- }
1349
-
1350
- /** @returns {CustomMetaFields} */
1351
- static CustomMetaFields() {
1352
- return Joi.object({
1353
- value: Joi.string().allow("").required(),
1354
- key: Joi.string().allow("").required(),
1355
- });
1356
- }
1357
-
1358
- /** @returns {ApplicationItemSEO} */
1359
- static ApplicationItemSEO() {
1360
- return Joi.object({
1361
- title: Joi.any(),
1362
- description: Joi.any(),
1363
- });
1364
- }
1365
-
1366
- /** @returns {ProductDetailAttribute} */
1367
- static ProductDetailAttribute() {
1368
- return Joi.object({
1369
- value: Joi.string().allow(""),
1370
- type: Joi.string().allow(""),
1371
- key: Joi.string().allow(""),
1372
- });
1373
- }
1374
-
1375
- /** @returns {ProductDetailGroupedAttribute} */
1376
- static ProductDetailGroupedAttribute() {
1377
- return Joi.object({
1378
- title: Joi.string().allow(""),
1379
- details: Joi.array().items(
1380
- CatalogApplicationModel.ProductDetailAttribute()
1381
- ),
1382
- });
1383
- }
1384
-
1385
- /** @returns {ApplicationItemMOQ} */
1386
- static ApplicationItemMOQ() {
1387
- return Joi.object({
1388
- minimum: Joi.number(),
1389
- maximum: Joi.number(),
1390
- increment_unit: Joi.number(),
1391
- });
1392
- }
1393
-
1394
- /** @returns {Price} */
1395
- static Price() {
1396
- return Joi.object({
1397
- min: Joi.number(),
1398
- currency_symbol: Joi.string().allow(""),
1399
- currency_code: Joi.string().allow(""),
1400
- max: Joi.number(),
1401
- });
1402
- }
1403
-
1404
- /** @returns {ProductListingPrice} */
1405
- static ProductListingPrice() {
1406
- return Joi.object({
1407
- effective: CatalogApplicationModel.Price(),
1408
- marked: CatalogApplicationModel.Price(),
1409
- });
1410
- }
1411
-
1412
- /** @returns {ProductSizesPrice} */
1413
- static ProductSizesPrice() {
1414
- return Joi.object({
1415
- effective: CatalogApplicationModel.Price(),
1416
- marked: CatalogApplicationModel.Price(),
1417
- selling: CatalogApplicationModel.Price(),
1418
- });
1419
- }
1420
-
1421
- /** @returns {ProductDetail} */
1422
- static ProductDetail() {
1423
- return Joi.object({
1424
- uid: Joi.number(),
1425
- custom_order: CatalogApplicationModel.ProductDetailCustomOrder(),
1426
- category_map: CatalogApplicationModel.ProductCategoryMap(),
1427
- net_quantity: CatalogApplicationModel.NetQuantity(),
1428
- rating_count: Joi.number(),
1429
- _custom_meta: Joi.array().items(
1430
- CatalogApplicationModel.CustomMetaFields()
1431
- ),
1432
- similars: Joi.array().items(Joi.string().allow("")),
1433
- tags: Joi.array().items(Joi.string().allow("")),
1434
- seo: CatalogApplicationModel.ApplicationItemSEO(),
1435
- image_nature: Joi.string().allow(""),
1436
- has_variant: Joi.boolean(),
1437
- item_type: Joi.string().allow(""),
1438
- description: Joi.string().allow(""),
1439
- grouped_attributes: Joi.array().items(
1440
- CatalogApplicationModel.ProductDetailGroupedAttribute()
1441
- ),
1442
- medias: Joi.array().items(CatalogApplicationModel.Media()),
1443
- color: Joi.string().allow(""),
1444
- type: Joi.string().allow(""),
1445
- product_online_date: Joi.string().allow(""),
1446
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
1447
- item_code: Joi.string().allow(""),
1448
- name: Joi.string().allow(""),
1449
- moq: CatalogApplicationModel.ApplicationItemMOQ(),
1450
- short_description: Joi.string().allow(""),
1451
- categories: Joi.array().items(CatalogApplicationModel.ProductBrand()),
1452
- attributes: Joi.object().pattern(/\S/, Joi.any()),
1453
- discount: Joi.string().allow(""),
1454
- tryouts: Joi.array().items(Joi.string().allow("")),
1455
- slug: Joi.string().allow("").required(),
1456
- action: CatalogApplicationModel.ProductListingAction(),
1457
- rating: Joi.number(),
1458
- is_dependent: Joi.boolean(),
1459
- product_group_tag: Joi.array().items(Joi.string().allow("")),
1460
- highlights: Joi.array().items(Joi.string().allow("")),
1461
- price: CatalogApplicationModel.ProductListingPrice(),
1462
- brand: CatalogApplicationModel.ProductBrand(),
1463
- department: CatalogApplicationModel.ProductDepartment(),
1464
- teaser_tag: Joi.string().allow(""),
1465
- });
1466
- }
1467
-
1468
- /** @returns {ErrorResponseSchema} */
1469
- static ErrorResponseSchema() {
1470
- return Joi.object({
1471
- error: Joi.string().allow(""),
1472
- });
1473
- }
1474
-
1475
- /** @returns {Dimension} */
1476
- static Dimension() {
1477
- return Joi.object({
1478
- unit: Joi.string().allow("").required(),
1479
- height: Joi.number().required(),
1480
- length: Joi.number().required(),
1481
- width: Joi.number().required(),
1482
- is_default: Joi.boolean().required(),
1483
- });
1484
- }
1485
-
1486
- /** @returns {Weight} */
1487
- static Weight() {
1488
- return Joi.object({
1489
- unit: Joi.string().allow("").required(),
1490
- shipping: Joi.number().required(),
1491
- is_default: Joi.boolean().required(),
1492
- });
1493
- }
1494
-
1495
- /** @returns {DiscountMeta} */
1496
- static DiscountMeta() {
1497
- return Joi.object({
1498
- timer: Joi.boolean(),
1499
- start_timer_in_minutes: Joi.number(),
1500
- start: Joi.string().allow(""),
1501
- end: Joi.string().allow(""),
1502
- });
1503
- }
1504
-
1505
- /** @returns {ProductSize} */
1506
- static ProductSize() {
1507
- return Joi.object({
1508
- quantity: Joi.number(),
1509
- dimension: CatalogApplicationModel.Dimension(),
1510
- weight: CatalogApplicationModel.Weight(),
1511
- is_available: Joi.boolean(),
1512
- seller_identifiers: Joi.array().items(Joi.string().allow("")),
1513
- value: Joi.string().allow(""),
1514
- display: Joi.string().allow(""),
1515
- });
1516
- }
1517
-
1518
- /** @returns {SizeChartValues} */
1519
- static SizeChartValues() {
1520
- return Joi.object({
1521
- col_3: Joi.string().allow(""),
1522
- col_6: Joi.string().allow(""),
1523
- col_2: Joi.string().allow(""),
1524
- col_4: Joi.string().allow(""),
1525
- col_1: Joi.string().allow(""),
1526
- col_5: Joi.string().allow(""),
1527
- });
1528
- }
1529
-
1530
- /** @returns {ColumnHeader} */
1531
- static ColumnHeader() {
1532
- return Joi.object({
1533
- convertable: Joi.boolean(),
1534
- value: Joi.string().allow(""),
1535
- });
1536
- }
1537
-
1538
- /** @returns {ColumnHeaders} */
1539
- static ColumnHeaders() {
1540
- return Joi.object({
1541
- col_3: CatalogApplicationModel.ColumnHeader(),
1542
- col_6: CatalogApplicationModel.ColumnHeader(),
1543
- col_2: CatalogApplicationModel.ColumnHeader(),
1544
- col_4: CatalogApplicationModel.ColumnHeader(),
1545
- col_1: CatalogApplicationModel.ColumnHeader(),
1546
- col_5: CatalogApplicationModel.ColumnHeader(),
1547
- });
1548
- }
1549
-
1550
- /** @returns {SizeChart} */
1551
- static SizeChart() {
1552
- return Joi.object({
1553
- unit: Joi.string().allow(""),
1554
- image: Joi.string().allow(""),
1555
- size_tip: Joi.string().allow(""),
1556
- sizes: Joi.array().items(CatalogApplicationModel.SizeChartValues()),
1557
- description: Joi.string().allow(""),
1558
- title: Joi.string().allow(""),
1559
- headers: CatalogApplicationModel.ColumnHeaders(),
1560
- });
1561
- }
1562
-
1563
- /** @returns {ProductSizeStores} */
1564
- static ProductSizeStores() {
1565
- return Joi.object({
1566
- count: Joi.number(),
1567
- });
1568
- }
1569
-
1570
- /** @returns {ProductSizes} */
1571
- static ProductSizes() {
1572
- return Joi.object({
1573
- sizes: Joi.array().items(CatalogApplicationModel.ProductSize()),
1574
- price: CatalogApplicationModel.ProductSizesPrice(),
1575
- price_per_piece: CatalogApplicationModel.ProductSizesPrice(),
1576
- size_chart: CatalogApplicationModel.SizeChart(),
1577
- sellable: Joi.boolean(),
1578
- multi_size: Joi.boolean(),
1579
- discount: Joi.string().allow(""),
1580
- stores: CatalogApplicationModel.ProductSizeStores(),
1581
- discount_meta: CatalogApplicationModel.DiscountMeta(),
1582
- });
1583
- }
1584
-
1585
- /** @returns {AttributeDetail} */
1586
- static AttributeDetail() {
1587
- return Joi.object({
1588
- logo: Joi.string().allow(""),
1589
- description: Joi.string().allow(""),
1590
- display: Joi.string().allow(""),
1591
- key: Joi.string().allow(""),
1592
- });
1593
- }
1594
-
1595
- /** @returns {AttributeMetadata} */
1596
- static AttributeMetadata() {
1597
- return Joi.object({
1598
- title: Joi.string().allow(""),
1599
- details: Joi.array().items(CatalogApplicationModel.AttributeDetail()),
1600
- });
1601
- }
1602
-
1603
- /** @returns {ProductsComparisonResponseSchema} */
1604
- static ProductsComparisonResponseSchema() {
1605
- return Joi.object({
1606
- items: Joi.array().items(CatalogApplicationModel.ProductDetail()),
1607
- attributes_metadata: Joi.array().items(
1608
- CatalogApplicationModel.AttributeMetadata()
1609
- ),
1610
- });
1611
- }
1612
-
1613
- /** @returns {ProductCompareResponseSchema} */
1614
- static ProductCompareResponseSchema() {
1615
- return Joi.object({
1616
- title: Joi.string().allow(""),
1617
- items: Joi.array().items(CatalogApplicationModel.ProductDetail()),
1618
- attributes_metadata: Joi.array().items(
1619
- CatalogApplicationModel.AttributeMetadata()
1620
- ),
1621
- subtitle: Joi.string().allow(""),
1622
- });
1623
- }
1624
-
1625
- /** @returns {ProductFrequentlyComparedSimilarResponseSchema} */
1626
- static ProductFrequentlyComparedSimilarResponseSchema() {
1627
- return Joi.object({
1628
- similars: CatalogApplicationModel.ProductCompareResponseSchema(),
1629
- });
1630
- }
1631
-
1632
- /** @returns {ProductVariantItemResponseSchema} */
1633
- static ProductVariantItemResponseSchema() {
1634
- return Joi.object({
1635
- uid: Joi.number(),
1636
- color_name: Joi.string().allow(""),
1637
- color: Joi.string().allow(""),
1638
- medias: Joi.array().items(CatalogApplicationModel.Media()),
1639
- is_available: Joi.boolean(),
1640
- _custom_meta: Joi.array().items(
1641
- CatalogApplicationModel.CustomMetaFields()
1642
- ),
1643
- name: Joi.string().allow(""),
1644
- value: Joi.string().allow(""),
1645
- slug: Joi.string().allow(""),
1646
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
1647
- action: CatalogApplicationModel.ProductListingAction(),
1648
- });
1649
- }
1650
-
1651
- /** @returns {ProductVariantResponseSchema} */
1652
- static ProductVariantResponseSchema() {
1653
- return Joi.object({
1654
- display_type: Joi.string().allow(""),
1655
- header: Joi.string().allow(""),
1656
- group_id: Joi.string().allow(""),
1657
- items: Joi.array().items(
1658
- CatalogApplicationModel.ProductVariantItemResponseSchema()
1659
- ),
1660
- key: Joi.string().allow(""),
1661
- logo: Joi.string().allow(""),
1662
- });
1663
- }
1664
-
1665
- /** @returns {ProductVariantsResponseSchema} */
1666
- static ProductVariantsResponseSchema() {
1667
- return Joi.object({
1668
- variants: Joi.array().items(
1669
- CatalogApplicationModel.ProductVariantResponseSchema()
1670
- ),
1671
- });
1672
- }
1673
-
1674
- /** @returns {StoreDetail} */
1675
- static StoreDetail() {
1676
- return Joi.object({
1677
- name: Joi.string().allow(""),
1678
- city: Joi.string().allow(""),
1679
- id: Joi.number(),
1680
- code: Joi.string().allow(""),
1681
- });
1682
- }
1683
-
1684
- /** @returns {ProductStockPrice} */
1685
- static ProductStockPrice() {
1686
- return Joi.object({
1687
- effective: Joi.number(),
1688
- currency: Joi.string().allow(""),
1689
- marked: Joi.number(),
1690
- });
1691
- }
1692
-
1693
- /** @returns {CompanyDetail} */
1694
- static CompanyDetail() {
1695
- return Joi.object({
1696
- name: Joi.string().allow(""),
1697
- id: Joi.number(),
1698
- });
1699
- }
1700
-
1701
- /** @returns {Seller} */
1702
- static Seller() {
1703
- return Joi.object({
1704
- uid: Joi.number(),
1705
- name: Joi.string().allow(""),
1706
- count: Joi.number(),
1707
- });
1708
- }
1709
-
1710
- /** @returns {ProductStockStatusItem} */
1711
- static ProductStockStatusItem() {
1712
- return Joi.object({
1713
- uid: Joi.string().allow(""),
1714
- quantity: Joi.number(),
1715
- store: CatalogApplicationModel.StoreDetail(),
1716
- size: Joi.string().allow(""),
1717
- price: CatalogApplicationModel.ProductStockPrice(),
1718
- company: CatalogApplicationModel.CompanyDetail(),
1719
- item_id: Joi.number(),
1720
- seller: CatalogApplicationModel.Seller(),
1721
- identifier: CatalogApplicationModel.Identifier(),
1722
- });
1723
- }
1724
-
1725
- /** @returns {ProductStockStatusResponseSchema} */
1726
- static ProductStockStatusResponseSchema() {
1727
- return Joi.object({
1728
- items: Joi.array().items(
1729
- CatalogApplicationModel.ProductStockStatusItem()
1730
- ),
1731
- });
1732
- }
1733
-
1734
- /** @returns {Page} */
1735
- static Page() {
1736
- return Joi.object({
1737
- item_total: Joi.number(),
1738
- next_id: Joi.string().allow(""),
1739
- has_previous: Joi.boolean(),
1740
- has_next: Joi.boolean(),
1741
- current: Joi.number(),
1742
- type: Joi.string().allow("").required(),
1743
- size: Joi.number(),
1744
- });
1745
- }
1746
-
1747
- /** @returns {ProductStockPolling} */
1748
- static ProductStockPolling() {
1749
- return Joi.object({
1750
- items: Joi.array().items(
1751
- CatalogApplicationModel.ProductStockStatusItem()
1752
- ),
1753
- page: CatalogApplicationModel.Page().required(),
1754
- });
1755
- }
1756
-
1757
- /** @returns {ProductVariantListingResponseSchema} */
1758
- static ProductVariantListingResponseSchema() {
1759
- return Joi.object({
1760
- header: Joi.string().allow(""),
1761
- items: Joi.array().items(
1762
- CatalogApplicationModel.ProductVariantItemResponseSchema()
1763
- ),
1764
- total: Joi.number(),
1765
- key: Joi.string().allow(""),
1766
- display_type: Joi.string().allow(""),
1767
- });
1768
- }
1769
-
1770
- /** @returns {ProductListingDetail} */
1771
- static ProductListingDetail() {
1772
- return Joi.object({
1773
- uid: Joi.number(),
1774
- custom_order: CatalogApplicationModel.ProductDetailCustomOrder(),
1775
- sizes: Joi.array().items(Joi.string().allow("")),
1776
- category_map: CatalogApplicationModel.ProductCategoryMap(),
1777
- net_quantity: CatalogApplicationModel.NetQuantity(),
1778
- rating_count: Joi.number(),
1779
- _custom_meta: Joi.array().items(
1780
- CatalogApplicationModel.CustomMetaFields()
1781
- ),
1782
- similars: Joi.array().items(Joi.string().allow("")),
1783
- tags: Joi.array().items(Joi.string().allow("")),
1784
- seo: CatalogApplicationModel.ApplicationItemSEO(),
1785
- image_nature: Joi.string().allow(""),
1786
- has_variant: Joi.boolean(),
1787
- item_type: Joi.string().allow(""),
1788
- description: Joi.string().allow(""),
1789
- grouped_attributes: Joi.array().items(
1790
- CatalogApplicationModel.ProductDetailGroupedAttribute()
1791
- ),
1792
- medias: Joi.array().items(CatalogApplicationModel.Media()),
1793
- color: Joi.string().allow(""),
1794
- type: Joi.string().allow(""),
1795
- product_online_date: Joi.string().allow(""),
1796
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
1797
- item_code: Joi.string().allow(""),
1798
- name: Joi.string().allow(""),
1799
- moq: CatalogApplicationModel.ApplicationItemMOQ(),
1800
- short_description: Joi.string().allow(""),
1801
- categories: Joi.array().items(CatalogApplicationModel.ProductBrand()),
1802
- sellable: Joi.boolean(),
1803
- attributes: Joi.object().pattern(/\S/, Joi.any()),
1804
- variants: Joi.array().items(
1805
- CatalogApplicationModel.ProductVariantListingResponseSchema()
1806
- ),
1807
- discount: Joi.string().allow(""),
1808
- tryouts: Joi.array().items(Joi.string().allow("")),
1809
- identifiers: Joi.array().items(Joi.string().allow("")),
1810
- slug: Joi.string().allow("").required(),
1811
- action: CatalogApplicationModel.ProductListingAction(),
1812
- rating: Joi.number(),
1813
- is_dependent: Joi.boolean(),
1814
- product_group_tag: Joi.array().items(Joi.string().allow("")),
1815
- highlights: Joi.array().items(Joi.string().allow("")),
1816
- price: CatalogApplicationModel.ProductListingPrice(),
1817
- brand: CatalogApplicationModel.ProductBrand(),
1818
- teaser_tag: Joi.string().allow(""),
1819
- });
1820
- }
1821
-
1822
- /** @returns {ProductFiltersValue} */
1823
- static ProductFiltersValue() {
1824
- return Joi.object({
1825
- min: Joi.number(),
1826
- display_format: Joi.string().allow(""),
1827
- selected_max: Joi.number(),
1828
- value: Joi.string().allow(""),
1829
- query_format: Joi.string().allow(""),
1830
- currency_symbol: Joi.string().allow(""),
1831
- selected_min: Joi.number(),
1832
- currency_code: Joi.string().allow(""),
1833
- is_selected: Joi.boolean().required(),
1834
- display: Joi.string().allow("").required(),
1835
- count: Joi.number(),
1836
- max: Joi.number(),
1837
- });
1838
- }
1839
-
1840
- /** @returns {ProductFiltersKey} */
1841
- static ProductFiltersKey() {
1842
- return Joi.object({
1843
- logo: Joi.string().allow(""),
1844
- name: Joi.string().allow("").required(),
1845
- kind: Joi.string().allow(""),
1846
- display: Joi.string().allow("").required(),
1847
- });
1848
- }
1849
-
1850
- /** @returns {ProductFilters} */
1851
- static ProductFilters() {
1852
- return Joi.object({
1853
- values: Joi.array()
1854
- .items(CatalogApplicationModel.ProductFiltersValue())
1855
- .required(),
1856
- key: CatalogApplicationModel.ProductFiltersKey().required(),
1857
- });
1858
- }
1859
-
1860
- /** @returns {ProductSortOn} */
1861
- static ProductSortOn() {
1862
- return Joi.object({
1863
- logo: Joi.string().allow(""),
1864
- is_selected: Joi.boolean(),
1865
- name: Joi.string().allow(""),
1866
- value: Joi.string().allow(""),
1867
- display: Joi.string().allow(""),
1868
- });
1869
- }
1870
-
1871
- /** @returns {ProductListingResponseSchema} */
1872
- static ProductListingResponseSchema() {
1873
- return Joi.object({
1874
- items: Joi.array().items(CatalogApplicationModel.ProductListingDetail()),
1875
- filters: Joi.array().items(CatalogApplicationModel.ProductFilters()),
1876
- page: CatalogApplicationModel.Page().required(),
1877
- sort_on: Joi.array().items(CatalogApplicationModel.ProductSortOn()),
1878
- });
1879
- }
1880
-
1881
- /** @returns {ImageUrls} */
1882
- static ImageUrls() {
1883
- return Joi.object({
1884
- portrait: CatalogApplicationModel.Media(),
1885
- landscape: CatalogApplicationModel.Media(),
1886
- });
1887
- }
1888
-
1889
- /** @returns {BrandItem} */
1890
- static BrandItem() {
1891
- return Joi.object({
1892
- uid: Joi.number(),
1893
- logo: CatalogApplicationModel.Media(),
1894
- description: Joi.string().allow(""),
1895
- banners: CatalogApplicationModel.ImageUrls(),
1896
- departments: Joi.array().items(Joi.string().allow("")),
1897
- discount: Joi.string().allow(""),
1898
- name: Joi.string().allow(""),
1899
- slug: Joi.string().allow(""),
1900
- action: CatalogApplicationModel.ProductListingAction(),
1901
- });
1902
- }
1903
-
1904
- /** @returns {BrandListingResponseSchema} */
1905
- static BrandListingResponseSchema() {
1906
- return Joi.object({
1907
- items: Joi.array().items(CatalogApplicationModel.BrandItem()),
1908
- page: CatalogApplicationModel.Page().required(),
1909
- });
1910
- }
1911
-
1912
- /** @returns {BrandDetailResponseSchema} */
1913
- static BrandDetailResponseSchema() {
1914
- return Joi.object({
1915
- logo: CatalogApplicationModel.Media(),
1916
- uid: Joi.number(),
1917
- description: Joi.string().allow(""),
1918
- banners: CatalogApplicationModel.ImageUrls(),
1919
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
1920
- name: Joi.string().allow(""),
1921
- });
1922
- }
1923
-
1924
- /** @returns {CategoryBanner} */
1925
- static CategoryBanner() {
1926
- return Joi.object({
1927
- portrait: CatalogApplicationModel.Media().required(),
1928
- landscape: CatalogApplicationModel.Media().required(),
1929
- });
1930
- }
1931
-
1932
- /** @returns {ThirdLevelChild} */
1933
- static ThirdLevelChild() {
1934
- return Joi.object({
1935
- uid: Joi.number(),
1936
- banners: CatalogApplicationModel.ImageUrls(),
1937
- childs: Joi.array().items(Joi.object().pattern(/\S/, Joi.any())),
1938
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
1939
- name: Joi.string().allow(""),
1940
- slug: Joi.string().allow(""),
1941
- action: CatalogApplicationModel.ProductListingAction(),
1942
- });
1943
- }
1944
-
1945
- /** @returns {SecondLevelChild} */
1946
- static SecondLevelChild() {
1947
- return Joi.object({
1948
- uid: Joi.number(),
1949
- banners: CatalogApplicationModel.ImageUrls(),
1950
- childs: Joi.array().items(CatalogApplicationModel.ThirdLevelChild()),
1951
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
1952
- name: Joi.string().allow(""),
1953
- slug: Joi.string().allow(""),
1954
- action: CatalogApplicationModel.ProductListingAction(),
1955
- });
1956
- }
1957
-
1958
- /** @returns {Child} */
1959
- static Child() {
1960
- return Joi.object({
1961
- uid: Joi.number(),
1962
- banners: CatalogApplicationModel.ImageUrls(),
1963
- childs: Joi.array().items(CatalogApplicationModel.SecondLevelChild()),
1964
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
1965
- name: Joi.string().allow(""),
1966
- slug: Joi.string().allow(""),
1967
- action: CatalogApplicationModel.ProductListingAction(),
1968
- });
1969
- }
1970
-
1971
- /** @returns {CategoryItems} */
1972
- static CategoryItems() {
1973
- return Joi.object({
1974
- uid: Joi.number().required(),
1975
- banners: CatalogApplicationModel.CategoryBanner().required(),
1976
- childs: Joi.array().items(CatalogApplicationModel.Child()),
1977
- name: Joi.string().allow("").required(),
1978
- slug: Joi.string().allow("").required(),
1979
- action: CatalogApplicationModel.ProductListingAction().required(),
1980
- });
1981
- }
1982
-
1983
- /** @returns {DepartmentCategoryTree} */
1984
- static DepartmentCategoryTree() {
1985
- return Joi.object({
1986
- items: Joi.array().items(CatalogApplicationModel.CategoryItems()),
1987
- department: Joi.string().allow("").required(),
1988
- });
1989
- }
1990
-
1991
- /** @returns {DepartmentIdentifier} */
1992
- static DepartmentIdentifier() {
1993
- return Joi.object({
1994
- uid: Joi.number(),
1995
- slug: Joi.string().allow(""),
1996
- });
1997
- }
1998
-
1999
- /** @returns {CategoryListingResponseSchema} */
2000
- static CategoryListingResponseSchema() {
2001
- return Joi.object({
2002
- data: Joi.array().items(CatalogApplicationModel.DepartmentCategoryTree()),
2003
- departments: Joi.array().items(
2004
- CatalogApplicationModel.DepartmentIdentifier()
2005
- ),
2006
- });
2007
- }
2008
-
2009
- /** @returns {CategoryMetaResponseSchema} */
2010
- static CategoryMetaResponseSchema() {
2011
- return Joi.object({
2012
- logo: CatalogApplicationModel.Media(),
2013
- uid: Joi.number(),
2014
- banners: CatalogApplicationModel.ImageUrls(),
2015
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
2016
- name: Joi.string().allow(""),
2017
- });
2018
- }
2019
-
2020
- /** @returns {HomeListingResponseSchema} */
2021
- static HomeListingResponseSchema() {
2022
- return Joi.object({
2023
- items: Joi.array().items(CatalogApplicationModel.ProductListingDetail()),
2024
- page: CatalogApplicationModel.Page().required(),
2025
- message: Joi.string().allow(""),
2026
- });
2027
- }
2028
-
2029
- /** @returns {Department} */
2030
- static Department() {
2031
- return Joi.object({
2032
- uid: Joi.number(),
2033
- logo: CatalogApplicationModel.Media(),
2034
- priority_order: Joi.number(),
2035
- name: Joi.string().allow(""),
2036
- slug: Joi.string().allow(""),
2037
- });
2038
- }
2039
-
2040
- /** @returns {DepartmentResponseSchema} */
2041
- static DepartmentResponseSchema() {
2042
- return Joi.object({
2043
- items: Joi.array().items(CatalogApplicationModel.Department()),
2044
- });
2045
- }
2046
-
2047
- /** @returns {AutocompleteItem} */
2048
- static AutocompleteItem() {
2049
- return Joi.object({
2050
- logo: CatalogApplicationModel.Media(),
2051
- display: Joi.string().allow(""),
2052
- type: Joi.string().allow(""),
2053
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
2054
- action: CatalogApplicationModel.ProductListingAction(),
2055
- });
2056
- }
2057
-
2058
- /** @returns {AutoCompleteResponseSchema} */
2059
- static AutoCompleteResponseSchema() {
2060
- return Joi.object({
2061
- items: Joi.array().items(CatalogApplicationModel.AutocompleteItem()),
2062
- });
2063
- }
2064
-
2065
- /** @returns {CollectionQuery} */
2066
- static CollectionQuery() {
2067
- return Joi.object({
2068
- op: Joi.string().allow("").required(),
2069
- value: Joi.array().items(Joi.any()).required(),
2070
- attribute: Joi.string().allow("").required(),
2071
- });
2072
- }
2073
-
2074
- /** @returns {GetCollectionDetailNest} */
2075
- static GetCollectionDetailNest() {
2076
- return Joi.object({
2077
- is_active: Joi.boolean(),
2078
- uid: Joi.string().allow(""),
2079
- sort_on: Joi.string().allow(""),
2080
- meta: Joi.object().pattern(/\S/, Joi.any()),
2081
- banners: CatalogApplicationModel.ImageUrls(),
2082
- cron: Joi.object().pattern(/\S/, Joi.any()),
2083
- _schedule: Joi.object().pattern(/\S/, Joi.any()),
2084
- query: Joi.array().items(CatalogApplicationModel.CollectionQuery()),
2085
- description: Joi.string().allow(""),
2086
- type: Joi.string().allow(""),
2087
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
2088
- name: Joi.string().allow(""),
2089
- allow_sort: Joi.boolean(),
2090
- visible_facets_keys: Joi.array().items(Joi.string().allow("")),
2091
- badge: Joi.object().pattern(/\S/, Joi.any()),
2092
- slug: Joi.string().allow(""),
2093
- action: CatalogApplicationModel.ProductListingAction(),
2094
- allow_facets: Joi.boolean(),
2095
- logo: CatalogApplicationModel.Media(),
2096
- priority: Joi.number(),
2097
- tags: Joi.array().items(Joi.string().allow("")),
2098
- app_id: Joi.string().allow(""),
2099
- });
2100
- }
2101
-
2102
- /** @returns {CollectionListingFilterTag} */
2103
- static CollectionListingFilterTag() {
2104
- return Joi.object({
2105
- name: Joi.string().allow(""),
2106
- is_selected: Joi.boolean(),
2107
- display: Joi.string().allow(""),
2108
- });
2109
- }
2110
-
2111
- /** @returns {CollectionListingFilterType} */
2112
- static CollectionListingFilterType() {
2113
- return Joi.object({
2114
- name: Joi.string().allow(""),
2115
- is_selected: Joi.boolean(),
2116
- display: Joi.string().allow(""),
2117
- });
2118
- }
2119
-
2120
- /** @returns {CollectionListingFilter} */
2121
- static CollectionListingFilter() {
2122
- return Joi.object({
2123
- tags: Joi.array().items(
2124
- CatalogApplicationModel.CollectionListingFilterTag()
2125
- ),
2126
- type: Joi.array().items(
2127
- CatalogApplicationModel.CollectionListingFilterType()
2128
- ),
2129
- });
2130
- }
2131
-
2132
- /** @returns {GetCollectionListingResponseSchema} */
2133
- static GetCollectionListingResponseSchema() {
2134
- return Joi.object({
2135
- items: Joi.array().items(
2136
- CatalogApplicationModel.GetCollectionDetailNest()
2137
- ),
2138
- filters: CatalogApplicationModel.CollectionListingFilter(),
2139
- page: CatalogApplicationModel.Page().required(),
2140
- });
2141
- }
2142
-
2143
- /** @returns {CollectionDetailResponseSchema} */
2144
- static CollectionDetailResponseSchema() {
2145
- return Joi.object({
2146
- is_active: Joi.boolean(),
2147
- sort_on: Joi.string().allow(""),
2148
- meta: Joi.object().pattern(/\S/, Joi.any()),
2149
- banners: CatalogApplicationModel.ImageUrls(),
2150
- cron: Joi.object().pattern(/\S/, Joi.any()),
2151
- _schedule: Joi.object().pattern(/\S/, Joi.any()),
2152
- query: Joi.array().items(CatalogApplicationModel.CollectionQuery()),
2153
- description: Joi.string().allow(""),
2154
- type: Joi.string().allow(""),
2155
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
2156
- name: Joi.string().allow(""),
2157
- allow_sort: Joi.boolean(),
2158
- visible_facets_keys: Joi.array().items(Joi.string().allow("")),
2159
- badge: Joi.object().pattern(/\S/, Joi.any()),
2160
- slug: Joi.string().allow(""),
2161
- allow_facets: Joi.boolean(),
2162
- logo: CatalogApplicationModel.Media(),
2163
- priority: Joi.number(),
2164
- tag: Joi.array().items(Joi.string().allow("")),
2165
- app_id: Joi.string().allow(""),
2166
- });
2167
- }
2168
-
2169
- /** @returns {GetFollowListingResponseSchema} */
2170
- static GetFollowListingResponseSchema() {
2171
- return Joi.object({
2172
- items: Joi.array()
2173
- .items(CatalogApplicationModel.ProductListingDetail())
2174
- .required(),
2175
- page: CatalogApplicationModel.Page().required(),
2176
- });
2177
- }
2178
-
2179
- /** @returns {FollowPostResponseSchema} */
2180
- static FollowPostResponseSchema() {
2181
- return Joi.object({
2182
- message: Joi.string().allow("").required(),
2183
- id: Joi.string().allow("").required(),
2184
- });
2185
- }
2186
-
2187
- /** @returns {FollowerCountResponseSchema} */
2188
- static FollowerCountResponseSchema() {
2189
- return Joi.object({
2190
- count: Joi.number(),
2191
- });
2192
- }
2193
-
2194
- /** @returns {FollowIdsData} */
2195
- static FollowIdsData() {
2196
- return Joi.object({
2197
- products: Joi.array().items(Joi.number()),
2198
- collections: Joi.array().items(Joi.number()),
2199
- brands: Joi.array().items(Joi.number()),
2200
- });
2201
- }
2202
-
2203
- /** @returns {FollowIdsResponseSchema} */
2204
- static FollowIdsResponseSchema() {
2205
- return Joi.object({
2206
- data: CatalogApplicationModel.FollowIdsData(),
2207
- });
2208
- }
2209
-
2210
- /** @returns {LatLong} */
2211
- static LatLong() {
2212
- return Joi.object({
2213
- coordinates: Joi.array().items(Joi.number()),
2214
- type: Joi.string().allow(""),
2215
- });
2216
- }
2217
-
2218
- /** @returns {StoreContact} */
2219
- static StoreContact() {
2220
- return Joi.object({
2221
- number: Joi.string().allow(""),
2222
- country_code: Joi.number(),
2223
- });
2224
- }
2225
-
2226
- /** @returns {Store} */
2227
- static Store() {
2228
- return Joi.object({
2229
- uid: Joi.number(),
2230
- store_email: Joi.string().allow(""),
2231
- state: Joi.string().allow(""),
2232
- country: Joi.string().allow(""),
2233
- pincode: Joi.number(),
2234
- city: Joi.string().allow(""),
2235
- address: Joi.string().allow(""),
2236
- store_code: Joi.string().allow(""),
2237
- lat_long: CatalogApplicationModel.LatLong(),
2238
- name: Joi.string().allow(""),
2239
- tags: Joi.array().items(Joi.string().allow("")),
2240
- contacts: Joi.array().items(CatalogApplicationModel.StoreContact()),
2241
- });
2242
- }
2243
-
2244
- /** @returns {StoreListingResponseSchema} */
2245
- static StoreListingResponseSchema() {
2246
- return Joi.object({
2247
- items: Joi.array().items(CatalogApplicationModel.Store()).required(),
2248
- page: CatalogApplicationModel.Page().required(),
2249
- });
2250
- }
2251
-
2252
- /** @returns {StoreDepartments} */
2253
- static StoreDepartments() {
2254
- return Joi.object({
2255
- uid: Joi.number(),
2256
- logo: Joi.object().pattern(/\S/, Joi.any()),
2257
- priority_order: Joi.number(),
2258
- name: Joi.string().allow(""),
2259
- slug: Joi.string().allow(""),
2260
- });
2261
- }
2262
-
2263
- /** @returns {CompanyStore} */
2264
- static CompanyStore() {
2265
- return Joi.object({
2266
- uid: Joi.number(),
2267
- name: Joi.string().allow(""),
2268
- company_type: Joi.string().allow(""),
2269
- business_type: Joi.string().allow(""),
2270
- });
2271
- }
2272
-
2273
- /** @returns {SellerPhoneNumber} */
2274
- static SellerPhoneNumber() {
2275
- return Joi.object({
2276
- country_code: Joi.number().required(),
2277
- number: Joi.string().allow("").required(),
2278
- });
2279
- }
2280
-
2281
- /** @returns {StoreManagerSchema} */
2282
- static StoreManagerSchema() {
2283
- return Joi.object({
2284
- name: Joi.string().allow(""),
2285
- email: Joi.string().allow(""),
2286
- mobile_no: CatalogApplicationModel.SellerPhoneNumber(),
2287
- });
2288
- }
2289
-
2290
- /** @returns {StoreAddressSchema} */
2291
- static StoreAddressSchema() {
2292
- return Joi.object({
2293
- latitude: Joi.number(),
2294
- state: Joi.string().allow(""),
2295
- country: Joi.string().allow(""),
2296
- landmark: Joi.string().allow(""),
2297
- address1: Joi.string().allow(""),
2298
- pincode: Joi.number(),
2299
- city: Joi.string().allow(""),
2300
- longitude: Joi.number(),
2301
- address2: Joi.string().allow(""),
2302
- });
2303
- }
2304
-
2305
- /** @returns {AppStore} */
2306
- static AppStore() {
2307
- return Joi.object({
2308
- uid: Joi.number(),
2309
- departments: Joi.array().items(
2310
- CatalogApplicationModel.StoreDepartments()
2311
- ),
2312
- company: CatalogApplicationModel.CompanyStore(),
2313
- manager: CatalogApplicationModel.StoreManagerSchema(),
2314
- store_code: Joi.string().allow(""),
2315
- address: CatalogApplicationModel.StoreAddressSchema(),
2316
- name: Joi.string().allow(""),
2317
- contact_numbers: Joi.array().items(
2318
- CatalogApplicationModel.SellerPhoneNumber()
2319
- ),
2320
- });
2321
- }
2322
-
2323
- /** @returns {ApplicationStoreListing} */
2324
- static ApplicationStoreListing() {
2325
- return Joi.object({
2326
- filters: Joi.array().items(Joi.object().pattern(/\S/, Joi.any())),
2327
- items: Joi.array().items(CatalogApplicationModel.AppStore()),
2328
- page: CatalogApplicationModel.Page(),
2329
- });
2330
- }
2331
-
2332
- /** @returns {Time} */
2333
- static Time() {
2334
- return Joi.object({
2335
- hour: Joi.number(),
2336
- minute: Joi.number(),
2337
- });
2338
- }
2339
-
2340
- /** @returns {StoreTiming} */
2341
- static StoreTiming() {
2342
- return Joi.object({
2343
- open: Joi.boolean(),
2344
- closing: CatalogApplicationModel.Time(),
2345
- weekday: Joi.string().allow(""),
2346
- opening: CatalogApplicationModel.Time(),
2347
- });
2348
- }
2349
-
2350
- /** @returns {StoreDetails} */
2351
- static StoreDetails() {
2352
- return Joi.object({
2353
- uid: Joi.number(),
2354
- departments: Joi.array().items(
2355
- CatalogApplicationModel.StoreDepartments()
2356
- ),
2357
- company: CatalogApplicationModel.CompanyStore(),
2358
- manager: CatalogApplicationModel.StoreManagerSchema(),
2359
- store_code: Joi.string().allow(""),
2360
- timing: Joi.array().items(CatalogApplicationModel.StoreTiming()),
2361
- address: CatalogApplicationModel.StoreAddressSchema(),
2362
- _custom_json: Joi.object().pattern(/\S/, Joi.any()),
2363
- name: Joi.string().allow(""),
2364
- contact_numbers: Joi.array().items(
2365
- CatalogApplicationModel.SellerPhoneNumber()
2366
- ),
2367
- });
2368
- }
2369
-
2370
- /** @returns {UserDetail} */
2371
- static UserDetail() {
2372
- return Joi.object({
2373
- super_user: Joi.boolean(),
2374
- contact: Joi.string().allow(""),
2375
- username: Joi.string().allow("").required(),
2376
- user_id: Joi.string().allow("").required(),
2377
- });
2378
- }
2379
-
2380
- /** @returns {Size} */
2381
- static Size() {
2382
- return Joi.object({
2383
- quantity: Joi.number(),
2384
- value: Joi.any(),
2385
- display: Joi.any(),
2386
- is_available: Joi.boolean(),
2387
- });
2388
- }
2389
-
2390
- /** @returns {ProductGroupPrice} */
2391
- static ProductGroupPrice() {
2392
- return Joi.object({
2393
- max_effective: Joi.number(),
2394
- min_effective: Joi.number(),
2395
- min_marked: Joi.number(),
2396
- currency: Joi.any(),
2397
- max_marked: Joi.number(),
2398
- });
2399
- }
2400
-
2401
- /** @returns {ProductDetails} */
2402
- static ProductDetails() {
2403
- return Joi.object({
2404
- template_tag: Joi.any(),
2405
- rating_count: Joi.number(),
2406
- image_nature: Joi.any(),
2407
- has_variant: Joi.boolean(),
2408
- description: Joi.any(),
2409
- out_of_stock: Joi.boolean(),
2410
- hsn_code: Joi.number(),
2411
- grouped_attributes: Joi.object().pattern(/\S/, Joi.any()),
2412
- item_code: Joi.any(),
2413
- name: Joi.any(),
2414
- country_of_origin: Joi.any(),
2415
- short_description: Joi.any(),
2416
- media: Joi.array().items(Joi.object().pattern(/\S/, Joi.any())),
2417
- attributes: Joi.object().pattern(/\S/, Joi.any()),
2418
- is_set: Joi.boolean(),
2419
- images: Joi.array().items(Joi.any()),
2420
- slug: Joi.any(),
2421
- rating: Joi.number(),
2422
- identifier: CatalogApplicationModel.Identifier(),
2423
- highlights: Joi.array().items(Joi.any()),
2424
- brand_uid: Joi.number(),
2425
- });
2426
- }
2427
-
2428
- /** @returns {ProductInGroup} */
2429
- static ProductInGroup() {
2430
- return Joi.object({
2431
- auto_add_to_cart: Joi.boolean(),
2432
- max_quantity: Joi.number().required(),
2433
- sizes: Joi.array().items(CatalogApplicationModel.Size()),
2434
- price: CatalogApplicationModel.ProductGroupPrice(),
2435
- auto_select: Joi.boolean(),
2436
- product_details: CatalogApplicationModel.ProductDetails(),
2437
- min_quantity: Joi.number(),
2438
- allow_remove: Joi.boolean(),
2439
- product_uid: Joi.number().required(),
2440
- });
2441
- }
2442
-
2443
- /** @returns {ProductGroupingModel} */
2444
- static ProductGroupingModel() {
2445
- return Joi.object({
2446
- logo: Joi.string().allow("").allow(null),
2447
- is_active: Joi.boolean(),
2448
- meta: Joi.object().pattern(/\S/, Joi.any()),
2449
- verified_by: CatalogApplicationModel.UserDetail(),
2450
- created_on: Joi.string().allow("").required(),
2451
- company_id: Joi.number(),
2452
- page_visibility: Joi.array().items(Joi.any()),
2453
- modified_on: Joi.string().allow("").required(),
2454
- created_by: CatalogApplicationModel.UserDetail(),
2455
- modified_by: CatalogApplicationModel.UserDetail(),
2456
- products: Joi.array()
2457
- .items(CatalogApplicationModel.ProductInGroup())
2458
- .required(),
2459
- same_store_assignment: Joi.boolean(),
2460
- _id: Joi.any(),
2461
- name: Joi.any().required(),
2462
- choice: Joi.any(),
2463
- slug: Joi.any(),
2464
- verified_on: Joi.string().allow(""),
2465
- });
2466
- }
2467
-
2468
- /** @returns {ProductBundle} */
2469
- static ProductBundle() {
2470
- return Joi.object({
2471
- items: Joi.array().items(CatalogApplicationModel.ProductGroupingModel()),
2472
- });
2473
- }
2474
-
2475
- /** @returns {StoreV3} */
2476
- static StoreV3() {
2477
- return Joi.object({
2478
- uid: Joi.number(),
2479
- name: Joi.string().allow(""),
2480
- count: Joi.number(),
2481
- });
2482
- }
2483
-
2484
- /** @returns {ArticleAssignmentV3} */
2485
- static ArticleAssignmentV3() {
2486
- return Joi.object({
2487
- strategy: Joi.string().allow(""),
2488
- level: Joi.string().allow(""),
2489
- });
2490
- }
2491
-
2492
- /** @returns {StrategyWiseListingSchemaV3} */
2493
- static StrategyWiseListingSchemaV3() {
2494
- return Joi.object({
2495
- distance: Joi.number(),
2496
- pincode: Joi.number(),
2497
- tat: Joi.number(),
2498
- quantity: Joi.number(),
2499
- });
2500
- }
2501
-
2502
- /** @returns {DetailsSchemaV3} */
2503
- static DetailsSchemaV3() {
2504
- return Joi.object({
2505
- value: Joi.string().allow(""),
2506
- type: Joi.string().allow(""),
2507
- key: Joi.string().allow(""),
2508
- });
2509
- }
2510
-
2511
- /** @returns {SellerGroupAttributes} */
2512
- static SellerGroupAttributes() {
2513
- return Joi.object({
2514
- title: Joi.string().allow(""),
2515
- details: Joi.array().items(CatalogApplicationModel.DetailsSchemaV3()),
2516
- });
2517
- }
2518
-
2519
- /** @returns {ReturnConfigSchemaV3} */
2520
- static ReturnConfigSchemaV3() {
2521
- return Joi.object({
2522
- unit: Joi.string().allow(""),
2523
- returnable: Joi.boolean(),
2524
- time: Joi.number(),
2525
- });
2526
- }
2527
-
2528
- /** @returns {ProductSetDistributionSizeV3} */
2529
- static ProductSetDistributionSizeV3() {
2530
- return Joi.object({
2531
- pieces: Joi.number(),
2532
- size: Joi.string().allow(""),
2533
- });
2534
- }
2535
-
2536
- /** @returns {ProductSetDistributionV3} */
2537
- static ProductSetDistributionV3() {
2538
- return Joi.object({
2539
- sizes: Joi.array().items(
2540
- CatalogApplicationModel.ProductSetDistributionSizeV3()
2541
- ),
2542
- });
2543
- }
2544
-
2545
- /** @returns {ProductSetV3} */
2546
- static ProductSetV3() {
2547
- return Joi.object({
2548
- quantity: Joi.number(),
2549
- size_distribution: CatalogApplicationModel.ProductSetDistributionV3(),
2550
- });
2551
- }
2552
-
2553
- /** @returns {ProductStockPriceV3} */
2554
- static ProductStockPriceV3() {
2555
- return Joi.object({
2556
- effective: Joi.number(),
2557
- currency_code: Joi.string().allow(""),
2558
- currency_symbol: Joi.string().allow(""),
2559
- marked: Joi.number(),
2560
- selling: Joi.number(),
2561
- });
2562
- }
2563
-
2564
- /** @returns {ProductStockUnitPriceV3} */
2565
- static ProductStockUnitPriceV3() {
2566
- return Joi.object({
2567
- unit: Joi.string().allow(""),
2568
- currency_symbol: Joi.string().allow(""),
2569
- currency_code: Joi.string().allow(""),
2570
- price: Joi.number(),
2571
- });
2572
- }
2573
-
2574
- /** @returns {MarketPlaceSttributesSchemaV3} */
2575
- static MarketPlaceSttributesSchemaV3() {
2576
- return Joi.object({
2577
- title: Joi.string().allow(""),
2578
- details: Joi.array().items(CatalogApplicationModel.DetailsSchemaV3()),
2579
- });
2580
- }
2581
-
2582
- /** @returns {SellerV3} */
2583
- static SellerV3() {
2584
- return Joi.object({
2585
- uid: Joi.number(),
2586
- name: Joi.string().allow(""),
2587
- count: Joi.number(),
2588
- });
2589
- }
2590
-
2591
- /** @returns {PromiseSchema} */
2592
- static PromiseSchema() {
2593
- return Joi.object({
2594
- min: Joi.string().allow(""),
2595
- max: Joi.string().allow(""),
2596
- });
2597
- }
2598
-
2599
- /** @returns {ProductSizePriceResponseV3} */
2600
- static ProductSizePriceResponseV3() {
2601
- return Joi.object({
2602
- store: CatalogApplicationModel.StoreV3(),
2603
- article_assignment: CatalogApplicationModel.ArticleAssignmentV3(),
2604
- is_cod: Joi.boolean(),
2605
- strategy_wise_listing: Joi.array().items(
2606
- CatalogApplicationModel.StrategyWiseListingSchemaV3()
2607
- ),
2608
- quantity: Joi.number(),
2609
- item_type: Joi.string().allow(""),
2610
- grouped_attributes: Joi.array().items(
2611
- CatalogApplicationModel.SellerGroupAttributes()
2612
- ),
2613
- return_config: CatalogApplicationModel.ReturnConfigSchemaV3(),
2614
- article_id: Joi.string().allow(""),
2615
- is_gift: Joi.boolean(),
2616
- set: CatalogApplicationModel.ProductSetV3(),
2617
- seller_count: Joi.number(),
2618
- price_per_piece: CatalogApplicationModel.ProductStockPriceV3(),
2619
- discount_meta: CatalogApplicationModel.DiscountMeta(),
2620
- discount: Joi.string().allow(""),
2621
- long_lat: Joi.array().items(Joi.number()),
2622
- special_badge: Joi.string().allow(""),
2623
- price: CatalogApplicationModel.ProductStockPriceV3(),
2624
- price_per_unit: CatalogApplicationModel.ProductStockUnitPriceV3(),
2625
- pincode: Joi.number(),
2626
- marketplace_attributes: Joi.array().items(
2627
- CatalogApplicationModel.MarketPlaceSttributesSchemaV3()
2628
- ),
2629
- seller: CatalogApplicationModel.SellerV3(),
2630
- delivery_promise: CatalogApplicationModel.PromiseSchema(),
2631
- });
2632
- }
2633
-
2634
- /** @returns {ProductSizeSellerFilterSchemaV3} */
2635
- static ProductSizeSellerFilterSchemaV3() {
2636
- return Joi.object({
2637
- name: Joi.string().allow(""),
2638
- is_selected: Joi.boolean(),
2639
- value: Joi.string().allow(""),
2640
- });
2641
- }
2642
-
2643
- /** @returns {ProductSizeSellersResponseV3} */
2644
- static ProductSizeSellersResponseV3() {
2645
- return Joi.object({
2646
- items: Joi.array().items(
2647
- CatalogApplicationModel.ProductSizePriceResponseV3()
2648
- ),
2649
- page: CatalogApplicationModel.Page().required(),
2650
- sort_on: Joi.array().items(
2651
- CatalogApplicationModel.ProductSizeSellerFilterSchemaV3()
2652
- ),
2653
- });
2654
- }
2655
-
2656
- /** @returns {Identifier} */
2657
- static Identifier() {
2658
- return Joi.object({
2659
- ean: Joi.string().allow(""),
2660
- sku_code: Joi.string().allow(""),
2661
- alu: Joi.string().allow(""),
2662
- upc: Joi.string().allow(""),
2663
- isbn: Joi.string().allow(""),
2664
- });
2665
- }
2666
- }
2667
- module.exports = CatalogApplicationModel;