@gofynd/fdk-client-javascript 1.1.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/README.md +12 -0
  2. package/index.js +0 -3
  3. package/package.json +1 -1
  4. package/sdk/application/ApplicationAPIClient.d.ts +15 -1
  5. package/sdk/application/ApplicationAPIClient.js +8 -1
  6. package/sdk/application/ApplicationClient.d.ts +37 -6
  7. package/sdk/application/ApplicationClient.js +31 -0
  8. package/sdk/application/ApplicationConfig.d.ts +52 -12
  9. package/sdk/application/ApplicationConfig.js +37 -2
  10. package/sdk/application/ApplicationModels.d.ts +46 -1
  11. package/sdk/application/ApplicationModels.js +18 -0
  12. package/sdk/application/Cart/CartApplicationClient.d.ts +172 -357
  13. package/sdk/application/Cart/CartApplicationClient.js +620 -483
  14. package/sdk/application/Cart/CartApplicationModel.d.ts +2054 -96
  15. package/sdk/application/Cart/CartApplicationModel.js +1224 -93
  16. package/sdk/application/Cart/CartApplicationValidator.d.ts +508 -30
  17. package/sdk/application/Cart/CartApplicationValidator.js +270 -15
  18. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +234 -413
  19. package/sdk/application/Catalog/CatalogApplicationClient.js +777 -630
  20. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +2218 -117
  21. package/sdk/application/Catalog/CatalogApplicationModel.js +1499 -170
  22. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +798 -31
  23. package/sdk/application/Catalog/CatalogApplicationValidator.js +318 -3
  24. package/sdk/application/Common/CommonApplicationClient.d.ts +14 -21
  25. package/sdk/application/Common/CommonApplicationClient.js +50 -33
  26. package/sdk/application/Common/CommonApplicationModel.d.ts +448 -19
  27. package/sdk/application/Common/CommonApplicationModel.js +224 -16
  28. package/sdk/application/Common/CommonApplicationValidator.d.ts +42 -4
  29. package/sdk/application/Common/CommonApplicationValidator.js +21 -3
  30. package/sdk/application/Communication/CommunicationApplicationClient.d.ts +25 -18
  31. package/sdk/application/Communication/CommunicationApplicationClient.js +74 -47
  32. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +190 -14
  33. package/sdk/application/Communication/CommunicationApplicationModel.js +124 -7
  34. package/sdk/application/Communication/CommunicationApplicationValidator.d.ts +27 -4
  35. package/sdk/application/Communication/CommunicationApplicationValidator.js +21 -5
  36. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +113 -112
  37. package/sdk/application/Configuration/ConfigurationApplicationClient.js +381 -260
  38. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +2453 -110
  39. package/sdk/application/Configuration/ConfigurationApplicationModel.js +1254 -108
  40. package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +160 -8
  41. package/sdk/application/Configuration/ConfigurationApplicationValidator.js +88 -4
  42. package/sdk/application/Content/ContentApplicationClient.d.ts +120 -138
  43. package/sdk/application/Content/ContentApplicationClient.js +409 -277
  44. package/sdk/application/Content/ContentApplicationModel.d.ts +1627 -105
  45. package/sdk/application/Content/ContentApplicationModel.js +1202 -109
  46. package/sdk/application/Content/ContentApplicationValidator.d.ts +214 -12
  47. package/sdk/application/Content/ContentApplicationValidator.js +113 -3
  48. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +20 -29
  49. package/sdk/application/FileStorage/FileStorageApplicationClient.js +68 -47
  50. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +299 -20
  51. package/sdk/application/FileStorage/FileStorageApplicationModel.js +209 -16
  52. package/sdk/application/FileStorage/FileStorageApplicationValidator.d.ts +55 -5
  53. package/sdk/application/FileStorage/FileStorageApplicationValidator.js +33 -6
  54. package/sdk/application/Lead/LeadApplicationClient.d.ts +50 -53
  55. package/sdk/application/Lead/LeadApplicationClient.js +169 -103
  56. package/sdk/application/Lead/LeadApplicationModel.d.ts +1405 -54
  57. package/sdk/application/Lead/LeadApplicationModel.js +619 -73
  58. package/sdk/application/Lead/LeadApplicationValidator.d.ts +91 -9
  59. package/sdk/application/Lead/LeadApplicationValidator.js +51 -6
  60. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +34 -33
  61. package/sdk/application/Logistic/LogisticApplicationClient.js +110 -73
  62. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +399 -28
  63. package/sdk/application/Logistic/LogisticApplicationModel.js +293 -24
  64. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +48 -6
  65. package/sdk/application/Logistic/LogisticApplicationValidator.js +34 -6
  66. package/sdk/application/Order/OrderApplicationClient.d.ts +81 -133
  67. package/sdk/application/Order/OrderApplicationClient.js +297 -217
  68. package/sdk/application/Order/OrderApplicationModel.d.ts +1101 -66
  69. package/sdk/application/Order/OrderApplicationModel.js +776 -57
  70. package/sdk/application/Order/OrderApplicationValidator.d.ts +249 -14
  71. package/sdk/application/Order/OrderApplicationValidator.js +114 -5
  72. package/sdk/application/Payment/PaymentApplicationClient.d.ts +341 -356
  73. package/sdk/application/Payment/PaymentApplicationClient.js +1077 -703
  74. package/sdk/application/Payment/PaymentApplicationModel.d.ts +3125 -99
  75. package/sdk/application/Payment/PaymentApplicationModel.js +1158 -62
  76. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +494 -41
  77. package/sdk/application/Payment/PaymentApplicationValidator.js +297 -25
  78. package/sdk/application/PosCart/PosCartApplicationClient.d.ts +178 -350
  79. package/sdk/application/PosCart/PosCartApplicationClient.js +636 -491
  80. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1823 -89
  81. package/sdk/application/PosCart/PosCartApplicationModel.js +1117 -85
  82. package/sdk/application/PosCart/PosCartApplicationValidator.d.ts +480 -29
  83. package/sdk/application/PosCart/PosCartApplicationValidator.js +262 -15
  84. package/sdk/application/Rewards/RewardsApplicationClient.d.ts +49 -47
  85. package/sdk/application/Rewards/RewardsApplicationClient.js +160 -102
  86. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +343 -22
  87. package/sdk/application/Rewards/RewardsApplicationModel.js +230 -15
  88. package/sdk/application/Rewards/RewardsApplicationValidator.d.ts +70 -7
  89. package/sdk/application/Rewards/RewardsApplicationValidator.js +45 -6
  90. package/sdk/application/Share/ShareApplicationClient.d.ts +44 -50
  91. package/sdk/application/Share/ShareApplicationClient.js +165 -97
  92. package/sdk/application/Share/ShareApplicationModel.d.ts +230 -15
  93. package/sdk/application/Share/ShareApplicationModel.js +154 -16
  94. package/sdk/application/Share/ShareApplicationValidator.d.ts +86 -8
  95. package/sdk/application/Share/ShareApplicationValidator.js +48 -4
  96. package/sdk/application/Theme/ThemeApplicationClient.d.ts +25 -27
  97. package/sdk/application/Theme/ThemeApplicationClient.js +83 -54
  98. package/sdk/application/Theme/ThemeApplicationModel.d.ts +621 -48
  99. package/sdk/application/Theme/ThemeApplicationModel.js +464 -40
  100. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +49 -5
  101. package/sdk/application/Theme/ThemeApplicationValidator.js +26 -3
  102. package/sdk/application/User/UserApplicationClient.d.ts +219 -303
  103. package/sdk/application/User/UserApplicationClient.js +819 -522
  104. package/sdk/application/User/UserApplicationModel.d.ts +1390 -101
  105. package/sdk/application/User/UserApplicationModel.js +983 -44
  106. package/sdk/application/User/UserApplicationValidator.d.ts +457 -33
  107. package/sdk/application/User/UserApplicationValidator.js +265 -31
  108. package/sdk/common/AxiosHelper.js +8 -2
  109. package/sdk/common/Paginator.d.ts +27 -12
  110. package/sdk/common/Paginator.js +15 -0
  111. package/sdk/common/RequestSigner.js +0 -1
  112. package/sdk/partner/PartnerAPIClient.d.ts +15 -1
  113. package/sdk/partner/PartnerAPIClient.js +8 -1
  114. package/sdk/partner/PartnerClient.d.ts +20 -3
  115. package/sdk/partner/PartnerClient.js +17 -0
  116. package/sdk/partner/PartnerConfig.d.ts +40 -14
  117. package/sdk/partner/PartnerConfig.js +31 -6
  118. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.d.ts +26 -25
  119. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +82 -53
  120. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +202 -17
  121. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +139 -10
  122. package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.d.ts +42 -5
  123. package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.js +26 -4
  124. package/sdk/platform/Billing/BillingPlatformClient.d.ts +88 -97
  125. package/sdk/platform/Billing/BillingPlatformClient.js +310 -191
  126. package/sdk/platform/Billing/BillingPlatformModel.d.ts +1211 -68
  127. package/sdk/platform/Billing/BillingPlatformModel.js +824 -59
  128. package/sdk/platform/Billing/BillingPlatformValidator.d.ts +153 -12
  129. package/sdk/platform/Billing/BillingPlatformValidator.js +87 -8
  130. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +392 -634
  131. package/sdk/platform/Cart/CartPlatformApplicationClient.js +1480 -957
  132. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +827 -57
  133. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +492 -34
  134. package/sdk/platform/Cart/CartPlatformModel.d.ts +3639 -175
  135. package/sdk/platform/Cart/CartPlatformModel.js +2368 -212
  136. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +438 -615
  137. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +1449 -984
  138. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +1081 -49
  139. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +482 -23
  140. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +573 -824
  141. package/sdk/platform/Catalog/CatalogPlatformClient.js +1773 -1264
  142. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +6871 -326
  143. package/sdk/platform/Catalog/CatalogPlatformModel.js +4215 -349
  144. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +1331 -71
  145. package/sdk/platform/Catalog/CatalogPlatformValidator.js +611 -30
  146. package/sdk/platform/Common/CommonPlatformClient.d.ts +14 -21
  147. package/sdk/platform/Common/CommonPlatformClient.js +48 -33
  148. package/sdk/platform/Common/CommonPlatformModel.d.ts +448 -19
  149. package/sdk/platform/Common/CommonPlatformModel.js +224 -16
  150. package/sdk/platform/Common/CommonPlatformValidator.d.ts +42 -4
  151. package/sdk/platform/Common/CommonPlatformValidator.js +21 -3
  152. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +457 -279
  153. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +1423 -553
  154. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +581 -42
  155. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +294 -22
  156. package/sdk/platform/Communication/CommunicationPlatformClient.d.ts +18 -5
  157. package/sdk/platform/Communication/CommunicationPlatformClient.js +58 -19
  158. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1630 -102
  159. package/sdk/platform/Communication/CommunicationPlatformModel.js +1150 -85
  160. package/sdk/platform/Communication/CommunicationPlatformValidator.d.ts +16 -3
  161. package/sdk/platform/Communication/CommunicationPlatformValidator.js +11 -3
  162. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +102 -111
  163. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +321 -225
  164. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +830 -43
  165. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +612 -78
  166. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.d.ts +180 -13
  167. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.js +98 -10
  168. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +232 -212
  169. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +737 -438
  170. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.d.ts +293 -22
  171. package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.js +184 -17
  172. package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +166 -178
  173. package/sdk/platform/Configuration/ConfigurationPlatformClient.js +519 -310
  174. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +4504 -188
  175. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2242 -204
  176. package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +332 -19
  177. package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +153 -10
  178. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +495 -560
  179. package/sdk/platform/Content/ContentPlatformApplicationClient.js +1777 -987
  180. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +872 -62
  181. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +487 -35
  182. package/sdk/platform/Content/ContentPlatformModel.d.ts +1661 -108
  183. package/sdk/platform/Content/ContentPlatformModel.js +1217 -113
  184. package/sdk/platform/Discount/DiscountPlatformClient.d.ts +67 -101
  185. package/sdk/platform/Discount/DiscountPlatformClient.js +240 -176
  186. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +242 -15
  187. package/sdk/platform/Discount/DiscountPlatformModel.js +162 -10
  188. package/sdk/platform/Discount/DiscountPlatformValidator.d.ts +185 -13
  189. package/sdk/platform/Discount/DiscountPlatformValidator.js +88 -8
  190. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +32 -41
  191. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +106 -74
  192. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +77 -6
  193. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +41 -6
  194. package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +39 -54
  195. package/sdk/platform/FileStorage/FileStoragePlatformClient.js +124 -99
  196. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +299 -20
  197. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +207 -16
  198. package/sdk/platform/FileStorage/FileStoragePlatformValidator.d.ts +98 -8
  199. package/sdk/platform/FileStorage/FileStoragePlatformValidator.js +54 -7
  200. package/sdk/platform/Finance/FinancePlatformClient.d.ts +85 -91
  201. package/sdk/platform/Finance/FinancePlatformClient.js +272 -180
  202. package/sdk/platform/Finance/FinancePlatformModel.d.ts +619 -50
  203. package/sdk/platform/Finance/FinancePlatformModel.js +458 -30
  204. package/sdk/platform/Finance/FinancePlatformValidator.d.ts +123 -15
  205. package/sdk/platform/Finance/FinancePlatformValidator.js +95 -16
  206. package/sdk/platform/Inventory/InventoryPlatformClient.d.ts +99 -97
  207. package/sdk/platform/Inventory/InventoryPlatformClient.js +288 -199
  208. package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +1354 -61
  209. package/sdk/platform/Inventory/InventoryPlatformModel.js +916 -83
  210. package/sdk/platform/Inventory/InventoryPlatformValidator.d.ts +168 -12
  211. package/sdk/platform/Inventory/InventoryPlatformValidator.js +82 -6
  212. package/sdk/platform/Lead/LeadPlatformApplicationClient.d.ts +86 -106
  213. package/sdk/platform/Lead/LeadPlatformApplicationClient.js +326 -186
  214. package/sdk/platform/Lead/LeadPlatformApplicationValidator.d.ts +180 -14
  215. package/sdk/platform/Lead/LeadPlatformApplicationValidator.js +94 -9
  216. package/sdk/platform/Lead/LeadPlatformClient.d.ts +75 -101
  217. package/sdk/platform/Lead/LeadPlatformClient.js +240 -174
  218. package/sdk/platform/Lead/LeadPlatformModel.d.ts +1403 -54
  219. package/sdk/platform/Lead/LeadPlatformModel.js +618 -73
  220. package/sdk/platform/Lead/LeadPlatformValidator.d.ts +173 -12
  221. package/sdk/platform/Lead/LeadPlatformValidator.js +85 -8
  222. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +18 -14
  223. package/sdk/platform/Order/OrderPlatformApplicationClient.js +56 -29
  224. package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +26 -4
  225. package/sdk/platform/Order/OrderPlatformApplicationValidator.js +16 -3
  226. package/sdk/platform/Order/OrderPlatformClient.d.ts +343 -556
  227. package/sdk/platform/Order/OrderPlatformClient.js +969 -762
  228. package/sdk/platform/Order/OrderPlatformModel.d.ts +4967 -247
  229. package/sdk/platform/Order/OrderPlatformModel.js +3249 -259
  230. package/sdk/platform/Order/OrderPlatformValidator.d.ts +758 -37
  231. package/sdk/platform/Order/OrderPlatformValidator.js +351 -22
  232. package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +28 -36
  233. package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +103 -59
  234. package/sdk/platform/Partner/PartnerPlatformApplicationValidator.d.ts +66 -6
  235. package/sdk/platform/Partner/PartnerPlatformApplicationValidator.js +32 -4
  236. package/sdk/platform/Partner/PartnerPlatformClient.d.ts +68 -107
  237. package/sdk/platform/Partner/PartnerPlatformClient.js +253 -174
  238. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +767 -45
  239. package/sdk/platform/Partner/PartnerPlatformModel.js +524 -41
  240. package/sdk/platform/Partner/PartnerPlatformValidator.d.ts +207 -13
  241. package/sdk/platform/Partner/PartnerPlatformValidator.js +87 -5
  242. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +255 -260
  243. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +860 -504
  244. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +348 -30
  245. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +221 -19
  246. package/sdk/platform/Payment/PaymentPlatformClient.d.ts +73 -73
  247. package/sdk/platform/Payment/PaymentPlatformClient.js +238 -154
  248. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2658 -93
  249. package/sdk/platform/Payment/PaymentPlatformModel.js +1035 -36
  250. package/sdk/platform/Payment/PaymentPlatformValidator.d.ts +111 -11
  251. package/sdk/platform/Payment/PaymentPlatformValidator.js +68 -7
  252. package/sdk/platform/PlatformAPIClient.d.ts +16 -1
  253. package/sdk/platform/PlatformAPIClient.js +9 -1
  254. package/sdk/platform/PlatformApplicationClient.d.ts +22 -1798
  255. package/sdk/platform/PlatformApplicationClient.js +17 -1899
  256. package/sdk/platform/PlatformClient.d.ts +29 -12579
  257. package/sdk/platform/PlatformClient.js +26 -15085
  258. package/sdk/platform/PlatformConfig.d.ts +37 -11
  259. package/sdk/platform/PlatformConfig.js +32 -6
  260. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +80 -92
  261. package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +307 -177
  262. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.d.ts +149 -12
  263. package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.js +82 -8
  264. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +371 -23
  265. package/sdk/platform/Rewards/RewardsPlatformModel.js +246 -16
  266. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +120 -89
  267. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +349 -201
  268. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +128 -12
  269. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +85 -11
  270. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +148 -178
  271. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +454 -329
  272. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1399 -96
  273. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +1022 -71
  274. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +280 -18
  275. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +134 -11
  276. package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +38 -47
  277. package/sdk/platform/Share/SharePlatformApplicationClient.js +137 -73
  278. package/sdk/platform/Share/SharePlatformApplicationValidator.d.ts +87 -7
  279. package/sdk/platform/Share/SharePlatformApplicationValidator.js +42 -5
  280. package/sdk/platform/Share/SharePlatformModel.d.ts +250 -16
  281. package/sdk/platform/Share/SharePlatformModel.js +165 -17
  282. package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +149 -183
  283. package/sdk/platform/Theme/ThemePlatformApplicationClient.js +579 -330
  284. package/sdk/platform/Theme/ThemePlatformApplicationValidator.d.ts +308 -24
  285. package/sdk/platform/Theme/ThemePlatformApplicationValidator.js +162 -10
  286. package/sdk/platform/Theme/ThemePlatformModel.d.ts +621 -48
  287. package/sdk/platform/Theme/ThemePlatformModel.js +464 -40
  288. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +119 -151
  289. package/sdk/platform/User/UserPlatformApplicationClient.js +411 -244
  290. package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +235 -18
  291. package/sdk/platform/User/UserPlatformApplicationValidator.js +126 -12
  292. package/sdk/platform/User/UserPlatformModel.d.ts +1390 -101
  293. package/sdk/platform/User/UserPlatformModel.js +983 -44
  294. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +38 -47
  295. package/sdk/platform/Webhook/WebhookPlatformClient.js +137 -87
  296. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +242 -16
  297. package/sdk/platform/Webhook/WebhookPlatformModel.js +167 -18
  298. package/sdk/platform/Webhook/WebhookPlatformValidator.d.ts +83 -7
  299. package/sdk/platform/Webhook/WebhookPlatformValidator.js +43 -5
  300. package/sdk/public/Configuration/ConfigurationPublicClient.d.ts +14 -21
  301. package/sdk/public/Configuration/ConfigurationPublicClient.js +46 -33
  302. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +473 -19
  303. package/sdk/public/Configuration/ConfigurationPublicModel.js +224 -16
  304. package/sdk/public/Configuration/ConfigurationPublicValidator.d.ts +42 -4
  305. package/sdk/public/Configuration/ConfigurationPublicValidator.js +21 -3
  306. package/sdk/public/Inventory/InventoryPublicClient.d.ts +48 -48
  307. package/sdk/public/Inventory/InventoryPublicClient.js +146 -98
  308. package/sdk/public/Inventory/InventoryPublicModel.d.ts +392 -21
  309. package/sdk/public/Inventory/InventoryPublicModel.js +267 -27
  310. package/sdk/public/Inventory/InventoryPublicValidator.d.ts +90 -8
  311. package/sdk/public/Inventory/InventoryPublicValidator.js +44 -4
  312. package/sdk/public/PublicClient.d.ts +19 -3
  313. package/sdk/public/PublicClient.js +16 -0
  314. package/sdk/public/PublicConfig.d.ts +27 -6
  315. package/sdk/public/PublicConfig.js +17 -1
  316. package/sdk/public/Webhook/WebhookPublicClient.d.ts +13 -11
  317. package/sdk/public/Webhook/WebhookPublicClient.js +42 -27
  318. package/sdk/public/Webhook/WebhookPublicModel.d.ts +242 -16
  319. package/sdk/public/Webhook/WebhookPublicModel.js +167 -18
  320. package/sdk/public/Webhook/WebhookPublicValidator.d.ts +18 -3
  321. package/sdk/public/Webhook/WebhookPublicValidator.js +14 -4
@@ -1,84 +1,1768 @@
1
1
  const Joi = require("joi");
2
2
 
3
- class ConfigurationModel {
3
+ /**
4
+ * @typedef Android
5
+ * @property {string} [api_key] - Firebase secret credential API key for Android
6
+ * @property {string} [application_id] - Alphanumeric ID allotted to a sales
7
+ * channel application created within a business account
8
+ */
9
+
10
+ /**
11
+ * @typedef App
12
+ * @property {ApplicationAuth} [auth]
13
+ * @property {string} [channel_type] - It indicates different channel types like
14
+ * store, website-and-mobile-apps. Default value is store
15
+ * @property {string} [company_id] - Numeric ID allotted to a business account
16
+ * on Fynd Platform.
17
+ * @property {string} [desc] - Detailed description about the sales channel
18
+ * @property {string} [name] - User-friendly name for sales channel, e.g. Zenz Fashion
19
+ */
20
+
21
+ /**
22
+ * @typedef AppCartConfig
23
+ * @property {boolean} [bulk_coupons] - Allow creation of bulk coupons
24
+ * @property {DeliveryCharges} [delivery_charges]
25
+ * @property {boolean} [enabled] - Shows whether cart configuration is enabled or not
26
+ * @property {number} [max_cart_items] - Maximum number of items that can be
27
+ * added to cart by the customer
28
+ * @property {number} [min_cart_value] - Minimum cart value below which customer
29
+ * cannot place an order
30
+ * @property {PanCardConfig} [pan_card]
31
+ * @property {boolean} [revenue_engine_coupon] - Allow coupon apply and credits
32
+ * together. Default value is false.
33
+ */
34
+
35
+ /**
36
+ * @typedef AppCurrencyResponse
37
+ * @property {string} [application] - Alphanumeric ID allotted to an application
38
+ * (sales channel website) created within a business account
39
+ * @property {DefaultCurrency} [default_currency]
40
+ * @property {Currency[]} [supported_currency]
41
+ */
42
+
43
+ /**
44
+ * @typedef AppDomain
45
+ * @property {string} [name] - Domain URL of current sales channel, e.g. zenz.com
46
+ */
47
+
48
+ /**
49
+ * @typedef AppFeature
50
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero
51
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
52
+ * for the sales channel features
53
+ * @property {string} [app] - Application ID of the sales channel
54
+ * @property {CartFeature} [cart]
55
+ * @property {CommonFeature} [common]
56
+ * @property {string} [created_at] - ISO 8601 timestamp showing the date when
57
+ * the features were configured
58
+ * @property {HomePageFeature} [home_page]
59
+ * @property {LandingPageFeature} [landing_page]
60
+ * @property {OrderFeature} [order]
61
+ * @property {PcrFeature} [pcr]
62
+ * @property {ProductDetailFeature} [product_detail]
63
+ * @property {QrFeature} [qr]
64
+ * @property {RegistrationPageFeature} [registration_page]
65
+ * @property {string} [updated_at] - ISO 8601 timestamp of last known
66
+ * modifications to the sales channel feature configuration
67
+ */
68
+
69
+ /**
70
+ * @typedef AppFeatureRequest
71
+ * @property {AppFeature} [feature]
72
+ */
73
+
74
+ /**
75
+ * @typedef AppFeatureResponse
76
+ * @property {AppFeature} [feature]
77
+ */
78
+
79
+ /**
80
+ * @typedef AppInventory
81
+ * @property {InventoryArticleAssignment} [article_assignment]
82
+ * @property {InventoryBrandRule} [brand]
83
+ * @property {boolean} [franchise_enabled] - Allow other businesses (companies)
84
+ * to consume the current sales channel's inventory and sell products
85
+ * @property {string[]} [image]
86
+ * @property {boolean} [only_verified_products] - Show only verified products
87
+ * (the ones whose data have been verified by the admin)
88
+ * @property {boolean} [out_of_stock] - Indicates whether out of stock products
89
+ * are allowed to show up on the website.
90
+ * @property {InventoryPaymentConfig} [payment]
91
+ * @property {InventoryStoreRule} [store]
92
+ */
93
+
94
+ /**
95
+ * @typedef AppInventoryCompanies
96
+ * @property {string} [company_type] - Indicates the type of the company, e.g.
97
+ * franchisee, distributor, etc.
98
+ * @property {string} [name] - Name of the company, e.g. Newton Traders
99
+ * @property {number} [uid] - UID of the company, e.g. 108
100
+ */
101
+
102
+ /**
103
+ * @typedef AppInventoryConfig
104
+ * @property {InventoryBrand} [brand]
105
+ * @property {InventoryCategory} [category]
106
+ * @property {Object[]} [company_store] - List of selling locations whose
107
+ * inventory is available to the sales channel for displaying on the website
108
+ * @property {InventoryDiscount} [discount]
109
+ * @property {Object[]} [exclude_category] - List of excluded brands category
110
+ * @property {boolean} [franchise_enabled] - Allow other businesses (companies)
111
+ * to consume the current sales channel's inventory and sell products
112
+ * @property {string[]} [image]
113
+ * @property {boolean} [only_verified_products] - Show only verified products
114
+ * (the ones whose data has been verified by the admin)
115
+ * @property {boolean} [out_of_stock] - Indicates whether out of stock products
116
+ * are allowed to show up on the website
117
+ * @property {InventoryPrice} [price]
118
+ * @property {InventoryStore} [store]
119
+ */
120
+
121
+ /**
122
+ * @typedef AppInventoryPartialUpdate
123
+ * @property {AppCartConfig} [cart]
124
+ * @property {boolean} [comms_enabled] - Shows communication (comms) is enabled
125
+ * or not for sales channel partial inventory update
126
+ * @property {CommunicationConfig} [communication]
127
+ * @property {LoyaltyPointsConfig} [loyalty_points]
128
+ * @property {AppPaymentConfig} [payment]
129
+ * @property {RewardPointsConfig} [reward_points]
130
+ */
131
+
132
+ /**
133
+ * @typedef AppInventoryStores
134
+ * @property {string} [_id] - The unique identifier of the store (24-digit Mongo
135
+ * Object ID) in the sales channel inventory
136
+ * @property {number} [company_id] - Company ID of the selling location (store)
137
+ * added to the sales channel's inventory
138
+ * @property {string} [display_name] - Display name of the sales channel
139
+ * inventory store (can be different than the actual store name), e.g. Reebok MUM
140
+ * @property {string} [modified_on] - ISO 8601 timestamp of last known updation
141
+ * to the stores in sales channel inventory
142
+ * @property {string} [name] - Name of the store in the sales channel inventory,
143
+ * e.g. Reebok Mumbai
144
+ * @property {string} [store_code] - Store code of the enabled inventory store,
145
+ * e.g. HS-c9bac. It is unique for every store.
146
+ * @property {string} [store_type] - Store type of the sales channel inventory
147
+ * store, such as mall, warehouse, high_street
148
+ * @property {number} [uid] - Sales channel inventory store UID
149
+ */
150
+
151
+ /**
152
+ * @typedef Application
153
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
154
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
155
+ * of the sales channel
156
+ * @property {string} [app_type] - It shows application is live or in development mode.
157
+ * @property {ApplicationAuth} [auth]
158
+ * @property {SecureUrl} [banner]
159
+ * @property {number} [cache_ttl] - An integer value that specifies the number
160
+ * of seconds until the key expires
161
+ * @property {string} [channel_type] - It indicates different channel types like
162
+ * store, website-and-mobile-apps. Default value is store
163
+ * @property {number} [company_id] - Numeric ID allotted to a business account
164
+ * where the sales channel exists
165
+ * @property {ApplicationCors} [cors]
166
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation
167
+ * @property {string} [description] - It contains detailed information about the
168
+ * sales channel.
169
+ * @property {Domain} [domain]
170
+ * @property {Domain[]} [domains]
171
+ * @property {SecureUrl} [favicon]
172
+ * @property {boolean} [is_active] - Indicates sales channel is active or not active
173
+ * @property {boolean} [is_internal] - Indicates whether a sales channel is
174
+ * internal or not
175
+ * @property {SecureUrl} [logo]
176
+ * @property {ApplicationMeta[]} [meta]
177
+ * @property {SecureUrl} [mobile_logo]
178
+ * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion
179
+ * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID)
180
+ * of owner who owns the application
181
+ * @property {ApplicationRedirections[]} [redirections]
182
+ * @property {string} [slug]
183
+ * @property {string} [token] - Random generated fix length string for sales
184
+ * channel. It is required and auto-generated.
185
+ * @property {string} [updated_at] - ISO 8601 timestamp of sales channel updation
186
+ * @property {ApplicationWebsite} [website]
187
+ */
188
+
189
+ /**
190
+ * @typedef ApplicationAuth
191
+ * @property {boolean} [enabled] - Shows sales channel auth is enabled or not enabled.
192
+ */
193
+
194
+ /**
195
+ * @typedef ApplicationCors
196
+ * @property {string[]} [domains]
197
+ */
198
+
199
+ /**
200
+ * @typedef ApplicationDetail
201
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
202
+ * for the sales channel details
203
+ * @property {SecureUrl} [banner]
204
+ * @property {string} [description] - It gives a detailed information about the
205
+ * sales channel. It is required.
206
+ * @property {Domain} [domain]
207
+ * @property {Domain[]} [domains]
208
+ * @property {SecureUrl} [favicon]
209
+ * @property {SecureUrl} [logo]
210
+ * @property {SecureUrl} [mobile_logo]
211
+ * @property {string} name - Name of the sales channel. It is required.
212
+ */
213
+
214
+ /**
215
+ * @typedef ApplicationInformation
216
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
217
+ * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of
218
+ * the application information
219
+ * @property {InformationAddress} [address]
220
+ * @property {string} [application] - Alphanumeric ID allotted to a sales
221
+ * channel application created within a business account
222
+ * @property {BusinessHighlights} [business_highlights]
223
+ * @property {string} [copyright_text] - Copyright statement usually seen at the
224
+ * site's footer
225
+ * @property {string} [created_at] - ISO 8601 timestamp of creation of the
226
+ * application information
227
+ * @property {Links[]} [links]
228
+ * @property {SocialLinks} [social_links]
229
+ * @property {InformationSupport} [support]
230
+ * @property {string} [updated_at] - ISO 8601 timestamp of updation of the
231
+ * application information
232
+ */
233
+
234
+ /**
235
+ * @typedef ApplicationInventory
236
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
237
+ * of the sales channel inventory
238
+ * @property {string} [app] - Current sales channel ID
239
+ * @property {ArticleAssignmentConfig} [article_assignment]
240
+ * @property {AuthenticationConfig} [authentication]
241
+ * @property {string} [business] - Indicates the business type for sales channel
242
+ * e.g. retail or wholesale
243
+ * @property {AppCartConfig} [cart]
244
+ * @property {boolean} [comms_enabled] - Shows communication(comms) is enabled
245
+ * or not for sales channel inventory
246
+ * @property {CommunicationConfig} [communication]
247
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel
248
+ * inventory creation
249
+ * @property {AppInventoryConfig} [inventory]
250
+ * @property {AppLogisticsConfig} [logistics]
251
+ * @property {LoyaltyPointsConfig} [loyalty_points]
252
+ * @property {string} [modified_by] - User ID of the person who made the latest
253
+ * changes in the sales channel inventory
254
+ * @property {AppOrderConfig} [order]
255
+ * @property {AppPaymentConfig} [payment]
256
+ * @property {string[]} [platforms]
257
+ * @property {RewardPointsConfig} [reward_points]
258
+ * @property {string} [updated_at] - ISO 8601 timestamp of sales channel
259
+ * inventory updation
260
+ */
261
+
262
+ /**
263
+ * @typedef ApplicationMeta
264
+ * @property {string} [name] - Indicates to name of application meta
265
+ * @property {string} [value] - Value related to application meta name
266
+ */
267
+
268
+ /**
269
+ * @typedef ApplicationRedirections
270
+ * @property {string} [redirect_from] - Old domain url of the sales channel
271
+ * @property {string} [redirect_to] - New domain URL of the sales channel. Users
272
+ * will be automatically redirected from old domain to new domain.
273
+ * @property {string} [type] - It shows domain redirection type. Permanent
274
+ * redirection is for long time period redirection, and temporary redirection
275
+ * for a short time period.
276
+ */
277
+
278
+ /**
279
+ * @typedef ApplicationsResponse
280
+ * @property {Application[]} [items]
281
+ * @property {Page} [page]
282
+ */
283
+
284
+ /**
285
+ * @typedef ApplicationWebsite
286
+ * @property {string} [basepath] - Base path for the current sales channel website
287
+ * @property {boolean} [enabled] - Shows whether sales channel website URL is
288
+ * enabled or not
289
+ */
290
+
291
+ /**
292
+ * @typedef AppLogisticsConfig
293
+ * @property {boolean} [dp_assignment]
294
+ * @property {boolean} [logistics_by_seller]
295
+ * @property {boolean} [same_day_delivery]
296
+ * @property {boolean} [serviceability_check]
297
+ */
298
+
299
+ /**
300
+ * @typedef AppOrderConfig
301
+ * @property {boolean} [enabled] - Allow orders to be accepted from the sales channel
302
+ * @property {boolean} [force_reassignment] - Allow force reassigning of an order
303
+ * @property {string} [message] - Reason for reassigning an order
304
+ */
305
+
306
+ /**
307
+ * @typedef AppPaymentConfig
308
+ * @property {boolean} [anonymous_cod] - Allow cash on delivery for anonymous user
309
+ * @property {CallbackUrl} [callback_url]
310
+ * @property {number} [cod_amount_limit] - Maximum amount allowed for COD order.
311
+ * Beyond this, customer cannot opt for COD.
312
+ * @property {number} [cod_charges] - Extra charge applicable for COD orders
313
+ * @property {boolean} [enabled] - Allow payment option within sales channel
314
+ * @property {Methods} [methods]
315
+ * @property {string} [mode_of_payment] - Mode of payment for sales channel
316
+ * payment, e.g. 'ECOMM'.
317
+ * @property {PaymentSelectionLock} [payment_selection_lock]
318
+ * @property {string} [source] - Source of the payment mode, e.g. 'ECOMM'.
319
+ * Default value is FYND.
320
+ */
321
+
322
+ /**
323
+ * @typedef AppStoreRules
324
+ * @property {Object[]} [brands] - List of brands whose products will be shown
325
+ * on the website
326
+ * @property {number[]} [companies] - List of companies whose inventory is
327
+ * available to the sales channel for displaying on the website
328
+ */
329
+
330
+ /**
331
+ * @typedef AppSupportedCurrency
332
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
333
+ * of the currency configuration supported by the application
334
+ * @property {string} [application] - Alphanumeric ID allotted to an application
335
+ * (sales channel website) created within a business account.
336
+ * @property {string} [created_at] - ISO 8601 timestamp when currency was added
337
+ * in the list of currencies supported by the sales channel
338
+ * @property {DefaultCurrency} [default_currency]
339
+ * @property {string[]} [supported_currency]
340
+ * @property {string} [updated_at] - ISO 8601 timestamp when currency was
341
+ * updated in the list of currencies supported by the sales channel
342
+ */
343
+
344
+ /**
345
+ * @typedef ArticleAssignmentConfig
346
+ * @property {boolean} [post_order_reassignment] - Allow post order reassigment of article
347
+ * @property {ArticleAssignmentRules} [rules]
348
+ */
349
+
350
+ /**
351
+ * @typedef ArticleAssignmentRule
352
+ * @property {StorePriorityRule} [store_priority]
353
+ */
354
+
355
+ /**
356
+ * @typedef ArticleAssignmentRules
357
+ * @property {StorePriority} [store_priority]
358
+ */
359
+
360
+ /**
361
+ * @typedef AuthenticationConfig
362
+ * @property {string} [provider] - Shows inventory authentication provider
363
+ * @property {boolean} [required] - Shows sales channel inventory authentication
364
+ * is required or not
365
+ */
366
+
367
+ /**
368
+ * @typedef BlogLink
369
+ * @property {string} [icon] - Hosted URL of icon image shown on the website
370
+ * @property {string} [link] - Web URL of brand's blog page
371
+ * @property {string} [title] - Name of the brand's blog page
372
+ */
373
+
374
+ /**
375
+ * @typedef BrandCompanyInfo
376
+ * @property {number} [company_id] - Numeric ID allotted to a business account
377
+ * @property {string} [company_name] - Name of the company dealing with the brand
378
+ */
379
+
380
+ /**
381
+ * @typedef BrandsByCompanyResponse
382
+ * @property {CompanyBrandInfo} [brands]
383
+ */
384
+
385
+ /**
386
+ * @typedef BrandStoreInfo
387
+ * @property {OptedCompany} [company]
388
+ * @property {OptedStoreAddress} [store_address]
389
+ * @property {string} [store_code] - Store code of the brand. It is unique for
390
+ * every brand store.
391
+ * @property {number} [store_id] - The unique identifier of the selling location (store)
392
+ * @property {string} [store_name] - Name of the selling location (store)
393
+ * @property {string} [store_type] - Store type of the brand like warehouse,
394
+ * high_street, mall
395
+ */
396
+
397
+ /**
398
+ * @typedef BuildVersion
399
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
400
+ * @property {string} [_id] - 24-digit Mongo Object ID
401
+ * @property {string} [application] - Application ID of the sales channel
402
+ * @property {string} [build_status] - Current progress of the mobile build,
403
+ * e.g. pending, cancelled, failed, success
404
+ * @property {string} [created_at] - ISO 8601 timestamp of app creation
405
+ * @property {string} [platform_type] - Device platform for which the mobile app
406
+ * was built, e.g. android, ios.
407
+ * @property {string} [updated_at] - ISO 8601 timestamp of last known
408
+ * modifications to the app build
409
+ * @property {number} [version_code] - A positive integer used as an internal
410
+ * version number
411
+ * @property {string} [version_name] - Version number of the mobile build, in
412
+ * dot-decimal notation
413
+ */
414
+
415
+ /**
416
+ * @typedef BuildVersionHistory
417
+ * @property {string} [latest_available_version_name] - Latest version number of
418
+ * the mobile build, in dot-decimal notation
419
+ * @property {BuildVersion} [versions]
420
+ */
421
+
422
+ /**
423
+ * @typedef BusinessHighlights
424
+ * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of
425
+ * the related business
426
+ * @property {string} [icon] - Hosted URL of icon image representing the
427
+ * business highlight
428
+ * @property {string} [sub_title] - Detailed information about the highlight
429
+ * @property {string} [title] - Title of the business highlight, e.g. Superfast Delivery
430
+ */
431
+
432
+ /**
433
+ * @typedef CallbackUrl
434
+ * @property {string} [app] - Payment callback url for app
435
+ * @property {string} [web] - Payment callback url for web
436
+ */
437
+
438
+ /**
439
+ * @typedef CartFeature
440
+ * @property {boolean} [google_map] - Allow adding of Google Maps. Default value is true.
441
+ * @property {boolean} [gst_input] - Shows whether customer is allowed to enter
442
+ * GST on the cart page for claiming input credits
443
+ * @property {boolean} [placing_for_customer] - Shows whether the staff is
444
+ * placing order on behalf of customer. Default value is true.
445
+ * @property {boolean} [revenue_engine_coupon] - Allow coupon apply and credits,
446
+ * together. Default value is false.
447
+ * @property {boolean} [staff_selection] - Shows whether staff selection is
448
+ * enabled on cart page
449
+ */
450
+
451
+ /**
452
+ * @typedef Charges
453
+ * @property {number} [charges] - Delivery amount to be charged when order value
454
+ * is below the defined threshold value
455
+ * @property {number} [threshold] - The order value below which an extra
456
+ * delivery fee will be applicable
457
+ */
458
+
459
+ /**
460
+ * @typedef CommonFeature
461
+ * @property {CommunicationOptinDialogFeature} [communication_optin_dialog]
462
+ * @property {CompareProductsFeature} [compare_products]
463
+ * @property {CurrencyFeature} [currency]
464
+ * @property {DeploymentStoreSelectionFeature} [deployment_store_selection]
465
+ * @property {FeedbackFeature} [feedback]
466
+ * @property {ListingPriceFeature} [listing_price]
467
+ * @property {RevenueEngineFeature} [revenue_engine]
468
+ * @property {RewardPointsConfig} [reward_points]
469
+ */
470
+
471
+ /**
472
+ * @typedef CommsConfig
473
+ * @property {boolean} [enabled] - Check current communication channel is enabled
474
+ */
475
+
476
+ /**
477
+ * @typedef CommunicationConfig
478
+ * @property {CommsConfig} [email]
479
+ * @property {CommsConfig} [sms]
480
+ * @property {CommsConfig} [voice]
481
+ */
482
+
483
+ /**
484
+ * @typedef CommunicationOptinDialogFeature
485
+ * @property {boolean} [visibility] - Shows whether WhatsApp communication is enabled
486
+ */
487
+
488
+ /**
489
+ * @typedef CompaniesResponse
490
+ * @property {AppInventoryCompanies} [items]
491
+ * @property {Page} [page]
492
+ */
493
+
494
+ /**
495
+ * @typedef CompanyAboutAddress
496
+ * @property {string} [address_type] - Indicates different office types like
497
+ * office, registered, and home.
498
+ * @property {string} [address1] - Primary address line of the company
499
+ * @property {string} [address2] - Secondary address line of the company
500
+ * @property {string} [city] - City name, e.g. Mumbai
501
+ * @property {string} [country] - Country name, e.g. India
502
+ * @property {number} [pincode] - 6-digit PIN code of the city, e.g. 400001
503
+ * @property {string} [state] - State name, e.g. Maharashtra
504
+ */
505
+
506
+ /**
507
+ * @typedef CompanyBrandInfo
508
+ * @property {string} [brand_banner_portrait_url] - Hosted URL of the brand's
509
+ * portrait banner
510
+ * @property {string} [brand_banner_url] - Hosted URL of the brand's banner image
511
+ * @property {string} [brand_logo_url] - Hosted URL of the brand's logo
512
+ * @property {string} [name] - Brand name, e.g. Raymonds
513
+ * @property {number} [value] - Brand UID for identifying the brand
514
+ */
515
+
516
+ /**
517
+ * @typedef CompanyByBrandsRequest
518
+ * @property {number} brands - Brand UID
519
+ * @property {string} [search_text] - A search field for finding a company by its name
520
+ */
521
+
522
+ /**
523
+ * @typedef CompanyByBrandsResponse
524
+ * @property {BrandCompanyInfo[]} [items]
525
+ * @property {Page} [page]
526
+ */
527
+
528
+ /**
529
+ * @typedef CompanyValidator
530
+ * @property {string} [browser_script] - Browser script for the company validator
531
+ * @property {JsonSchema[]} [json_schema]
532
+ */
533
+
534
+ /**
535
+ * @typedef CompareProductsFeature
536
+ * @property {boolean} [enabled] - Shows whether product comparison feature is
537
+ * enabled on PDP
538
+ */
539
+
540
+ /**
541
+ * @typedef CreateApplicationRequest
542
+ * @property {App} [app]
543
+ * @property {AppInventory} [configuration]
544
+ * @property {AppDomain} [domain]
545
+ */
546
+
547
+ /**
548
+ * @typedef CreateAppResponse
549
+ * @property {Application} [app]
550
+ * @property {ApplicationInventory} [configuration]
551
+ */
552
+
553
+ /**
554
+ * @typedef Credentials
555
+ * @property {Android} [android]
556
+ * @property {string} [api_key] - An API key is a unique string that's used to
557
+ * route requests to your Firebase project when interacting with Firebase.
558
+ * @property {string} [application_id] - Alphanumeric ID allotted to the current
559
+ * application created within the current business account
560
+ * @property {string} [gcm_sender_id] - Google Cloud Manager's Sender ID for
561
+ * Firebase. It is a unique numerical value which is created when you
562
+ * configure your project in the Google Developers Console/Google Cloud Console.
563
+ * @property {Ios} [ios]
564
+ * @property {string} [project_id] - Project ID for Firebase integration.
565
+ * Project ID is a unique identifier for a project and is used only within the console.
566
+ */
567
+
568
+ /**
569
+ * @typedef Credit
570
+ * @property {boolean} [enabled] - Shows whether reward points should be credited
571
+ */
572
+
573
+ /**
574
+ * @typedef CurrenciesResponse
575
+ * @property {Currency[]} [items]
576
+ */
577
+
578
+ /**
579
+ * @typedef Currency
580
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
581
+ * of the current sales channel supported currency
582
+ * @property {string} [code] - 3-character currency code, e.g. INR, USD, EUR.
583
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel support
584
+ * currency creation
585
+ * @property {number} [decimal_digits] - Acceptable decimal limits for a given
586
+ * currency, e.g. 1.05$ means upto 2 decimal digits can be accepted as a valid
587
+ * value of a currency.
588
+ * @property {boolean} [is_active] - Shows currency is enabled or not in current
589
+ * sales channel
590
+ * @property {string} [name] - Name of the currency, e.g Indian Rupee
591
+ * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹
592
+ * @property {string} [updated_at] - ISO 8601 timestamp of sales channel support
593
+ * currency updation
594
+ */
595
+
596
+ /**
597
+ * @typedef CurrencyConfig
598
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
599
+ * of all the currency configuration
600
+ * @property {string} [code] - 3-character currency code, e.g. INR, USD, EUR.
601
+ * @property {string} [created_at] - ISO 8601 timestamp of a given currency creation
602
+ * @property {number} [decimal_digits] - Acceptable decimal limits for a given
603
+ * currency, e.g. 1.05$ means upto 2 decimal digits can be accepted as a valid
604
+ * value of a currency.
605
+ * @property {boolean} [is_active] - Currency is enabled or not for the current
606
+ * sales channel
607
+ * @property {string} [name] - Name of the currency, e.g Indian Rupee
608
+ * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹
609
+ * @property {string} [updated_at] - ISO 8601 timestamp of a given currency updation
610
+ */
611
+
612
+ /**
613
+ * @typedef CurrencyFeature
614
+ * @property {string} [default_currency] - 3-letter code of the default currency
615
+ * used in the application. Default vaule is 'INR'.
616
+ * @property {string} [type] - If 'explicit', currency formatting shows currency
617
+ * code with price. For explicit or all currency selection.
618
+ * @property {string[]} [value] - 3-letter currency code
619
+ */
620
+
621
+ /**
622
+ * @typedef Debit
623
+ * @property {boolean} [auto_apply] - Allow automatic debit of reward points
624
+ * @property {boolean} [enabled] - Shows whether reward points are available for debit
625
+ * @property {string} [strategy_channel] - Strategy channel for debiting reward points
626
+ */
627
+
628
+ /**
629
+ * @typedef DefaultCurrency
630
+ * @property {string} [code] - 3-character code of the default currency, e.g.
631
+ * INR, EUR, USD
632
+ * @property {string} [ref] - The unique identifier (24-digit Mongo Object ID)
633
+ * of the default currency
634
+ */
635
+
636
+ /**
637
+ * @typedef DeliveryCharges
638
+ * @property {Charges} [charges]
639
+ * @property {boolean} [enabled] - Allow delivery charges
640
+ */
641
+
642
+ /**
643
+ * @typedef DeploymentMeta
644
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
645
+ * of the ordering stores
646
+ * @property {boolean} [all_stores] - Allow all stores from the ordering store
647
+ * @property {string} [app] - Alphanumeric ID allotted to an application (sales
648
+ * channel website) created within a business account
649
+ * @property {number[]} [deployed_stores]
650
+ * @property {boolean} [enabled] - Allow ordering stores for current sales channel
651
+ * @property {string} [type] - Permitted values are 'hard' and 'soft'. For hard
652
+ * type delivery, store selection is compulsory. For soft type, delivery store
653
+ * selection is optional.
654
+ */
655
+
656
+ /**
657
+ * @typedef DeploymentStoreSelectionFeature
658
+ * @property {boolean} [enabled] - Shows whether selection of store (for
659
+ * deploying the application) is permitted
660
+ * @property {string} [type] - Permitted values are 'hard' and 'soft'. For hard
661
+ * type delivery, store selection is compulsory. For soft type, delivery store
662
+ * selection is optional.
663
+ */
664
+
665
+ /**
666
+ * @typedef Domain
667
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
668
+ * of the sales channel domain
669
+ * @property {boolean} [is_predefined] - Domain is hosting domain or not.
670
+ * @property {boolean} [is_primary] - Domain is primary or not. Primary domain
671
+ * is the default/main domain.
672
+ * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain
673
+ * @property {string} [name] - Full domain name, e.g. newton.com
674
+ * @property {boolean} [verified] - Domain is verified or not. TXT and A records
675
+ * should propagate correctly.
676
+ */
677
+
678
+ /**
679
+ * @typedef DomainAdd
680
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
681
+ * of the domain
682
+ * @property {boolean} [is_primary] - Domain is primary or not (indicates if the
683
+ * domain has been made the main URL of the sales channel)
684
+ * @property {boolean} [is_shortlink] - Indicates if the domain is a short link
685
+ * domain (short URL e.g. bitly)
686
+ * @property {string} [message] - Shows the message shown after adding a domain
687
+ * successfully, e.g. 'New domain added successfully'
688
+ * @property {string} [name] - Full domain name, e.g. uniket.hostx0.de
689
+ * @property {string[]} [txt_records]
690
+ * @property {boolean} [verified] - Domain is verified or not (indicates if A
691
+ * records and TXT records are correct)
692
+ */
693
+
694
+ /**
695
+ * @typedef DomainAddRequest
696
+ * @property {DomainAdd} [domain]
697
+ */
698
+
699
+ /**
700
+ * @typedef DomainsResponse
701
+ * @property {Domain[]} [domains]
702
+ */
703
+
704
+ /**
705
+ * @typedef DomainStatus
706
+ * @property {string} [display] - Shows TXT record and A records for the domain
707
+ * @property {boolean} [status] - Shows whether TXT record or A records for the
708
+ * domain are correctly propagating via DNS servers
709
+ */
710
+
711
+ /**
712
+ * @typedef DomainStatusRequest
713
+ * @property {string} [domain_url] - URL of the domain, e.g. uniket.hostx0.de
714
+ */
715
+
716
+ /**
717
+ * @typedef DomainStatusResponse
718
+ * @property {boolean} [connected] - Check if domain is live and mapped to
719
+ * appropriate IP of Fynd Servers
720
+ * @property {DomainStatus[]} [status]
721
+ */
722
+
723
+ /**
724
+ * @typedef DomainSuggestion
725
+ * @property {string} [currency] - Custom domain currency. Not present for Fynd domains.
726
+ * @property {boolean} is_available - Shows whether the custom domain of your
727
+ * choice is available or not available
728
+ * @property {string} name - URL of the custom domain
729
+ * @property {number} [price] - Cost of purchasing a custom domain. Not present
730
+ * for Fynd domains.
731
+ * @property {boolean} [unsupported] - Shows whether TLD domain is supported or not
732
+ */
733
+
734
+ /**
735
+ * @typedef DomainSuggestionsRequest
736
+ * @property {boolean} [custom] - Get suggestions for custom domains or Fynd domains
737
+ * @property {string} [domain_url] - Domain url
738
+ */
739
+
740
+ /**
741
+ * @typedef DomainSuggestionsResponse
742
+ * @property {DomainSuggestion[]} [domains] - Domain URL
743
+ */
744
+
745
+ /**
746
+ * @typedef FacebookLink
747
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
748
+ * @property {string} [link] - Web URL of brand's Facebook page
749
+ * @property {string} [title] - Name of the social media platform, e.g. Facebook
750
+ */
751
+
752
+ /**
753
+ * @typedef FeedbackFeature
754
+ * @property {boolean} [enabled] - Shows whether customer feedback is enabled on
755
+ * PDP. Default value is false.
756
+ */
757
+
758
+ /**
759
+ * @typedef FilterOrderingStoreRequest
760
+ * @property {boolean} [all_stores] - Allow all stores from the ordering stores
761
+ * @property {number[]} [deployed_stores]
762
+ * @property {string} [q] - Store code or name of the ordering store
763
+ */
764
+
765
+ /**
766
+ * @typedef Firebase
767
+ * @property {Credentials} [credentials]
768
+ * @property {boolean} [enabled] - Shows whether Firebase integration is enabled
769
+ * or disabled for the sales channel
770
+ */
771
+
772
+ /**
773
+ * @typedef Freshchat
774
+ * @property {FreshchatCredentials} [credentials]
775
+ * @property {boolean} [enabled] - Shows whether Freshchat integration is
776
+ * enabled or disabled for the sales channel
777
+ */
778
+
779
+ /**
780
+ * @typedef FreshchatCredentials
781
+ * @property {string} [app_id] - The unique app_id of your Freshchat account for
782
+ * integrating Freshchat with your sales channel
783
+ * @property {string} [app_key] - The unique app_key of your Freshchat account
784
+ * for integrating Freshchat with your sales channel
785
+ * @property {string} [web_token] - Web token used for accessing the Freshchat APIs
786
+ */
787
+
788
+ /**
789
+ * @typedef FyndRewards
790
+ * @property {FyndRewardsCredentials} [credentials]
791
+ */
792
+
793
+ /**
794
+ * @typedef FyndRewardsCredentials
795
+ * @property {string} [public_key] - Public key for integrating with Fynd rewards.
796
+ */
797
+
798
+ /**
799
+ * @typedef GetIntegrationsOptInsResponse
800
+ * @property {IntegrationOptIn[]} [items]
801
+ * @property {Page} [page]
802
+ */
803
+
804
+ /**
805
+ * @typedef GoogleMap
806
+ * @property {GoogleMapCredentials} [credentials]
807
+ */
808
+
809
+ /**
810
+ * @typedef GoogleMapCredentials
811
+ * @property {string} [api_key] - Secret API key for Google Maps. A unique
812
+ * identifier that authenticates requests made to Google Maps API.
813
+ */
814
+
815
+ /**
816
+ * @typedef GooglePlusLink
817
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
818
+ * @property {string} [link] - Web URL of brand's Google+ account
819
+ * @property {string} [title] - Name of the social media platform, e.g. Google+
820
+ */
821
+
822
+ /**
823
+ * @typedef Gtm
824
+ * @property {GtmCredentials} [credentials]
825
+ * @property {boolean} [enabled] - Shows whether GTM integration is enabled or
826
+ * disabled for the sales channel
827
+ */
828
+
829
+ /**
830
+ * @typedef GtmCredentials
831
+ * @property {string} [api_key] - Secret credential API key for GTM
832
+ */
833
+
834
+ /**
835
+ * @typedef HomePageFeature
836
+ * @property {boolean} [order_processing] - Shows whether order processing is
837
+ * enabled or not enabled
838
+ */
839
+
840
+ /**
841
+ * @typedef InformationAddress
842
+ * @property {string[]} [address_line] - Contact address of the sales channel
843
+ * @property {string} [city] - Name of the city, e.g. Mumbai
844
+ * @property {string} [country] - Name of the country, e.g. India
845
+ * @property {string} [loc] - Co-ordinates of the location
846
+ * @property {InformationPhone[]} [phone]
847
+ * @property {number} [pincode] - 6-digit PIN Code of the city, e.g. 400001
848
+ */
849
+
850
+ /**
851
+ * @typedef InformationPhone
852
+ * @property {string} [code] - Country code for contact number, e.g. +91 (for India)
853
+ * @property {string} [number] - 10-digit mobile number
854
+ */
855
+
856
+ /**
857
+ * @typedef InformationSupport
858
+ * @property {string[]} [email]
859
+ * @property {string[]} [phone]
860
+ * @property {string} [timing] - Working hours of support team, e.g. 9 AM to 9 PM
861
+ */
862
+
863
+ /**
864
+ * @typedef InstagramLink
865
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
866
+ * @property {string} [link] - Web URL of brand's Instagram page
867
+ * @property {string} [title] - Name of the social media platform, e.g. Instagram
868
+ */
869
+
870
+ /**
871
+ * @typedef Integration
872
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
873
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
874
+ * of the integration
875
+ * @property {Object[]} [companies]
876
+ * @property {Object} [constants]
877
+ * @property {string} [created_at] - ISO 8601 timestamp of integration creation
878
+ * @property {string} [description] - Basic description about the integration
879
+ * @property {string} [description_html] - Basic HTML description about the integration
880
+ * @property {string} [icon] - Hosted URL of the icon image
881
+ * @property {IntegrationMeta[]} [meta]
882
+ * @property {string} [name] - Name of the integration, e.g. SAP RBL Integration
883
+ * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID)
884
+ * of the user who created the integration
885
+ * @property {string} [secret] - Randomly generated fixed-length string for
886
+ * opted integration. It is auto-generated. It would never change once it is generated.
887
+ * @property {string[]} [support]
888
+ * @property {string} [token] - Randomly generated fixed-length string for opted
889
+ * integration. It is auto-generated. It would never change once it is generated.
890
+ * @property {string} [updated_at] - ISO 8601 timestamp of integration updation
891
+ * @property {Validators} [validators]
892
+ */
893
+
894
+ /**
895
+ * @typedef IntegrationConfigResponse
896
+ * @property {IntegrationLevel[]} [items]
897
+ */
898
+
899
+ /**
900
+ * @typedef IntegrationLevel
901
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
902
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
903
+ * of the integration config
904
+ * @property {string} [created_at] - ISO 8601 timestamp of integration config creation
905
+ * @property {Object} [data] - Schema data of the integration stored in key-value pairs
906
+ * @property {string} [integration] - Integration id. Shows which integration
907
+ * you are enabling.
908
+ * @property {LastPatch[]} [last_patch]
909
+ * @property {string} [level] - Shows for what level the integration is set up.
910
+ * It can be company level or store level.
911
+ * @property {IntegrationMeta[]} [meta]
912
+ * @property {boolean} [opted] - Shows this integration is opted or not opted
913
+ * for the current company
914
+ * @property {Object[]} [permissions]
915
+ * @property {string} [token] - Randomly generated fixed-length string for opted
916
+ * integration. It is auto-generated. It would never change once it is generated.
917
+ * @property {number} [uid] - It can be store uid or company uid. Depends on the
918
+ * level of integration.
919
+ * @property {string} [updated_at] - ISO 8601 timestamp of integration config updation
920
+ */
921
+
922
+ /**
923
+ * @typedef IntegrationMeta
924
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
925
+ * of the integration meta
926
+ * @property {boolean} [is_public]
927
+ * @property {string} [name] - Nmae of integration meta, e.g. price_level
928
+ * @property {string} [value] - Value related to integration meta name, e.g. store
929
+ */
930
+
931
+ /**
932
+ * @typedef IntegrationOptIn
933
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
934
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
935
+ * of the opted integration
936
+ * @property {Object[]} [companies]
937
+ * @property {string} [constants]
938
+ * @property {string} [created_at] - ISO 8601 timestamp of integration creation
939
+ * @property {string} [description] - Basic description about the opted integration
940
+ * @property {string} [description_html] - Basic HTML description about the
941
+ * opted integration
942
+ * @property {string} [icon] - Hosted URL of the icon image
943
+ * @property {IntegrationMeta[]} [meta]
944
+ * @property {string} [name] - Nmae of the opted integration, e.g. SAP RBL Integration
945
+ * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID)
946
+ * of the user who created the integration
947
+ * @property {string} [secret] - Randomly generated fixed-length string for
948
+ * opted integration. It is auto-generated. It would never change once it is generated.
949
+ * @property {string[]} [support]
950
+ * @property {string} [token] - Randomly generated fixed-length string for opted
951
+ * integration. It is auto-generated. It would never change once it is generated.
952
+ * @property {string} [updated_at] - ISO 8601 timestamp of integration updation
953
+ * @property {Validators} [validators]
954
+ */
955
+
956
+ /**
957
+ * @typedef InvalidPayloadRequest
958
+ * @property {string} [message] - Error message when request body payload is improper
959
+ */
960
+
961
+ /**
962
+ * @typedef InventoryArticleAssignment
963
+ * @property {boolean} [post_order_reassignment] - Allow post order reassigment of article
964
+ * @property {ArticleAssignmentRule} [rules]
965
+ */
966
+
967
+ /**
968
+ * @typedef InventoryBrand
969
+ * @property {Object[]} [brands] - List of brands
970
+ * @property {string} [criteria] - All brands or specific (explicit) brands to
971
+ * be shown on the website
972
+ */
973
+
974
+ /**
975
+ * @typedef InventoryBrandRule
976
+ * @property {number[]} [brands]
977
+ * @property {string} [criteria] - Whether all brands are enabled, or explicitly
978
+ * few brands in the inventory
979
+ */
980
+
981
+ /**
982
+ * @typedef InventoryCategory
983
+ * @property {Object[]} [categories] - List of categories whose products will be
984
+ * shown on the website
985
+ * @property {string} [criteria]
986
+ */
987
+
988
+ /**
989
+ * @typedef InventoryDiscount
990
+ * @property {number} [max] - Maximum inventory discount
991
+ * @property {number} [min] - Minimum inventory discount
992
+ */
993
+
994
+ /**
995
+ * @typedef InventoryPaymentConfig
996
+ * @property {string} [mode_of_payment] - Mode of payment for the inventory of
997
+ * sales channel. It is required and default value is null.
998
+ * @property {string} [source] - Source of the payment mode for the inventory
999
+ * payment of sales channel. Default value is FYND.
1000
+ */
1001
+
1002
+ /**
1003
+ * @typedef InventoryPrice
1004
+ * @property {number} [max] - Maximum inventory price
1005
+ * @property {number} [min] - Minimum inventory price
1006
+ */
1007
+
1008
+ /**
1009
+ * @typedef InventoryStore
1010
+ * @property {string} [criteria] - All stores or specific (explicit) stores to
1011
+ * be shown on the website
1012
+ * @property {AppStoreRules} [rules]
1013
+ * @property {Object[]} [stores] - List of stores
1014
+ */
1015
+
1016
+ /**
1017
+ * @typedef InventoryStoreRule
1018
+ * @property {string} [criteria] - Whether all stores are enabled, or explicitly
1019
+ * few stores in the inventory, or use brands and company filter.
1020
+ * @property {StoreCriteriaRule[]} [rules] - List of rules with company and
1021
+ * brands uids. Used when critera is `filter`.
1022
+ * @property {number[]} [stores] - List of store uids. Used when critera is `explicit`.
1023
+ */
1024
+
1025
+ /**
1026
+ * @typedef InventoryValidator
1027
+ * @property {string} [browser_script] - Browser script for the inventory validator
1028
+ * @property {JsonSchema[]} [json_schema]
1029
+ */
1030
+
1031
+ /**
1032
+ * @typedef Ios
1033
+ * @property {string} [api_key] - Firebase secret credential API key for IOS
1034
+ * @property {string} [application_id] - Alphanumeric ID allotted to a sales
1035
+ * channel application created within a business account
1036
+ */
1037
+
1038
+ /**
1039
+ * @typedef JsonSchema
1040
+ * @property {string} [display] - Display text of the validator JSON schema. It
1041
+ * will show in the UI.
1042
+ * @property {string} [key] - Key related to the display text of the validator JSON schema
1043
+ * @property {string} [tooltip] - Tooltip text for the UI of the validator JSON
1044
+ * schema. It will show in the UI.
1045
+ * @property {string} [type] - Indicates the type of form field, e.g. Text, Dropdown.
1046
+ */
1047
+
1048
+ /**
1049
+ * @typedef LandingImage
1050
+ * @property {string} [aspect_ratio] - Width-to-height ratio of landing image
1051
+ * @property {string} [secure_url] - URL where the landing image is hosted
1052
+ */
1053
+
1054
+ /**
1055
+ * @typedef LandingPageFeature
1056
+ * @property {boolean} [continue_as_guest] - Shows whether a guest can checkout
1057
+ * from cart without logging in
1058
+ * @property {LaunchPage} [launch_page]
1059
+ * @property {string} [login_btn_text] - Shows the text displayed over the login button
1060
+ * @property {boolean} [show_domain_textbox] - Shows whether a textbox for
1061
+ * entering domain is available
1062
+ * @property {boolean} [show_register_btn] - Shows whether register button is
1063
+ * available in the login/landing page
1064
+ */
1065
+
1066
+ /**
1067
+ * @typedef LastPatch
1068
+ * @property {string} [op]
1069
+ * @property {string} [path]
1070
+ * @property {string} [value] - It can be inventory level or order level
1071
+ */
1072
+
1073
+ /**
1074
+ * @typedef LaunchPage
1075
+ * @property {string} [page_type] - Type of the launch page
1076
+ * @property {Object} [params] - Launch page params. It can be nullable.
1077
+ * @property {Object} [query] - Query related to launch page. It can be nullable.
1078
+ */
1079
+
1080
+ /**
1081
+ * @typedef LinkedInLink
1082
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
1083
+ * @property {string} [link] - Web URL of brand's LinkedIn channel
1084
+ * @property {string} [title] - Name of the social media platform, e.g. LinkedIn
1085
+ */
1086
+
1087
+ /**
1088
+ * @typedef Links
1089
+ * @property {string} [link] - Web URL for redirecting to a related page
1090
+ * @property {string} [title] - Name of the related page or link
1091
+ */
1092
+
1093
+ /**
1094
+ * @typedef ListingPriceFeature
1095
+ * @property {string} [sort] - Sorting of listing price with min or max value.
1096
+ * Default value is min.
1097
+ * @property {string} [value] - Shows which price to display on PLP if one
1098
+ * product has multiple prices (for each size), valid values are 'min', 'max',
1099
+ * 'range'. Default value is range.
1100
+ */
1101
+
1102
+ /**
1103
+ * @typedef LoyaltyPointsConfig
1104
+ * @property {boolean} [auto_apply] - Allow auto apply of loyalty points
1105
+ * @property {boolean} [enabled] - Shows loyalty points is enabled or not enabled
1106
+ */
1107
+
1108
+ /**
1109
+ * @typedef Methods
1110
+ * @property {PaymentModeConfig} [card]
1111
+ * @property {PaymentModeConfig} [cod]
1112
+ * @property {PaymentModeConfig} [fc]
1113
+ * @property {PaymentModeConfig} [jiopp]
1114
+ * @property {PaymentModeConfig} [jp]
1115
+ * @property {PaymentModeConfig} [juspaypg]
1116
+ * @property {PaymentModeConfig} [nb]
1117
+ * @property {PaymentModeConfig} [pac]
1118
+ * @property {PaymentModeConfig} [payubizpg]
1119
+ * @property {PaymentModeConfig} [payumoneypg]
1120
+ * @property {PaymentModeConfig} [pl]
1121
+ * @property {PaymentModeConfig} [pp]
1122
+ * @property {PaymentModeConfig} [ps]
1123
+ * @property {PaymentModeConfig} [qr]
1124
+ * @property {PaymentModeConfig} [rupifipg]
1125
+ * @property {PaymentModeConfig} [simpl]
1126
+ * @property {PaymentModeConfig} [stripepg]
1127
+ * @property {PaymentModeConfig} [upi]
1128
+ * @property {PaymentModeConfig} [wl]
1129
+ */
1130
+
1131
+ /**
1132
+ * @typedef MobileAppConfigRequest
1133
+ * @property {string} [app_name] - Name of the mobile app
1134
+ * @property {boolean} [is_active] - Shows update in mobile app config is active or not
1135
+ * @property {LandingImage} [landing_image]
1136
+ * @property {SplashImage} [splash_image]
1137
+ */
1138
+
1139
+ /**
1140
+ * @typedef MobileAppConfiguration
1141
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
1142
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
1143
+ * for mobile application configuration
1144
+ * @property {string} [app_name] - Name of the mobile app
1145
+ * @property {string} [application] - Application ID of the current sales channel
1146
+ * @property {string} [created_at] - ISO 8601 timestamp of application
1147
+ * configuration creation
1148
+ * @property {boolean} [is_active] - Indicates the availability of the mobile build
1149
+ * @property {LandingImage} [landing_image]
1150
+ * @property {string} [package_name] - Shows bundle identifier if device
1151
+ * platform is iOS, and directory of the app if device platform is Android
1152
+ * @property {string} [platform_type] - Device platform for which the mobile app
1153
+ * was built, e.g. android, ios.
1154
+ * @property {SplashImage} [splash_image]
1155
+ * @property {string} [updated_at] - ISO 8601 timestamp of last known
1156
+ * modifications to the app build
1157
+ */
1158
+
1159
+ /**
1160
+ * @typedef Moengage
1161
+ * @property {MoengageCredentials} [credentials]
1162
+ * @property {boolean} [enabled] - Shows whether MoEngage integation is enabled
1163
+ * or disabled for the sales channel
1164
+ */
1165
+
1166
+ /**
1167
+ * @typedef MoengageCredentials
1168
+ * @property {string} [app_id] - APP ID provided by MoEngage to identify a
1169
+ * specific app. The app_id for your MoEngage account is available on the
1170
+ * MoEngage Dashboard.
1171
+ */
1172
+
1173
+ /**
1174
+ * @typedef NotFound
1175
+ * @property {string} [message] - Response message for not found
1176
+ */
1177
+
1178
+ /**
1179
+ * @typedef OptedApplicationResponse
1180
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
1181
+ * of the other seller's sales channel
1182
+ * @property {OptedCompany} [company]
1183
+ * @property {string} [description] - Basic details about the other seller's sales channel
1184
+ * @property {string} [domain] - Domain URL of the other seller's sales channel
1185
+ * @property {string} [name] - Name of the other seller's sales channel
1186
+ * @property {OptOutInventory} [opt_out_inventory]
1187
+ * @property {OptedInventory} [opted_inventory]
1188
+ */
1189
+
1190
+ /**
1191
+ * @typedef OptedCompany
1192
+ * @property {string} [name] - Name of the company opted by the other seller's
1193
+ * sales channel in its inventory
1194
+ * @property {number} [uid] - Company UID opted by the other seller's sales
1195
+ * channel in its inventory. It has unique value for the company.
1196
+ */
1197
+
1198
+ /**
1199
+ * @typedef OptedInventory
1200
+ * @property {Object} [items]
1201
+ * @property {OptType} [opt_type]
1202
+ */
1203
+
1204
+ /**
1205
+ * @typedef OptedStore
1206
+ * @property {string} [_id] - The unique identifier of the opted inventory store
1207
+ * @property {OptedStoreAddress} [address]
1208
+ * @property {number} [company_id] - Company ID of the opted inventory store
1209
+ * @property {string} [display_name] - Display name of the opted inventory store
1210
+ * @property {string} [modified_on] - ISO 8601 timestamp of opted inventory store creation
1211
+ * @property {string} [name] - Name of the inventory store opted by other
1212
+ * seller's application
1213
+ * @property {string} [store_code] - Store code of the opted inventory store. It
1214
+ * is unique for every store.
1215
+ * @property {string} [store_type] - Store type of the opted inventory store
1216
+ * like warehouse, high_street, mall.
1217
+ * @property {number} [uid] - UID of opted inventory store
1218
+ */
1219
+
1220
+ /**
1221
+ * @typedef OptedStoreAddress
1222
+ * @property {string} [address1] - Address of the opted store
1223
+ * @property {string} [address2] - Address of the opted store
1224
+ * @property {string} [city] - City of the opted store, e.g. Mumbai
1225
+ * @property {string} [country] - Country of the opted store, e.g. India
1226
+ * @property {StoreLatLong} [lat_long]
1227
+ * @property {number} [pincode] - 6-digit PIN code of the opted store location
1228
+ * @property {string} [state] - State of the opted store, e.g. Maharashtra
1229
+ */
1230
+
1231
+ /**
1232
+ * @typedef OptedStoreIntegration
1233
+ * @property {OtherEntity} [other_entity]
1234
+ * @property {IntegrationOptIn} [other_integration]
1235
+ * @property {boolean} [other_opted] - Allow user to opt same store in other integration
1236
+ */
1237
+
1238
+ /**
1239
+ * @typedef OptOutInventory
1240
+ * @property {number[]} company - List of companies opted out from the inventory
1241
+ * of other seller's application
1242
+ * @property {number[]} store - List of selling locations (stores) opted out
1243
+ * from the inventory of other seller's application
1244
+ */
1245
+
1246
+ /**
1247
+ * @typedef OptType
1248
+ * @property {string} [display] - Display text of opted type for inventory store
1249
+ * @property {string} [key] - Opted type of inventory store. It can be store or company.
1250
+ */
1251
+
1252
+ /**
1253
+ * @typedef OrderFeature
1254
+ * @property {boolean} [buy_again] - Allow buy again option for order. Default
1255
+ * value is false.
1256
+ */
1257
+
1258
+ /**
1259
+ * @typedef OrderingStore
1260
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
1261
+ * of the ordering store
1262
+ * @property {OptedStoreAddress} [address]
1263
+ * @property {string} [code] - Code of the ordering store (usually same as Store Code)
1264
+ * @property {string} [display_name] - Display name of the ordering store
1265
+ * @property {string} [name] - Store name of the ordering store
1266
+ * @property {number} [pincode] - 6-digit PIN Code of the ordering store, e.g. 400001
1267
+ * @property {string} [store_code] - Store code of the ordering store, e.g. MUM-102
1268
+ * @property {string} [store_type] - Store type of the ordering store, e.g.
1269
+ * high_street, mall, warehouse
1270
+ * @property {number} [uid] - Ordering store UID
1271
+ */
1272
+
1273
+ /**
1274
+ * @typedef OrderingStoreConfig
1275
+ * @property {DeploymentMeta} [deployment_meta]
1276
+ */
1277
+
1278
+ /**
1279
+ * @typedef OrderingStores
1280
+ * @property {number} [__v] - Version key for tracking ordering stores. Default
1281
+ * value is zero.
1282
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
1283
+ * of the ordering store
1284
+ * @property {boolean} [all_stores] - Allow all stores of the ordering stores
1285
+ * @property {string} [app] - Alphanumeric ID allotted to an application (sales
1286
+ * channel website) created within a business account
1287
+ * @property {number[]} [deployed_stores]
1288
+ * @property {boolean} [enabled] - Allow ordering stores for current sales channel
1289
+ * @property {OrderingStore[]} [items]
1290
+ * @property {Page} [page]
1291
+ * @property {string} [type] - For hard type delivery, store selection is
1292
+ * compulsory. For soft type, delivery store selection is optional.
1293
+ */
1294
+
1295
+ /**
1296
+ * @typedef OrderingStoresResponse
1297
+ * @property {OrderingStore[]} [items]
1298
+ * @property {Page} [page]
1299
+ */
1300
+
1301
+ /**
1302
+ * @typedef OrderValidator
1303
+ * @property {string} [browser_script] - Browser script for the order validator
1304
+ * @property {JsonSchema[]} [json_schema]
1305
+ */
1306
+
1307
+ /**
1308
+ * @typedef OtherEntity
1309
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
1310
+ * @property {string} [_id] - The unique identifier of the other entity for
1311
+ * opted store integration
1312
+ * @property {string} [created_at] - ISO 8601 timestamp of other entity creation
1313
+ * for opted store integration
1314
+ * @property {OtherEntityData} [data]
1315
+ * @property {string} [integration] - Integration ID. Shows which integration
1316
+ * you are enabling.
1317
+ * @property {LastPatch[]} [last_patch]
1318
+ * @property {string} [level] - Indicates integration level. It can be company
1319
+ * level or store level.
1320
+ * @property {Object[]} [meta]
1321
+ * @property {boolean} [opted] - Allow other entity opted in integration
1322
+ * @property {string[]} [permissions]
1323
+ * @property {string} [token] - Randomly generated fixed-length string for opted
1324
+ * integration. It is auto-generated. It would never change once it is generated.
1325
+ * @property {number} [uid] - It can be store uid or company uid. Depends on the
1326
+ * level of integration.
1327
+ * @property {string} [updated_at] - ISO 8601 timestamp of other entity updation
1328
+ * for opted store integration
1329
+ */
1330
+
1331
+ /**
1332
+ * @typedef OtherEntityData
1333
+ * @property {string} [article_identifier]
1334
+ */
1335
+
1336
+ /**
1337
+ * @typedef OtherSellerApplication
1338
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
1339
+ * of the other seller's sales channel
1340
+ * @property {OtherSellerCompany} [company]
1341
+ * @property {string} [description] - Basic details about the other seller's sales channel
1342
+ * @property {string} [domain] - Domain URL of the other seller's sales channel
1343
+ * @property {string} [name] - Name of the other seller's sales channel
1344
+ * @property {string} [opt_type] - Inventory opted by the other seller's sales
1345
+ * channel. It can be the current company or stores in the current company.
1346
+ */
1347
+
1348
+ /**
1349
+ * @typedef OtherSellerApplications
1350
+ * @property {OtherSellerApplication[]} [items]
1351
+ * @property {Page} [page]
1352
+ */
1353
+
1354
+ /**
1355
+ * @typedef OtherSellerCompany
1356
+ * @property {string} [name] - Name of the seller company
1357
+ * @property {number} [uid] - Uid of the seller company
1358
+ */
1359
+
1360
+ /**
1361
+ * @typedef Page
1362
+ * @property {number} [current]
1363
+ * @property {boolean} [has_next]
1364
+ * @property {boolean} [has_previous]
1365
+ * @property {number} [item_total]
1366
+ * @property {string} [next_id]
1367
+ * @property {number} [size]
1368
+ * @property {string} type
1369
+ */
1370
+
1371
+ /**
1372
+ * @typedef PanCardConfig
1373
+ * @property {number} [cod_threshold_amount] - On which COD order amount pan
1374
+ * card number is expected from customer for order
1375
+ * @property {boolean} [enabled] - If pan card accepting is enabled on cart
1376
+ * @property {number} [online_threshold_amount] - On which online payment order
1377
+ * amount pan card number is expected from customer for order
1378
+ */
1379
+
1380
+ /**
1381
+ * @typedef PaymentModeConfig
1382
+ * @property {boolean} [enabled] - Shows if a given payment method is enabled or
1383
+ * not, e.g. if 'nb' is enabled, customer can use NetBanking for payment.
1384
+ */
1385
+
1386
+ /**
1387
+ * @typedef PaymentSelectionLock
1388
+ * @property {string} [default_options] - Shows default payment method, e.g. COD
1389
+ * @property {boolean} [enabled] - Shows whether payment mode is restricted to a
1390
+ * specific option, e.g. 'HDFC Netbanking'
1391
+ * @property {string} [payment_identifier] - Payment method chosen from default
1392
+ * options, e.g. COD
1393
+ */
1394
+
1395
+ /**
1396
+ * @typedef PcrFeature
1397
+ * @property {boolean} [staff_selection] - Allow staff selection. Default value is false.
1398
+ */
1399
+
1400
+ /**
1401
+ * @typedef PinterestLink
1402
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
1403
+ * @property {string} [link] - Web URL of brand's Pinterest page
1404
+ * @property {string} [title] - Name of the social media platform, e.g. Pinterest
1405
+ */
1406
+
1407
+ /**
1408
+ * @typedef ProductDetailFeature
1409
+ * @property {boolean} [request_product] - Indicates whether customers can
1410
+ * request for a product. Default value is false.
1411
+ * @property {boolean} [seller_selection] - Shows whether the customers can
1412
+ * choose the seller on PDP
1413
+ * @property {string[]} [similar] - Configuration to show similar products,
1414
+ * other products from same seller, other products in same category, other
1415
+ * products in same price range, etc.
1416
+ * @property {boolean} [update_product_meta] - Allow user to update product
1417
+ * meta. Default value is true.
1418
+ */
1419
+
1420
+ /**
1421
+ * @typedef QrFeature
1422
+ * @property {boolean} [application] - Shows whether sharing of mobile app via
1423
+ * QR code is allowed. Default value is false.
1424
+ * @property {boolean} [collections] - Shows whether sharing collection via QR
1425
+ * code is allowed. Default value is false.
1426
+ * @property {boolean} [products] - Shows whether sharing product via QR code is
1427
+ * allowed. Default value is false.
1428
+ */
1429
+
1430
+ /**
1431
+ * @typedef RegistrationPageFeature
1432
+ * @property {boolean} [ask_store_address] - Shows whether a form to collect the
1433
+ * address of the store, should be displayed upon visiting the website
1434
+ */
1435
+
1436
+ /**
1437
+ * @typedef RevenueEngineFeature
1438
+ * @property {boolean} [enabled] - Enable revenue engine. Default value is false.
1439
+ */
1440
+
1441
+ /**
1442
+ * @typedef RewardPointsConfig
1443
+ * @property {Credit} [credit]
1444
+ * @property {Debit} [debit]
1445
+ */
1446
+
1447
+ /**
1448
+ * @typedef Safetynet
1449
+ * @property {SafetynetCredentials} [credentials]
1450
+ * @property {boolean} [enabled] - Shows whether Safetynet integration is
1451
+ * enabled or disabled for the sales channel
1452
+ */
1453
+
1454
+ /**
1455
+ * @typedef SafetynetCredentials
1456
+ * @property {string} [api_key] - Secret credential API key for Safetynet. This
1457
+ * API key is used for calling the methods of Safetynet APIs.
1458
+ */
1459
+
1460
+ /**
1461
+ * @typedef SecureUrl
1462
+ * @property {string} [secure_url] - Hosted URL of the image
1463
+ */
1464
+
1465
+ /**
1466
+ * @typedef Segment
1467
+ * @property {SegmentCredentials} [credentials]
1468
+ * @property {boolean} [enabled] - Shows whether Segment integration is enabled
1469
+ * or disabled for the sales channel
1470
+ */
1471
+
1472
+ /**
1473
+ * @typedef SegmentCredentials
1474
+ * @property {string} [write_key] - The unique identifier for a source that
1475
+ * tells Segment from which source data is coming from, to which workspace the
1476
+ * data belongs, and which destinations should receive the data.
1477
+ */
1478
+
1479
+ /**
1480
+ * @typedef SocialLinks
1481
+ * @property {BlogLink} [blog_link]
1482
+ * @property {FacebookLink} [facebook]
1483
+ * @property {GooglePlusLink} [google_plus]
1484
+ * @property {InstagramLink} [instagram]
1485
+ * @property {LinkedInLink} [linked_in]
1486
+ * @property {PinterestLink} [pinterest]
1487
+ * @property {TwitterLink} [twitter]
1488
+ * @property {VimeoLink} [vimeo]
1489
+ * @property {YoutubeLink} [youtube]
1490
+ */
1491
+
1492
+ /**
1493
+ * @typedef SplashImage
1494
+ * @property {string} [aspect_ratio] - Width-to-height ratio of splash image
1495
+ * @property {string} [secure_url] - URL where the splash image is hosted
1496
+ */
1497
+
1498
+ /**
1499
+ * @typedef StoreByBrandsRequest
1500
+ * @property {number} brands - Brand UID
1501
+ * @property {number} [company_id] - Current company ID for current company
1502
+ * stores only. Don't send in case cross-selling (franchise) is enabled.
1503
+ * @property {string} [search_text] - Search store by its name or store code
1504
+ */
1505
+
1506
+ /**
1507
+ * @typedef StoreByBrandsResponse
1508
+ * @property {BrandStoreInfo[]} [items]
1509
+ * @property {Page} [page]
1510
+ */
1511
+
1512
+ /**
1513
+ * @typedef StoreCriteriaRule
1514
+ * @property {number[]} [brands] - List of brand UID
1515
+ * @property {number[]} [companies] - List of company UID
1516
+ */
1517
+
1518
+ /**
1519
+ * @typedef StoreLatLong
1520
+ * @property {number[]} [coordinates]
1521
+ * @property {string} [type] - Coordinates type of the opted store
1522
+ */
1523
+
1524
+ /**
1525
+ * @typedef StorePriority
1526
+ * @property {boolean} [enabled] - Shows store priority is enabled or disabled
1527
+ * for assignment of article
1528
+ * @property {Object[]} [storetype_order] - List of store types for article
1529
+ * assignment e.g. warehouse, mall, highstreet
1530
+ */
1531
+
1532
+ /**
1533
+ * @typedef StorePriorityRule
1534
+ * @property {boolean} [enabled] - Shows store priority is enabled or not
1535
+ * enabled for the article assignment.
1536
+ * @property {string[]} [storetype_order]
1537
+ */
1538
+
1539
+ /**
1540
+ * @typedef StoresResponse
1541
+ * @property {AppInventoryStores} [items]
1542
+ * @property {Page} [page]
1543
+ */
1544
+
1545
+ /**
1546
+ * @typedef StoreValidator
1547
+ * @property {string} [browser_script] - Browser script for the store validator
1548
+ * @property {JsonSchema[]} [json_schema]
1549
+ */
1550
+
1551
+ /**
1552
+ * @typedef SuccessMessageResponse
1553
+ * @property {string} [message] - Success message shown to the user (in a string format)
1554
+ * @property {boolean} [success] - Shows whether domain was deleted successfully
1555
+ */
1556
+
1557
+ /**
1558
+ * @typedef TokenResponse
1559
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
1560
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
1561
+ * of the token
1562
+ * @property {string} [application] - Alphanumeric ID allotted to the current
1563
+ * application created within the current business account
1564
+ * @property {string} [created_at] - ISO 8601 timestamp of token creation
1565
+ * @property {Tokens} [tokens]
1566
+ * @property {string} [updated_at] - ISO 8601 timestamp of token updation
1567
+ */
1568
+
1569
+ /**
1570
+ * @typedef Tokens
1571
+ * @property {Firebase} [firebase]
1572
+ * @property {Freshchat} [freshchat]
1573
+ * @property {FyndRewards} [fynd_rewards]
1574
+ * @property {GoogleMap} [google_map]
1575
+ * @property {Gtm} [gtm]
1576
+ * @property {Moengage} [moengage]
1577
+ * @property {Safetynet} [safetynet]
1578
+ * @property {Segment} [segment]
1579
+ */
1580
+
1581
+ /**
1582
+ * @typedef TwitterLink
1583
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
1584
+ * @property {string} [link] - Web URL of brand's Twitter account
1585
+ * @property {string} [title] - Name of the social media platform, e.g. Twitter
1586
+ */
1587
+
1588
+ /**
1589
+ * @typedef UnhandledError
1590
+ * @property {string} [message]
1591
+ */
1592
+
1593
+ /**
1594
+ * @typedef UpdateDomain
1595
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
1596
+ * of the domain
1597
+ * @property {boolean} [is_primary] - Domain is primary or not (indicates if the
1598
+ * domain has been made the main URL of the sales channel)
1599
+ * @property {boolean} [is_shortlink] - Indicates if the domain is a short link
1600
+ * domain (short URL e.g. bit.ly)
1601
+ * @property {string} [name] - Full domain name, e.g. zenz.com
1602
+ * @property {boolean} [verified] - Domain is verified or not (indicates if A
1603
+ * records and TXT records are correct)
1604
+ */
1605
+
1606
+ /**
1607
+ * @typedef UpdateDomainTypeRequest
1608
+ * @property {string} [action] - Shows domain is made primary domain for the
1609
+ * sales channel or shorlink is created for the sales channel domain
1610
+ * @property {UpdateDomain} [domain]
1611
+ */
1612
+
1613
+ /**
1614
+ * @typedef UpdateIntegrationLevelRequest
1615
+ * @property {IntegrationLevel[]} [items]
1616
+ */
1617
+
1618
+ /**
1619
+ * @typedef UserEmail
1620
+ * @property {boolean} [active] - Current email is active or not active
1621
+ * @property {string} [email] - Email address of the user
1622
+ * @property {boolean} [primary] - Indicates current email is primay email or
1623
+ * not primary email of user
1624
+ * @property {boolean} [verified] - Indicates current email is verified email or
1625
+ * not verified email
1626
+ */
1627
+
1628
+ /**
1629
+ * @typedef UserPhoneNumber
1630
+ * @property {boolean} [active] - Current phone number is active or not active
1631
+ * @property {number} [country_code] - Country code, e.g. +91
1632
+ * @property {string} [phone] - Phone number of the user
1633
+ * @property {boolean} [primary] - Indicates current phone number is primay or
1634
+ * not primary of user
1635
+ * @property {boolean} [verified] - Indicates current phone number is verified
1636
+ * or not verified
1637
+ */
1638
+
1639
+ /**
1640
+ * @typedef ValidationFailedResponse
1641
+ * @property {string} [message] - Response message for failed validation
1642
+ */
1643
+
1644
+ /**
1645
+ * @typedef Validators
1646
+ * @property {CompanyValidator} [company]
1647
+ * @property {InventoryValidator} [inventory]
1648
+ * @property {OrderValidator} [order]
1649
+ * @property {StoreValidator} [store]
1650
+ */
1651
+
1652
+ /**
1653
+ * @typedef VimeoLink
1654
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
1655
+ * @property {string} [link] - Web URL of brand's Vimeo channel
1656
+ * @property {string} [title] - Name of the video hosting platform, e.g. Vimeo
1657
+ */
1658
+
1659
+ /**
1660
+ * @typedef YoutubeLink
1661
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
1662
+ * @property {string} [link] - Web URL of brand's YouTube channel
1663
+ * @property {string} [title] - Name of the social media platform, e.g. YouTube
1664
+ */
1665
+
1666
+ class ConfigurationPlatformModel {
1667
+ /** @returns {Android} */
4
1668
  static Android() {
5
1669
  return Joi.object({
6
1670
  api_key: Joi.string().allow(""),
7
1671
  application_id: Joi.string().allow(""),
8
1672
  });
9
1673
  }
1674
+
1675
+ /** @returns {App} */
10
1676
  static App() {
11
1677
  return Joi.object({
12
- auth: ConfigurationModel.ApplicationAuth(),
1678
+ auth: ConfigurationPlatformModel.ApplicationAuth(),
13
1679
  channel_type: Joi.string().allow(""),
14
1680
  company_id: Joi.string().allow(""),
15
1681
  desc: Joi.string().allow(""),
16
1682
  name: Joi.string().allow(""),
17
1683
  });
18
1684
  }
1685
+
1686
+ /** @returns {AppCartConfig} */
19
1687
  static AppCartConfig() {
20
1688
  return Joi.object({
21
1689
  bulk_coupons: Joi.boolean(),
22
- delivery_charges: ConfigurationModel.DeliveryCharges(),
1690
+ delivery_charges: ConfigurationPlatformModel.DeliveryCharges(),
23
1691
  enabled: Joi.boolean(),
24
1692
  max_cart_items: Joi.number(),
25
1693
  min_cart_value: Joi.number(),
26
- pan_card: ConfigurationModel.PanCardConfig(),
1694
+ pan_card: ConfigurationPlatformModel.PanCardConfig(),
27
1695
  revenue_engine_coupon: Joi.boolean(),
28
1696
  });
29
1697
  }
1698
+
1699
+ /** @returns {AppCurrencyResponse} */
30
1700
  static AppCurrencyResponse() {
31
1701
  return Joi.object({
32
1702
  application: Joi.string().allow(""),
33
- default_currency: ConfigurationModel.DefaultCurrency(),
34
- supported_currency: Joi.array().items(ConfigurationModel.Currency()),
1703
+ default_currency: ConfigurationPlatformModel.DefaultCurrency(),
1704
+ supported_currency: Joi.array().items(
1705
+ ConfigurationPlatformModel.Currency()
1706
+ ),
35
1707
  });
36
1708
  }
1709
+
1710
+ /** @returns {AppDomain} */
37
1711
  static AppDomain() {
38
1712
  return Joi.object({
39
1713
  name: Joi.string().allow(""),
40
1714
  });
41
1715
  }
1716
+
1717
+ /** @returns {AppFeature} */
42
1718
  static AppFeature() {
43
1719
  return Joi.object({
44
1720
  __v: Joi.number(),
45
1721
  _id: Joi.string().allow(""),
46
1722
  app: Joi.string().allow(""),
47
- cart: ConfigurationModel.CartFeature(),
48
- common: ConfigurationModel.CommonFeature(),
1723
+ cart: ConfigurationPlatformModel.CartFeature(),
1724
+ common: ConfigurationPlatformModel.CommonFeature(),
49
1725
  created_at: Joi.string().allow(""),
50
- home_page: ConfigurationModel.HomePageFeature(),
51
- landing_page: ConfigurationModel.LandingPageFeature(),
52
- order: ConfigurationModel.OrderFeature(),
53
- pcr: ConfigurationModel.PcrFeature(),
54
- product_detail: ConfigurationModel.ProductDetailFeature(),
55
- qr: ConfigurationModel.QrFeature(),
56
- registration_page: ConfigurationModel.RegistrationPageFeature(),
1726
+ home_page: ConfigurationPlatformModel.HomePageFeature(),
1727
+ landing_page: ConfigurationPlatformModel.LandingPageFeature(),
1728
+ order: ConfigurationPlatformModel.OrderFeature(),
1729
+ pcr: ConfigurationPlatformModel.PcrFeature(),
1730
+ product_detail: ConfigurationPlatformModel.ProductDetailFeature(),
1731
+ qr: ConfigurationPlatformModel.QrFeature(),
1732
+ registration_page: ConfigurationPlatformModel.RegistrationPageFeature(),
57
1733
  updated_at: Joi.string().allow(""),
58
1734
  });
59
1735
  }
1736
+
1737
+ /** @returns {AppFeatureRequest} */
60
1738
  static AppFeatureRequest() {
61
1739
  return Joi.object({
62
- feature: ConfigurationModel.AppFeature(),
1740
+ feature: ConfigurationPlatformModel.AppFeature(),
63
1741
  });
64
1742
  }
1743
+
1744
+ /** @returns {AppFeatureResponse} */
65
1745
  static AppFeatureResponse() {
66
1746
  return Joi.object({
67
- feature: ConfigurationModel.AppFeature(),
1747
+ feature: ConfigurationPlatformModel.AppFeature(),
68
1748
  });
69
1749
  }
1750
+
1751
+ /** @returns {AppInventory} */
70
1752
  static AppInventory() {
71
1753
  return Joi.object({
72
- article_assignment: ConfigurationModel.InventoryArticleAssignment(),
73
- brand: ConfigurationModel.InventoryBrandRule(),
1754
+ article_assignment: ConfigurationPlatformModel.InventoryArticleAssignment(),
1755
+ brand: ConfigurationPlatformModel.InventoryBrandRule(),
74
1756
  franchise_enabled: Joi.boolean(),
75
1757
  image: Joi.array().items(Joi.string().allow("")),
76
1758
  only_verified_products: Joi.boolean(),
77
1759
  out_of_stock: Joi.boolean(),
78
- payment: ConfigurationModel.InventoryPaymentConfig(),
79
- store: ConfigurationModel.InventoryStoreRule(),
1760
+ payment: ConfigurationPlatformModel.InventoryPaymentConfig(),
1761
+ store: ConfigurationPlatformModel.InventoryStoreRule(),
80
1762
  });
81
1763
  }
1764
+
1765
+ /** @returns {AppInventoryCompanies} */
82
1766
  static AppInventoryCompanies() {
83
1767
  return Joi.object({
84
1768
  company_type: Joi.string().allow(""),
@@ -86,31 +1770,37 @@ class ConfigurationModel {
86
1770
  uid: Joi.number(),
87
1771
  });
88
1772
  }
1773
+
1774
+ /** @returns {AppInventoryConfig} */
89
1775
  static AppInventoryConfig() {
90
1776
  return Joi.object({
91
- brand: ConfigurationModel.InventoryBrand(),
92
- category: ConfigurationModel.InventoryCategory(),
1777
+ brand: ConfigurationPlatformModel.InventoryBrand(),
1778
+ category: ConfigurationPlatformModel.InventoryCategory(),
93
1779
  company_store: Joi.array().items(Joi.any()),
94
- discount: ConfigurationModel.InventoryDiscount(),
1780
+ discount: ConfigurationPlatformModel.InventoryDiscount(),
95
1781
  exclude_category: Joi.array().items(Joi.any()),
96
1782
  franchise_enabled: Joi.boolean(),
97
1783
  image: Joi.array().items(Joi.string().allow("")),
98
1784
  only_verified_products: Joi.boolean(),
99
1785
  out_of_stock: Joi.boolean(),
100
- price: ConfigurationModel.InventoryPrice(),
101
- store: ConfigurationModel.InventoryStore(),
1786
+ price: ConfigurationPlatformModel.InventoryPrice(),
1787
+ store: ConfigurationPlatformModel.InventoryStore(),
102
1788
  });
103
1789
  }
1790
+
1791
+ /** @returns {AppInventoryPartialUpdate} */
104
1792
  static AppInventoryPartialUpdate() {
105
1793
  return Joi.object({
106
- cart: ConfigurationModel.AppCartConfig(),
1794
+ cart: ConfigurationPlatformModel.AppCartConfig(),
107
1795
  comms_enabled: Joi.boolean(),
108
- communication: ConfigurationModel.CommunicationConfig(),
109
- loyalty_points: ConfigurationModel.LoyaltyPointsConfig(),
110
- payment: ConfigurationModel.AppPaymentConfig(),
111
- reward_points: ConfigurationModel.RewardPointsConfig(),
1796
+ communication: ConfigurationPlatformModel.CommunicationConfig(),
1797
+ loyalty_points: ConfigurationPlatformModel.LoyaltyPointsConfig(),
1798
+ payment: ConfigurationPlatformModel.AppPaymentConfig(),
1799
+ reward_points: ConfigurationPlatformModel.RewardPointsConfig(),
112
1800
  });
113
1801
  }
1802
+
1803
+ /** @returns {AppInventoryStores} */
114
1804
  static AppInventoryStores() {
115
1805
  return Joi.object({
116
1806
  _id: Joi.string().allow(""),
@@ -123,104 +1813,120 @@ class ConfigurationModel {
123
1813
  uid: Joi.number(),
124
1814
  });
125
1815
  }
1816
+
1817
+ /** @returns {Application} */
126
1818
  static Application() {
127
1819
  return Joi.object({
128
1820
  __v: Joi.number(),
129
1821
  _id: Joi.string().allow(""),
130
1822
  app_type: Joi.string().allow(""),
131
- auth: ConfigurationModel.ApplicationAuth(),
132
- banner: ConfigurationModel.SecureUrl(),
1823
+ auth: ConfigurationPlatformModel.ApplicationAuth(),
1824
+ banner: ConfigurationPlatformModel.SecureUrl(),
133
1825
  cache_ttl: Joi.number(),
134
1826
  channel_type: Joi.string().allow(""),
135
1827
  company_id: Joi.number(),
136
- cors: ConfigurationModel.ApplicationCors(),
1828
+ cors: ConfigurationPlatformModel.ApplicationCors(),
137
1829
  created_at: Joi.string().allow(""),
138
1830
  description: Joi.string().allow(""),
139
- domain: ConfigurationModel.Domain(),
140
- domains: Joi.array().items(ConfigurationModel.Domain()),
141
- favicon: ConfigurationModel.SecureUrl(),
1831
+ domain: ConfigurationPlatformModel.Domain(),
1832
+ domains: Joi.array().items(ConfigurationPlatformModel.Domain()),
1833
+ favicon: ConfigurationPlatformModel.SecureUrl(),
142
1834
  is_active: Joi.boolean(),
143
1835
  is_internal: Joi.boolean(),
144
- logo: ConfigurationModel.SecureUrl(),
145
- meta: Joi.array().items(ConfigurationModel.ApplicationMeta()),
146
- mobile_logo: ConfigurationModel.SecureUrl(),
1836
+ logo: ConfigurationPlatformModel.SecureUrl(),
1837
+ meta: Joi.array().items(ConfigurationPlatformModel.ApplicationMeta()),
1838
+ mobile_logo: ConfigurationPlatformModel.SecureUrl(),
147
1839
  name: Joi.string().allow(""),
148
1840
  owner: Joi.string().allow(""),
149
1841
  redirections: Joi.array().items(
150
- ConfigurationModel.ApplicationRedirections()
1842
+ ConfigurationPlatformModel.ApplicationRedirections()
151
1843
  ),
152
1844
  slug: Joi.string().allow(""),
153
1845
  token: Joi.string().allow(""),
154
1846
  updated_at: Joi.string().allow(""),
155
- website: ConfigurationModel.ApplicationWebsite(),
1847
+ website: ConfigurationPlatformModel.ApplicationWebsite(),
156
1848
  });
157
1849
  }
1850
+
1851
+ /** @returns {ApplicationAuth} */
158
1852
  static ApplicationAuth() {
159
1853
  return Joi.object({
160
1854
  enabled: Joi.boolean(),
161
1855
  });
162
1856
  }
1857
+
1858
+ /** @returns {ApplicationCors} */
163
1859
  static ApplicationCors() {
164
1860
  return Joi.object({
165
1861
  domains: Joi.array().items(Joi.string().allow("")),
166
1862
  });
167
1863
  }
1864
+
1865
+ /** @returns {ApplicationDetail} */
168
1866
  static ApplicationDetail() {
169
1867
  return Joi.object({
170
1868
  _id: Joi.string().allow(""),
171
- banner: ConfigurationModel.SecureUrl(),
1869
+ banner: ConfigurationPlatformModel.SecureUrl(),
172
1870
  description: Joi.string().allow(""),
173
- domain: ConfigurationModel.Domain(),
174
- domains: Joi.array().items(ConfigurationModel.Domain()),
175
- favicon: ConfigurationModel.SecureUrl(),
176
- logo: ConfigurationModel.SecureUrl(),
177
- mobile_logo: ConfigurationModel.SecureUrl(),
1871
+ domain: ConfigurationPlatformModel.Domain(),
1872
+ domains: Joi.array().items(ConfigurationPlatformModel.Domain()),
1873
+ favicon: ConfigurationPlatformModel.SecureUrl(),
1874
+ logo: ConfigurationPlatformModel.SecureUrl(),
1875
+ mobile_logo: ConfigurationPlatformModel.SecureUrl(),
178
1876
  name: Joi.string().allow("").required(),
179
1877
  });
180
1878
  }
1879
+
1880
+ /** @returns {ApplicationInformation} */
181
1881
  static ApplicationInformation() {
182
1882
  return Joi.object({
183
1883
  __v: Joi.number(),
184
1884
  _id: Joi.string().allow(""),
185
- address: ConfigurationModel.InformationAddress(),
1885
+ address: ConfigurationPlatformModel.InformationAddress(),
186
1886
  application: Joi.string().allow(""),
187
- business_highlights: ConfigurationModel.BusinessHighlights(),
1887
+ business_highlights: ConfigurationPlatformModel.BusinessHighlights(),
188
1888
  copyright_text: Joi.string().allow(""),
189
1889
  created_at: Joi.string().allow(""),
190
- links: Joi.array().items(ConfigurationModel.Links()),
191
- social_links: ConfigurationModel.SocialLinks(),
192
- support: ConfigurationModel.InformationSupport(),
1890
+ links: Joi.array().items(ConfigurationPlatformModel.Links()),
1891
+ social_links: ConfigurationPlatformModel.SocialLinks(),
1892
+ support: ConfigurationPlatformModel.InformationSupport(),
193
1893
  updated_at: Joi.string().allow(""),
194
1894
  });
195
1895
  }
1896
+
1897
+ /** @returns {ApplicationInventory} */
196
1898
  static ApplicationInventory() {
197
1899
  return Joi.object({
198
1900
  _id: Joi.string().allow(""),
199
1901
  app: Joi.string().allow(""),
200
- article_assignment: ConfigurationModel.ArticleAssignmentConfig(),
201
- authentication: ConfigurationModel.AuthenticationConfig(),
1902
+ article_assignment: ConfigurationPlatformModel.ArticleAssignmentConfig(),
1903
+ authentication: ConfigurationPlatformModel.AuthenticationConfig(),
202
1904
  business: Joi.string().allow(""),
203
- cart: ConfigurationModel.AppCartConfig(),
1905
+ cart: ConfigurationPlatformModel.AppCartConfig(),
204
1906
  comms_enabled: Joi.boolean(),
205
- communication: ConfigurationModel.CommunicationConfig(),
1907
+ communication: ConfigurationPlatformModel.CommunicationConfig(),
206
1908
  created_at: Joi.string().allow(""),
207
- inventory: ConfigurationModel.AppInventoryConfig(),
208
- logistics: ConfigurationModel.AppLogisticsConfig(),
209
- loyalty_points: ConfigurationModel.LoyaltyPointsConfig(),
1909
+ inventory: ConfigurationPlatformModel.AppInventoryConfig(),
1910
+ logistics: ConfigurationPlatformModel.AppLogisticsConfig(),
1911
+ loyalty_points: ConfigurationPlatformModel.LoyaltyPointsConfig(),
210
1912
  modified_by: Joi.string().allow(""),
211
- order: ConfigurationModel.AppOrderConfig(),
212
- payment: ConfigurationModel.AppPaymentConfig(),
1913
+ order: ConfigurationPlatformModel.AppOrderConfig(),
1914
+ payment: ConfigurationPlatformModel.AppPaymentConfig(),
213
1915
  platforms: Joi.array().items(Joi.string().allow("")),
214
- reward_points: ConfigurationModel.RewardPointsConfig(),
1916
+ reward_points: ConfigurationPlatformModel.RewardPointsConfig(),
215
1917
  updated_at: Joi.string().allow(""),
216
1918
  });
217
1919
  }
1920
+
1921
+ /** @returns {ApplicationMeta} */
218
1922
  static ApplicationMeta() {
219
1923
  return Joi.object({
220
1924
  name: Joi.string().allow(""),
221
1925
  value: Joi.string().allow(""),
222
1926
  });
223
1927
  }
1928
+
1929
+ /** @returns {ApplicationRedirections} */
224
1930
  static ApplicationRedirections() {
225
1931
  return Joi.object({
226
1932
  redirect_from: Joi.string().allow(""),
@@ -228,18 +1934,24 @@ class ConfigurationModel {
228
1934
  type: Joi.string().allow(""),
229
1935
  });
230
1936
  }
1937
+
1938
+ /** @returns {ApplicationsResponse} */
231
1939
  static ApplicationsResponse() {
232
1940
  return Joi.object({
233
- items: Joi.array().items(ConfigurationModel.Application()),
234
- page: ConfigurationModel.Page(),
1941
+ items: Joi.array().items(ConfigurationPlatformModel.Application()),
1942
+ page: ConfigurationPlatformModel.Page(),
235
1943
  });
236
1944
  }
1945
+
1946
+ /** @returns {ApplicationWebsite} */
237
1947
  static ApplicationWebsite() {
238
1948
  return Joi.object({
239
1949
  basepath: Joi.string().allow(""),
240
1950
  enabled: Joi.boolean(),
241
1951
  });
242
1952
  }
1953
+
1954
+ /** @returns {AppLogisticsConfig} */
243
1955
  static AppLogisticsConfig() {
244
1956
  return Joi.object({
245
1957
  dp_assignment: Joi.boolean(),
@@ -248,6 +1960,8 @@ class ConfigurationModel {
248
1960
  serviceability_check: Joi.boolean(),
249
1961
  });
250
1962
  }
1963
+
1964
+ /** @returns {AppOrderConfig} */
251
1965
  static AppOrderConfig() {
252
1966
  return Joi.object({
253
1967
  enabled: Joi.boolean(),
@@ -255,57 +1969,73 @@ class ConfigurationModel {
255
1969
  message: Joi.string().allow(""),
256
1970
  });
257
1971
  }
1972
+
1973
+ /** @returns {AppPaymentConfig} */
258
1974
  static AppPaymentConfig() {
259
1975
  return Joi.object({
260
1976
  anonymous_cod: Joi.boolean(),
261
- callback_url: ConfigurationModel.CallbackUrl(),
1977
+ callback_url: ConfigurationPlatformModel.CallbackUrl(),
262
1978
  cod_amount_limit: Joi.number(),
263
1979
  cod_charges: Joi.number(),
264
1980
  enabled: Joi.boolean(),
265
- methods: ConfigurationModel.Methods(),
1981
+ methods: ConfigurationPlatformModel.Methods(),
266
1982
  mode_of_payment: Joi.string().allow(""),
267
- payment_selection_lock: ConfigurationModel.PaymentSelectionLock(),
1983
+ payment_selection_lock: ConfigurationPlatformModel.PaymentSelectionLock(),
268
1984
  source: Joi.string().allow(""),
269
1985
  });
270
1986
  }
1987
+
1988
+ /** @returns {AppStoreRules} */
271
1989
  static AppStoreRules() {
272
1990
  return Joi.object({
273
1991
  brands: Joi.array().items(Joi.any()),
274
1992
  companies: Joi.array().items(Joi.number()),
275
1993
  });
276
1994
  }
1995
+
1996
+ /** @returns {AppSupportedCurrency} */
277
1997
  static AppSupportedCurrency() {
278
1998
  return Joi.object({
279
1999
  _id: Joi.string().allow(""),
280
2000
  application: Joi.string().allow(""),
281
2001
  created_at: Joi.string().allow(""),
282
- default_currency: ConfigurationModel.DefaultCurrency(),
2002
+ default_currency: ConfigurationPlatformModel.DefaultCurrency(),
283
2003
  supported_currency: Joi.array().items(Joi.string().allow("")),
284
2004
  updated_at: Joi.string().allow(""),
285
2005
  });
286
2006
  }
2007
+
2008
+ /** @returns {ArticleAssignmentConfig} */
287
2009
  static ArticleAssignmentConfig() {
288
2010
  return Joi.object({
289
2011
  post_order_reassignment: Joi.boolean(),
290
- rules: ConfigurationModel.ArticleAssignmentRules(),
2012
+ rules: ConfigurationPlatformModel.ArticleAssignmentRules(),
291
2013
  });
292
2014
  }
2015
+
2016
+ /** @returns {ArticleAssignmentRule} */
293
2017
  static ArticleAssignmentRule() {
294
2018
  return Joi.object({
295
- store_priority: ConfigurationModel.StorePriorityRule(),
2019
+ store_priority: ConfigurationPlatformModel.StorePriorityRule(),
296
2020
  });
297
2021
  }
2022
+
2023
+ /** @returns {ArticleAssignmentRules} */
298
2024
  static ArticleAssignmentRules() {
299
2025
  return Joi.object({
300
- store_priority: ConfigurationModel.StorePriority(),
2026
+ store_priority: ConfigurationPlatformModel.StorePriority(),
301
2027
  });
302
2028
  }
2029
+
2030
+ /** @returns {AuthenticationConfig} */
303
2031
  static AuthenticationConfig() {
304
2032
  return Joi.object({
305
2033
  provider: Joi.string().allow(""),
306
2034
  required: Joi.boolean(),
307
2035
  });
308
2036
  }
2037
+
2038
+ /** @returns {BlogLink} */
309
2039
  static BlogLink() {
310
2040
  return Joi.object({
311
2041
  icon: Joi.string().allow(""),
@@ -313,27 +2043,35 @@ class ConfigurationModel {
313
2043
  title: Joi.string().allow(""),
314
2044
  });
315
2045
  }
2046
+
2047
+ /** @returns {BrandCompanyInfo} */
316
2048
  static BrandCompanyInfo() {
317
2049
  return Joi.object({
318
2050
  company_id: Joi.number(),
319
2051
  company_name: Joi.string().allow(""),
320
2052
  });
321
2053
  }
2054
+
2055
+ /** @returns {BrandsByCompanyResponse} */
322
2056
  static BrandsByCompanyResponse() {
323
2057
  return Joi.object({
324
- brands: ConfigurationModel.CompanyBrandInfo(),
2058
+ brands: ConfigurationPlatformModel.CompanyBrandInfo(),
325
2059
  });
326
2060
  }
2061
+
2062
+ /** @returns {BrandStoreInfo} */
327
2063
  static BrandStoreInfo() {
328
2064
  return Joi.object({
329
- company: ConfigurationModel.OptedCompany(),
330
- store_address: ConfigurationModel.OptedStoreAddress(),
2065
+ company: ConfigurationPlatformModel.OptedCompany(),
2066
+ store_address: ConfigurationPlatformModel.OptedStoreAddress(),
331
2067
  store_code: Joi.string().allow(""),
332
2068
  store_id: Joi.number(),
333
2069
  store_name: Joi.string().allow(""),
334
2070
  store_type: Joi.string().allow(""),
335
2071
  });
336
2072
  }
2073
+
2074
+ /** @returns {BuildVersion} */
337
2075
  static BuildVersion() {
338
2076
  return Joi.object({
339
2077
  __v: Joi.number(),
@@ -347,12 +2085,16 @@ class ConfigurationModel {
347
2085
  version_name: Joi.string().allow(""),
348
2086
  });
349
2087
  }
2088
+
2089
+ /** @returns {BuildVersionHistory} */
350
2090
  static BuildVersionHistory() {
351
2091
  return Joi.object({
352
2092
  latest_available_version_name: Joi.string().allow(""),
353
- versions: ConfigurationModel.BuildVersion(),
2093
+ versions: ConfigurationPlatformModel.BuildVersion(),
354
2094
  });
355
2095
  }
2096
+
2097
+ /** @returns {BusinessHighlights} */
356
2098
  static BusinessHighlights() {
357
2099
  return Joi.object({
358
2100
  _id: Joi.string().allow(""),
@@ -361,12 +2103,16 @@ class ConfigurationModel {
361
2103
  title: Joi.string().allow(""),
362
2104
  });
363
2105
  }
2106
+
2107
+ /** @returns {CallbackUrl} */
364
2108
  static CallbackUrl() {
365
2109
  return Joi.object({
366
2110
  app: Joi.string().allow(""),
367
2111
  web: Joi.string().allow(""),
368
2112
  });
369
2113
  }
2114
+
2115
+ /** @returns {CartFeature} */
370
2116
  static CartFeature() {
371
2117
  return Joi.object({
372
2118
  google_map: Joi.boolean(),
@@ -376,58 +2122,74 @@ class ConfigurationModel {
376
2122
  staff_selection: Joi.boolean(),
377
2123
  });
378
2124
  }
2125
+
2126
+ /** @returns {Charges} */
379
2127
  static Charges() {
380
2128
  return Joi.object({
381
2129
  charges: Joi.number(),
382
2130
  threshold: Joi.number(),
383
2131
  });
384
2132
  }
2133
+
2134
+ /** @returns {CommonFeature} */
385
2135
  static CommonFeature() {
386
2136
  return Joi.object({
387
- communication_optin_dialog: ConfigurationModel.CommunicationOptinDialogFeature(),
388
- compare_products: ConfigurationModel.CompareProductsFeature(),
389
- currency: ConfigurationModel.CurrencyFeature(),
390
- deployment_store_selection: ConfigurationModel.DeploymentStoreSelectionFeature(),
391
- feedback: ConfigurationModel.FeedbackFeature(),
392
- listing_price: ConfigurationModel.ListingPriceFeature(),
393
- revenue_engine: ConfigurationModel.RevenueEngineFeature(),
394
- reward_points: ConfigurationModel.RewardPointsConfig(),
2137
+ communication_optin_dialog: ConfigurationPlatformModel.CommunicationOptinDialogFeature(),
2138
+ compare_products: ConfigurationPlatformModel.CompareProductsFeature(),
2139
+ currency: ConfigurationPlatformModel.CurrencyFeature(),
2140
+ deployment_store_selection: ConfigurationPlatformModel.DeploymentStoreSelectionFeature(),
2141
+ feedback: ConfigurationPlatformModel.FeedbackFeature(),
2142
+ listing_price: ConfigurationPlatformModel.ListingPriceFeature(),
2143
+ revenue_engine: ConfigurationPlatformModel.RevenueEngineFeature(),
2144
+ reward_points: ConfigurationPlatformModel.RewardPointsConfig(),
395
2145
  });
396
2146
  }
2147
+
2148
+ /** @returns {CommsConfig} */
397
2149
  static CommsConfig() {
398
2150
  return Joi.object({
399
2151
  enabled: Joi.boolean(),
400
2152
  });
401
2153
  }
2154
+
2155
+ /** @returns {CommunicationConfig} */
402
2156
  static CommunicationConfig() {
403
2157
  return Joi.object({
404
- email: ConfigurationModel.CommsConfig(),
405
- sms: ConfigurationModel.CommsConfig(),
406
- voice: ConfigurationModel.CommsConfig(),
2158
+ email: ConfigurationPlatformModel.CommsConfig(),
2159
+ sms: ConfigurationPlatformModel.CommsConfig(),
2160
+ voice: ConfigurationPlatformModel.CommsConfig(),
407
2161
  });
408
2162
  }
2163
+
2164
+ /** @returns {CommunicationOptinDialogFeature} */
409
2165
  static CommunicationOptinDialogFeature() {
410
2166
  return Joi.object({
411
2167
  visibility: Joi.boolean(),
412
2168
  });
413
2169
  }
2170
+
2171
+ /** @returns {CompaniesResponse} */
414
2172
  static CompaniesResponse() {
415
2173
  return Joi.object({
416
- items: ConfigurationModel.AppInventoryCompanies(),
417
- page: ConfigurationModel.Page(),
2174
+ items: ConfigurationPlatformModel.AppInventoryCompanies(),
2175
+ page: ConfigurationPlatformModel.Page(),
418
2176
  });
419
2177
  }
2178
+
2179
+ /** @returns {CompanyAboutAddress} */
420
2180
  static CompanyAboutAddress() {
421
2181
  return Joi.object({
2182
+ address_type: Joi.string().allow(""),
422
2183
  address1: Joi.string().allow(""),
423
2184
  address2: Joi.string().allow(""),
424
- address_type: Joi.string().allow(""),
425
2185
  city: Joi.string().allow(""),
426
2186
  country: Joi.string().allow(""),
427
2187
  pincode: Joi.number(),
428
2188
  state: Joi.string().allow(""),
429
2189
  });
430
2190
  }
2191
+
2192
+ /** @returns {CompanyBrandInfo} */
431
2193
  static CompanyBrandInfo() {
432
2194
  return Joi.object({
433
2195
  brand_banner_portrait_url: Joi.string().allow(""),
@@ -437,62 +2199,82 @@ class ConfigurationModel {
437
2199
  value: Joi.number(),
438
2200
  });
439
2201
  }
2202
+
2203
+ /** @returns {CompanyByBrandsRequest} */
440
2204
  static CompanyByBrandsRequest() {
441
2205
  return Joi.object({
442
2206
  brands: Joi.number().required(),
443
2207
  search_text: Joi.string().allow(""),
444
2208
  });
445
2209
  }
2210
+
2211
+ /** @returns {CompanyByBrandsResponse} */
446
2212
  static CompanyByBrandsResponse() {
447
2213
  return Joi.object({
448
- items: Joi.array().items(ConfigurationModel.BrandCompanyInfo()),
449
- page: ConfigurationModel.Page(),
2214
+ items: Joi.array().items(ConfigurationPlatformModel.BrandCompanyInfo()),
2215
+ page: ConfigurationPlatformModel.Page(),
450
2216
  });
451
2217
  }
2218
+
2219
+ /** @returns {CompanyValidator} */
452
2220
  static CompanyValidator() {
453
2221
  return Joi.object({
454
2222
  browser_script: Joi.string().allow(""),
455
- json_schema: Joi.array().items(ConfigurationModel.JsonSchema()),
2223
+ json_schema: Joi.array().items(ConfigurationPlatformModel.JsonSchema()),
456
2224
  });
457
2225
  }
2226
+
2227
+ /** @returns {CompareProductsFeature} */
458
2228
  static CompareProductsFeature() {
459
2229
  return Joi.object({
460
2230
  enabled: Joi.boolean(),
461
2231
  });
462
2232
  }
2233
+
2234
+ /** @returns {CreateApplicationRequest} */
463
2235
  static CreateApplicationRequest() {
464
2236
  return Joi.object({
465
- app: ConfigurationModel.App(),
466
- configuration: ConfigurationModel.AppInventory(),
467
- domain: ConfigurationModel.AppDomain(),
2237
+ app: ConfigurationPlatformModel.App(),
2238
+ configuration: ConfigurationPlatformModel.AppInventory(),
2239
+ domain: ConfigurationPlatformModel.AppDomain(),
468
2240
  });
469
2241
  }
2242
+
2243
+ /** @returns {CreateAppResponse} */
470
2244
  static CreateAppResponse() {
471
2245
  return Joi.object({
472
- app: ConfigurationModel.Application(),
473
- configuration: ConfigurationModel.ApplicationInventory(),
2246
+ app: ConfigurationPlatformModel.Application(),
2247
+ configuration: ConfigurationPlatformModel.ApplicationInventory(),
474
2248
  });
475
2249
  }
2250
+
2251
+ /** @returns {Credentials} */
476
2252
  static Credentials() {
477
2253
  return Joi.object({
478
- android: ConfigurationModel.Android(),
2254
+ android: ConfigurationPlatformModel.Android(),
479
2255
  api_key: Joi.string().allow(""),
480
2256
  application_id: Joi.string().allow(""),
481
2257
  gcm_sender_id: Joi.string().allow(""),
482
- ios: ConfigurationModel.Ios(),
2258
+ ios: ConfigurationPlatformModel.Ios(),
483
2259
  project_id: Joi.string().allow(""),
484
2260
  });
485
2261
  }
2262
+
2263
+ /** @returns {Credit} */
486
2264
  static Credit() {
487
2265
  return Joi.object({
488
2266
  enabled: Joi.boolean(),
489
2267
  });
490
2268
  }
2269
+
2270
+ /** @returns {CurrenciesResponse} */
491
2271
  static CurrenciesResponse() {
492
2272
  return Joi.object({
493
- items: Joi.array().items(ConfigurationModel.Currency()),
2273
+ items: Joi.array().items(ConfigurationPlatformModel.Currency()),
494
2274
  });
495
2275
  }
2276
+
2277
+ /** @returns {Currency} */
496
2278
  static Currency() {
497
2279
  return Joi.object({
498
2280
  _id: Joi.string().allow(""),
@@ -505,6 +2287,8 @@ class ConfigurationModel {
505
2287
  updated_at: Joi.string().allow(""),
506
2288
  });
507
2289
  }
2290
+
2291
+ /** @returns {CurrencyConfig} */
508
2292
  static CurrencyConfig() {
509
2293
  return Joi.object({
510
2294
  _id: Joi.string().allow(""),
@@ -517,6 +2301,8 @@ class ConfigurationModel {
517
2301
  updated_at: Joi.string().allow(""),
518
2302
  });
519
2303
  }
2304
+
2305
+ /** @returns {CurrencyFeature} */
520
2306
  static CurrencyFeature() {
521
2307
  return Joi.object({
522
2308
  default_currency: Joi.string().allow(""),
@@ -524,6 +2310,8 @@ class ConfigurationModel {
524
2310
  value: Joi.array().items(Joi.string().allow("")),
525
2311
  });
526
2312
  }
2313
+
2314
+ /** @returns {Debit} */
527
2315
  static Debit() {
528
2316
  return Joi.object({
529
2317
  auto_apply: Joi.boolean(),
@@ -531,18 +2319,24 @@ class ConfigurationModel {
531
2319
  strategy_channel: Joi.string().allow(""),
532
2320
  });
533
2321
  }
2322
+
2323
+ /** @returns {DefaultCurrency} */
534
2324
  static DefaultCurrency() {
535
2325
  return Joi.object({
536
2326
  code: Joi.string().allow(""),
537
2327
  ref: Joi.string().allow(""),
538
2328
  });
539
2329
  }
2330
+
2331
+ /** @returns {DeliveryCharges} */
540
2332
  static DeliveryCharges() {
541
2333
  return Joi.object({
542
- charges: ConfigurationModel.Charges(),
2334
+ charges: ConfigurationPlatformModel.Charges(),
543
2335
  enabled: Joi.boolean(),
544
2336
  });
545
2337
  }
2338
+
2339
+ /** @returns {DeploymentMeta} */
546
2340
  static DeploymentMeta() {
547
2341
  return Joi.object({
548
2342
  _id: Joi.string().allow(""),
@@ -553,12 +2347,16 @@ class ConfigurationModel {
553
2347
  type: Joi.string().allow(""),
554
2348
  });
555
2349
  }
2350
+
2351
+ /** @returns {DeploymentStoreSelectionFeature} */
556
2352
  static DeploymentStoreSelectionFeature() {
557
2353
  return Joi.object({
558
2354
  enabled: Joi.boolean(),
559
2355
  type: Joi.string().allow(""),
560
2356
  });
561
2357
  }
2358
+
2359
+ /** @returns {Domain} */
562
2360
  static Domain() {
563
2361
  return Joi.object({
564
2362
  _id: Joi.string().allow(""),
@@ -569,6 +2367,8 @@ class ConfigurationModel {
569
2367
  verified: Joi.boolean(),
570
2368
  });
571
2369
  }
2370
+
2371
+ /** @returns {DomainAdd} */
572
2372
  static DomainAdd() {
573
2373
  return Joi.object({
574
2374
  _id: Joi.string().allow(""),
@@ -580,33 +2380,45 @@ class ConfigurationModel {
580
2380
  verified: Joi.boolean(),
581
2381
  });
582
2382
  }
2383
+
2384
+ /** @returns {DomainAddRequest} */
583
2385
  static DomainAddRequest() {
584
2386
  return Joi.object({
585
- domain: ConfigurationModel.DomainAdd(),
2387
+ domain: ConfigurationPlatformModel.DomainAdd(),
586
2388
  });
587
2389
  }
2390
+
2391
+ /** @returns {DomainsResponse} */
588
2392
  static DomainsResponse() {
589
2393
  return Joi.object({
590
- domains: Joi.array().items(ConfigurationModel.Domain()),
2394
+ domains: Joi.array().items(ConfigurationPlatformModel.Domain()),
591
2395
  });
592
2396
  }
2397
+
2398
+ /** @returns {DomainStatus} */
593
2399
  static DomainStatus() {
594
2400
  return Joi.object({
595
2401
  display: Joi.string().allow(""),
596
2402
  status: Joi.boolean(),
597
2403
  });
598
2404
  }
2405
+
2406
+ /** @returns {DomainStatusRequest} */
599
2407
  static DomainStatusRequest() {
600
2408
  return Joi.object({
601
2409
  domain_url: Joi.string().allow(""),
602
2410
  });
603
2411
  }
2412
+
2413
+ /** @returns {DomainStatusResponse} */
604
2414
  static DomainStatusResponse() {
605
2415
  return Joi.object({
606
2416
  connected: Joi.boolean(),
607
- status: Joi.array().items(ConfigurationModel.DomainStatus()),
2417
+ status: Joi.array().items(ConfigurationPlatformModel.DomainStatus()),
608
2418
  });
609
2419
  }
2420
+
2421
+ /** @returns {DomainSuggestion} */
610
2422
  static DomainSuggestion() {
611
2423
  return Joi.object({
612
2424
  currency: Joi.string().allow(""),
@@ -616,17 +2428,23 @@ class ConfigurationModel {
616
2428
  unsupported: Joi.boolean(),
617
2429
  });
618
2430
  }
2431
+
2432
+ /** @returns {DomainSuggestionsRequest} */
619
2433
  static DomainSuggestionsRequest() {
620
2434
  return Joi.object({
621
2435
  custom: Joi.boolean(),
622
2436
  domain_url: Joi.string().allow(""),
623
2437
  });
624
2438
  }
2439
+
2440
+ /** @returns {DomainSuggestionsResponse} */
625
2441
  static DomainSuggestionsResponse() {
626
2442
  return Joi.object({
627
- domains: Joi.array().items(ConfigurationModel.DomainSuggestion()),
2443
+ domains: Joi.array().items(ConfigurationPlatformModel.DomainSuggestion()),
628
2444
  });
629
2445
  }
2446
+
2447
+ /** @returns {FacebookLink} */
630
2448
  static FacebookLink() {
631
2449
  return Joi.object({
632
2450
  icon: Joi.string().allow(""),
@@ -634,11 +2452,15 @@ class ConfigurationModel {
634
2452
  title: Joi.string().allow(""),
635
2453
  });
636
2454
  }
2455
+
2456
+ /** @returns {FeedbackFeature} */
637
2457
  static FeedbackFeature() {
638
2458
  return Joi.object({
639
2459
  enabled: Joi.boolean(),
640
2460
  });
641
2461
  }
2462
+
2463
+ /** @returns {FilterOrderingStoreRequest} */
642
2464
  static FilterOrderingStoreRequest() {
643
2465
  return Joi.object({
644
2466
  all_stores: Joi.boolean(),
@@ -646,18 +2468,24 @@ class ConfigurationModel {
646
2468
  q: Joi.string().allow(""),
647
2469
  });
648
2470
  }
2471
+
2472
+ /** @returns {Firebase} */
649
2473
  static Firebase() {
650
2474
  return Joi.object({
651
- credentials: ConfigurationModel.Credentials(),
2475
+ credentials: ConfigurationPlatformModel.Credentials(),
652
2476
  enabled: Joi.boolean(),
653
2477
  });
654
2478
  }
2479
+
2480
+ /** @returns {Freshchat} */
655
2481
  static Freshchat() {
656
2482
  return Joi.object({
657
- credentials: ConfigurationModel.FreshchatCredentials(),
2483
+ credentials: ConfigurationPlatformModel.FreshchatCredentials(),
658
2484
  enabled: Joi.boolean(),
659
2485
  });
660
2486
  }
2487
+
2488
+ /** @returns {FreshchatCredentials} */
661
2489
  static FreshchatCredentials() {
662
2490
  return Joi.object({
663
2491
  app_id: Joi.string().allow(""),
@@ -665,32 +2493,44 @@ class ConfigurationModel {
665
2493
  web_token: Joi.string().allow(""),
666
2494
  });
667
2495
  }
2496
+
2497
+ /** @returns {FyndRewards} */
668
2498
  static FyndRewards() {
669
2499
  return Joi.object({
670
- credentials: ConfigurationModel.FyndRewardsCredentials(),
2500
+ credentials: ConfigurationPlatformModel.FyndRewardsCredentials(),
671
2501
  });
672
2502
  }
2503
+
2504
+ /** @returns {FyndRewardsCredentials} */
673
2505
  static FyndRewardsCredentials() {
674
2506
  return Joi.object({
675
2507
  public_key: Joi.string().allow(""),
676
2508
  });
677
2509
  }
2510
+
2511
+ /** @returns {GetIntegrationsOptInsResponse} */
678
2512
  static GetIntegrationsOptInsResponse() {
679
2513
  return Joi.object({
680
- items: Joi.array().items(ConfigurationModel.IntegrationOptIn()),
681
- page: ConfigurationModel.Page(),
2514
+ items: Joi.array().items(ConfigurationPlatformModel.IntegrationOptIn()),
2515
+ page: ConfigurationPlatformModel.Page(),
682
2516
  });
683
2517
  }
2518
+
2519
+ /** @returns {GoogleMap} */
684
2520
  static GoogleMap() {
685
2521
  return Joi.object({
686
- credentials: ConfigurationModel.GoogleMapCredentials(),
2522
+ credentials: ConfigurationPlatformModel.GoogleMapCredentials(),
687
2523
  });
688
2524
  }
2525
+
2526
+ /** @returns {GoogleMapCredentials} */
689
2527
  static GoogleMapCredentials() {
690
2528
  return Joi.object({
691
2529
  api_key: Joi.string().allow(""),
692
2530
  });
693
2531
  }
2532
+
2533
+ /** @returns {GooglePlusLink} */
694
2534
  static GooglePlusLink() {
695
2535
  return Joi.object({
696
2536
  icon: Joi.string().allow(""),
@@ -698,38 +2538,50 @@ class ConfigurationModel {
698
2538
  title: Joi.string().allow(""),
699
2539
  });
700
2540
  }
2541
+
2542
+ /** @returns {Gtm} */
701
2543
  static Gtm() {
702
2544
  return Joi.object({
703
- credentials: ConfigurationModel.GtmCredentials(),
2545
+ credentials: ConfigurationPlatformModel.GtmCredentials(),
704
2546
  enabled: Joi.boolean(),
705
2547
  });
706
2548
  }
2549
+
2550
+ /** @returns {GtmCredentials} */
707
2551
  static GtmCredentials() {
708
2552
  return Joi.object({
709
2553
  api_key: Joi.string().allow(""),
710
2554
  });
711
2555
  }
2556
+
2557
+ /** @returns {HomePageFeature} */
712
2558
  static HomePageFeature() {
713
2559
  return Joi.object({
714
2560
  order_processing: Joi.boolean(),
715
2561
  });
716
2562
  }
2563
+
2564
+ /** @returns {InformationAddress} */
717
2565
  static InformationAddress() {
718
2566
  return Joi.object({
719
2567
  address_line: Joi.array().items(Joi.string().allow("")),
720
2568
  city: Joi.string().allow(""),
721
2569
  country: Joi.string().allow(""),
722
2570
  loc: Joi.string().allow(""),
723
- phone: Joi.array().items(ConfigurationModel.InformationPhone()),
2571
+ phone: Joi.array().items(ConfigurationPlatformModel.InformationPhone()),
724
2572
  pincode: Joi.number(),
725
2573
  });
726
2574
  }
2575
+
2576
+ /** @returns {InformationPhone} */
727
2577
  static InformationPhone() {
728
2578
  return Joi.object({
729
2579
  code: Joi.string().allow(""),
730
2580
  number: Joi.string().allow(""),
731
2581
  });
732
2582
  }
2583
+
2584
+ /** @returns {InformationSupport} */
733
2585
  static InformationSupport() {
734
2586
  return Joi.object({
735
2587
  email: Joi.array().items(Joi.string().allow("")),
@@ -737,6 +2589,8 @@ class ConfigurationModel {
737
2589
  timing: Joi.string().allow(""),
738
2590
  });
739
2591
  }
2592
+
2593
+ /** @returns {InstagramLink} */
740
2594
  static InstagramLink() {
741
2595
  return Joi.object({
742
2596
  icon: Joi.string().allow(""),
@@ -744,6 +2598,8 @@ class ConfigurationModel {
744
2598
  title: Joi.string().allow(""),
745
2599
  });
746
2600
  }
2601
+
2602
+ /** @returns {Integration} */
747
2603
  static Integration() {
748
2604
  return Joi.object({
749
2605
  __v: Joi.number(),
@@ -754,21 +2610,25 @@ class ConfigurationModel {
754
2610
  description: Joi.string().allow(""),
755
2611
  description_html: Joi.string().allow(""),
756
2612
  icon: Joi.string().allow(""),
757
- meta: Joi.array().items(ConfigurationModel.IntegrationMeta()),
2613
+ meta: Joi.array().items(ConfigurationPlatformModel.IntegrationMeta()),
758
2614
  name: Joi.string().allow(""),
759
2615
  owner: Joi.string().allow(""),
760
2616
  secret: Joi.string().allow(""),
761
2617
  support: Joi.array().items(Joi.string().allow("")),
762
2618
  token: Joi.string().allow(""),
763
2619
  updated_at: Joi.string().allow(""),
764
- validators: ConfigurationModel.Validators(),
2620
+ validators: ConfigurationPlatformModel.Validators(),
765
2621
  });
766
2622
  }
2623
+
2624
+ /** @returns {IntegrationConfigResponse} */
767
2625
  static IntegrationConfigResponse() {
768
2626
  return Joi.object({
769
- items: Joi.array().items(ConfigurationModel.IntegrationLevel()),
2627
+ items: Joi.array().items(ConfigurationPlatformModel.IntegrationLevel()),
770
2628
  });
771
2629
  }
2630
+
2631
+ /** @returns {IntegrationLevel} */
772
2632
  static IntegrationLevel() {
773
2633
  return Joi.object({
774
2634
  __v: Joi.number(),
@@ -776,9 +2636,9 @@ class ConfigurationModel {
776
2636
  created_at: Joi.string().allow(""),
777
2637
  data: Joi.any(),
778
2638
  integration: Joi.string().allow(""),
779
- last_patch: Joi.array().items(ConfigurationModel.LastPatch()),
2639
+ last_patch: Joi.array().items(ConfigurationPlatformModel.LastPatch()),
780
2640
  level: Joi.string().allow(""),
781
- meta: Joi.array().items(ConfigurationModel.IntegrationMeta()),
2641
+ meta: Joi.array().items(ConfigurationPlatformModel.IntegrationMeta()),
782
2642
  opted: Joi.boolean(),
783
2643
  permissions: Joi.array().items(Joi.any()),
784
2644
  token: Joi.string().allow(""),
@@ -786,6 +2646,8 @@ class ConfigurationModel {
786
2646
  updated_at: Joi.string().allow(""),
787
2647
  });
788
2648
  }
2649
+
2650
+ /** @returns {IntegrationMeta} */
789
2651
  static IntegrationMeta() {
790
2652
  return Joi.object({
791
2653
  _id: Joi.string().allow(""),
@@ -794,6 +2656,8 @@ class ConfigurationModel {
794
2656
  value: Joi.string().allow(""),
795
2657
  });
796
2658
  }
2659
+
2660
+ /** @returns {IntegrationOptIn} */
797
2661
  static IntegrationOptIn() {
798
2662
  return Joi.object({
799
2663
  __v: Joi.number(),
@@ -804,89 +2668,115 @@ class ConfigurationModel {
804
2668
  description: Joi.string().allow(""),
805
2669
  description_html: Joi.string().allow(""),
806
2670
  icon: Joi.string().allow(""),
807
- meta: Joi.array().items(ConfigurationModel.IntegrationMeta()),
2671
+ meta: Joi.array().items(ConfigurationPlatformModel.IntegrationMeta()),
808
2672
  name: Joi.string().allow(""),
809
2673
  owner: Joi.string().allow(""),
810
2674
  secret: Joi.string().allow(""),
811
2675
  support: Joi.array().items(Joi.string().allow("")),
812
2676
  token: Joi.string().allow(""),
813
2677
  updated_at: Joi.string().allow(""),
814
- validators: ConfigurationModel.Validators(),
2678
+ validators: ConfigurationPlatformModel.Validators(),
815
2679
  });
816
2680
  }
2681
+
2682
+ /** @returns {InvalidPayloadRequest} */
817
2683
  static InvalidPayloadRequest() {
818
2684
  return Joi.object({
819
2685
  message: Joi.string().allow(""),
820
2686
  });
821
2687
  }
2688
+
2689
+ /** @returns {InventoryArticleAssignment} */
822
2690
  static InventoryArticleAssignment() {
823
2691
  return Joi.object({
824
2692
  post_order_reassignment: Joi.boolean(),
825
- rules: ConfigurationModel.ArticleAssignmentRule(),
2693
+ rules: ConfigurationPlatformModel.ArticleAssignmentRule(),
826
2694
  });
827
2695
  }
2696
+
2697
+ /** @returns {InventoryBrand} */
828
2698
  static InventoryBrand() {
829
2699
  return Joi.object({
830
2700
  brands: Joi.array().items(Joi.any()),
831
2701
  criteria: Joi.string().allow(""),
832
2702
  });
833
2703
  }
2704
+
2705
+ /** @returns {InventoryBrandRule} */
834
2706
  static InventoryBrandRule() {
835
2707
  return Joi.object({
836
2708
  brands: Joi.array().items(Joi.number()),
837
2709
  criteria: Joi.string().allow(""),
838
2710
  });
839
2711
  }
2712
+
2713
+ /** @returns {InventoryCategory} */
840
2714
  static InventoryCategory() {
841
2715
  return Joi.object({
842
2716
  categories: Joi.array().items(Joi.any()),
843
2717
  criteria: Joi.string().allow(""),
844
2718
  });
845
2719
  }
2720
+
2721
+ /** @returns {InventoryDiscount} */
846
2722
  static InventoryDiscount() {
847
2723
  return Joi.object({
848
2724
  max: Joi.number(),
849
2725
  min: Joi.number(),
850
2726
  });
851
2727
  }
2728
+
2729
+ /** @returns {InventoryPaymentConfig} */
852
2730
  static InventoryPaymentConfig() {
853
2731
  return Joi.object({
854
2732
  mode_of_payment: Joi.string().allow(""),
855
2733
  source: Joi.string().allow(""),
856
2734
  });
857
2735
  }
2736
+
2737
+ /** @returns {InventoryPrice} */
858
2738
  static InventoryPrice() {
859
2739
  return Joi.object({
860
2740
  max: Joi.number(),
861
2741
  min: Joi.number(),
862
2742
  });
863
2743
  }
2744
+
2745
+ /** @returns {InventoryStore} */
864
2746
  static InventoryStore() {
865
2747
  return Joi.object({
866
2748
  criteria: Joi.string().allow(""),
867
- rules: ConfigurationModel.AppStoreRules(),
2749
+ rules: ConfigurationPlatformModel.AppStoreRules(),
868
2750
  stores: Joi.array().items(Joi.any()),
869
2751
  });
870
2752
  }
2753
+
2754
+ /** @returns {InventoryStoreRule} */
871
2755
  static InventoryStoreRule() {
872
2756
  return Joi.object({
873
2757
  criteria: Joi.string().allow(""),
874
- rules: Joi.array().items(ConfigurationModel.StoreCriteriaRule()),
2758
+ rules: Joi.array().items(ConfigurationPlatformModel.StoreCriteriaRule()),
875
2759
  stores: Joi.array().items(Joi.number()),
876
2760
  });
877
2761
  }
2762
+
2763
+ /** @returns {InventoryValidator} */
878
2764
  static InventoryValidator() {
879
2765
  return Joi.object({
880
2766
  browser_script: Joi.string().allow(""),
881
- json_schema: Joi.array().items(ConfigurationModel.JsonSchema()),
2767
+ json_schema: Joi.array().items(ConfigurationPlatformModel.JsonSchema()),
882
2768
  });
883
2769
  }
2770
+
2771
+ /** @returns {Ios} */
884
2772
  static Ios() {
885
2773
  return Joi.object({
886
2774
  api_key: Joi.string().allow(""),
887
2775
  application_id: Joi.string().allow(""),
888
2776
  });
889
2777
  }
2778
+
2779
+ /** @returns {JsonSchema} */
890
2780
  static JsonSchema() {
891
2781
  return Joi.object({
892
2782
  display: Joi.string().allow(""),
@@ -895,21 +2785,27 @@ class ConfigurationModel {
895
2785
  type: Joi.string().allow(""),
896
2786
  });
897
2787
  }
2788
+
2789
+ /** @returns {LandingImage} */
898
2790
  static LandingImage() {
899
2791
  return Joi.object({
900
2792
  aspect_ratio: Joi.string().allow(""),
901
2793
  secure_url: Joi.string().allow(""),
902
2794
  });
903
2795
  }
2796
+
2797
+ /** @returns {LandingPageFeature} */
904
2798
  static LandingPageFeature() {
905
2799
  return Joi.object({
906
2800
  continue_as_guest: Joi.boolean(),
907
- launch_page: ConfigurationModel.LaunchPage(),
2801
+ launch_page: ConfigurationPlatformModel.LaunchPage(),
908
2802
  login_btn_text: Joi.string().allow(""),
909
2803
  show_domain_textbox: Joi.boolean(),
910
2804
  show_register_btn: Joi.boolean(),
911
2805
  });
912
2806
  }
2807
+
2808
+ /** @returns {LastPatch} */
913
2809
  static LastPatch() {
914
2810
  return Joi.object({
915
2811
  op: Joi.string().allow(""),
@@ -917,6 +2813,8 @@ class ConfigurationModel {
917
2813
  value: Joi.string().allow(""),
918
2814
  });
919
2815
  }
2816
+
2817
+ /** @returns {LaunchPage} */
920
2818
  static LaunchPage() {
921
2819
  return Joi.object({
922
2820
  page_type: Joi.string().allow(""),
@@ -924,6 +2822,8 @@ class ConfigurationModel {
924
2822
  query: Joi.any(),
925
2823
  });
926
2824
  }
2825
+
2826
+ /** @returns {LinkedInLink} */
927
2827
  static LinkedInLink() {
928
2828
  return Joi.object({
929
2829
  icon: Joi.string().allow(""),
@@ -931,55 +2831,67 @@ class ConfigurationModel {
931
2831
  title: Joi.string().allow(""),
932
2832
  });
933
2833
  }
2834
+
2835
+ /** @returns {Links} */
934
2836
  static Links() {
935
2837
  return Joi.object({
936
2838
  link: Joi.string().allow(""),
937
2839
  title: Joi.string().allow(""),
938
2840
  });
939
2841
  }
2842
+
2843
+ /** @returns {ListingPriceFeature} */
940
2844
  static ListingPriceFeature() {
941
2845
  return Joi.object({
942
2846
  sort: Joi.string().allow(""),
943
2847
  value: Joi.string().allow(""),
944
2848
  });
945
2849
  }
2850
+
2851
+ /** @returns {LoyaltyPointsConfig} */
946
2852
  static LoyaltyPointsConfig() {
947
2853
  return Joi.object({
948
2854
  auto_apply: Joi.boolean(),
949
2855
  enabled: Joi.boolean(),
950
2856
  });
951
2857
  }
2858
+
2859
+ /** @returns {Methods} */
952
2860
  static Methods() {
953
2861
  return Joi.object({
954
- card: ConfigurationModel.PaymentModeConfig(),
955
- cod: ConfigurationModel.PaymentModeConfig(),
956
- fc: ConfigurationModel.PaymentModeConfig(),
957
- jiopp: ConfigurationModel.PaymentModeConfig(),
958
- jp: ConfigurationModel.PaymentModeConfig(),
959
- juspaypg: ConfigurationModel.PaymentModeConfig(),
960
- nb: ConfigurationModel.PaymentModeConfig(),
961
- pac: ConfigurationModel.PaymentModeConfig(),
962
- payubizpg: ConfigurationModel.PaymentModeConfig(),
963
- payumoneypg: ConfigurationModel.PaymentModeConfig(),
964
- pl: ConfigurationModel.PaymentModeConfig(),
965
- pp: ConfigurationModel.PaymentModeConfig(),
966
- ps: ConfigurationModel.PaymentModeConfig(),
967
- qr: ConfigurationModel.PaymentModeConfig(),
968
- rupifipg: ConfigurationModel.PaymentModeConfig(),
969
- simpl: ConfigurationModel.PaymentModeConfig(),
970
- stripepg: ConfigurationModel.PaymentModeConfig(),
971
- upi: ConfigurationModel.PaymentModeConfig(),
972
- wl: ConfigurationModel.PaymentModeConfig(),
2862
+ card: ConfigurationPlatformModel.PaymentModeConfig(),
2863
+ cod: ConfigurationPlatformModel.PaymentModeConfig(),
2864
+ fc: ConfigurationPlatformModel.PaymentModeConfig(),
2865
+ jiopp: ConfigurationPlatformModel.PaymentModeConfig(),
2866
+ jp: ConfigurationPlatformModel.PaymentModeConfig(),
2867
+ juspaypg: ConfigurationPlatformModel.PaymentModeConfig(),
2868
+ nb: ConfigurationPlatformModel.PaymentModeConfig(),
2869
+ pac: ConfigurationPlatformModel.PaymentModeConfig(),
2870
+ payubizpg: ConfigurationPlatformModel.PaymentModeConfig(),
2871
+ payumoneypg: ConfigurationPlatformModel.PaymentModeConfig(),
2872
+ pl: ConfigurationPlatformModel.PaymentModeConfig(),
2873
+ pp: ConfigurationPlatformModel.PaymentModeConfig(),
2874
+ ps: ConfigurationPlatformModel.PaymentModeConfig(),
2875
+ qr: ConfigurationPlatformModel.PaymentModeConfig(),
2876
+ rupifipg: ConfigurationPlatformModel.PaymentModeConfig(),
2877
+ simpl: ConfigurationPlatformModel.PaymentModeConfig(),
2878
+ stripepg: ConfigurationPlatformModel.PaymentModeConfig(),
2879
+ upi: ConfigurationPlatformModel.PaymentModeConfig(),
2880
+ wl: ConfigurationPlatformModel.PaymentModeConfig(),
973
2881
  });
974
2882
  }
2883
+
2884
+ /** @returns {MobileAppConfigRequest} */
975
2885
  static MobileAppConfigRequest() {
976
2886
  return Joi.object({
977
2887
  app_name: Joi.string().allow(""),
978
2888
  is_active: Joi.boolean(),
979
- landing_image: ConfigurationModel.LandingImage(),
980
- splash_image: ConfigurationModel.SplashImage(),
2889
+ landing_image: ConfigurationPlatformModel.LandingImage(),
2890
+ splash_image: ConfigurationPlatformModel.SplashImage(),
981
2891
  });
982
2892
  }
2893
+
2894
+ /** @returns {MobileAppConfiguration} */
983
2895
  static MobileAppConfiguration() {
984
2896
  return Joi.object({
985
2897
  __v: Joi.number(),
@@ -988,56 +2900,70 @@ class ConfigurationModel {
988
2900
  application: Joi.string().allow(""),
989
2901
  created_at: Joi.string().allow(""),
990
2902
  is_active: Joi.boolean(),
991
- landing_image: ConfigurationModel.LandingImage(),
2903
+ landing_image: ConfigurationPlatformModel.LandingImage(),
992
2904
  package_name: Joi.string().allow(""),
993
2905
  platform_type: Joi.string().allow(""),
994
- splash_image: ConfigurationModel.SplashImage(),
2906
+ splash_image: ConfigurationPlatformModel.SplashImage(),
995
2907
  updated_at: Joi.string().allow(""),
996
2908
  });
997
2909
  }
2910
+
2911
+ /** @returns {Moengage} */
998
2912
  static Moengage() {
999
2913
  return Joi.object({
1000
- credentials: ConfigurationModel.MoengageCredentials(),
2914
+ credentials: ConfigurationPlatformModel.MoengageCredentials(),
1001
2915
  enabled: Joi.boolean(),
1002
2916
  });
1003
2917
  }
2918
+
2919
+ /** @returns {MoengageCredentials} */
1004
2920
  static MoengageCredentials() {
1005
2921
  return Joi.object({
1006
2922
  app_id: Joi.string().allow(""),
1007
2923
  });
1008
2924
  }
2925
+
2926
+ /** @returns {NotFound} */
1009
2927
  static NotFound() {
1010
2928
  return Joi.object({
1011
2929
  message: Joi.string().allow(""),
1012
2930
  });
1013
2931
  }
2932
+
2933
+ /** @returns {OptedApplicationResponse} */
1014
2934
  static OptedApplicationResponse() {
1015
2935
  return Joi.object({
1016
2936
  _id: Joi.string().allow(""),
1017
- company: ConfigurationModel.OptedCompany(),
2937
+ company: ConfigurationPlatformModel.OptedCompany(),
1018
2938
  description: Joi.string().allow(""),
1019
2939
  domain: Joi.string().allow(""),
1020
2940
  name: Joi.string().allow(""),
1021
- opt_out_inventory: ConfigurationModel.OptOutInventory(),
1022
- opted_inventory: ConfigurationModel.OptedInventory(),
2941
+ opt_out_inventory: ConfigurationPlatformModel.OptOutInventory(),
2942
+ opted_inventory: ConfigurationPlatformModel.OptedInventory(),
1023
2943
  });
1024
2944
  }
2945
+
2946
+ /** @returns {OptedCompany} */
1025
2947
  static OptedCompany() {
1026
2948
  return Joi.object({
1027
2949
  name: Joi.string().allow(""),
1028
2950
  uid: Joi.number(),
1029
2951
  });
1030
2952
  }
2953
+
2954
+ /** @returns {OptedInventory} */
1031
2955
  static OptedInventory() {
1032
2956
  return Joi.object({
1033
2957
  items: Joi.any(),
1034
- opt_type: ConfigurationModel.OptType(),
2958
+ opt_type: ConfigurationPlatformModel.OptType(),
1035
2959
  });
1036
2960
  }
2961
+
2962
+ /** @returns {OptedStore} */
1037
2963
  static OptedStore() {
1038
2964
  return Joi.object({
1039
2965
  _id: Joi.string().allow(""),
1040
- address: ConfigurationModel.OptedStoreAddress(),
2966
+ address: ConfigurationPlatformModel.OptedStoreAddress(),
1041
2967
  company_id: Joi.number(),
1042
2968
  display_name: Joi.string().allow(""),
1043
2969
  modified_on: Joi.string().allow(""),
@@ -1047,45 +2973,57 @@ class ConfigurationModel {
1047
2973
  uid: Joi.number(),
1048
2974
  });
1049
2975
  }
2976
+
2977
+ /** @returns {OptedStoreAddress} */
1050
2978
  static OptedStoreAddress() {
1051
2979
  return Joi.object({
1052
2980
  address1: Joi.string().allow(""),
1053
2981
  address2: Joi.string().allow(""),
1054
2982
  city: Joi.string().allow(""),
1055
2983
  country: Joi.string().allow(""),
1056
- lat_long: ConfigurationModel.StoreLatLong(),
2984
+ lat_long: ConfigurationPlatformModel.StoreLatLong(),
1057
2985
  pincode: Joi.number(),
1058
2986
  state: Joi.string().allow(""),
1059
2987
  });
1060
2988
  }
2989
+
2990
+ /** @returns {OptedStoreIntegration} */
1061
2991
  static OptedStoreIntegration() {
1062
2992
  return Joi.object({
1063
- other_entity: ConfigurationModel.OtherEntity(),
1064
- other_integration: ConfigurationModel.IntegrationOptIn(),
2993
+ other_entity: ConfigurationPlatformModel.OtherEntity(),
2994
+ other_integration: ConfigurationPlatformModel.IntegrationOptIn(),
1065
2995
  other_opted: Joi.boolean(),
1066
2996
  });
1067
2997
  }
2998
+
2999
+ /** @returns {OptOutInventory} */
1068
3000
  static OptOutInventory() {
1069
3001
  return Joi.object({
1070
3002
  company: Joi.array().items(Joi.number()).required(),
1071
3003
  store: Joi.array().items(Joi.number()).required(),
1072
3004
  });
1073
3005
  }
3006
+
3007
+ /** @returns {OptType} */
1074
3008
  static OptType() {
1075
3009
  return Joi.object({
1076
3010
  display: Joi.string().allow(""),
1077
3011
  key: Joi.string().allow(""),
1078
3012
  });
1079
3013
  }
3014
+
3015
+ /** @returns {OrderFeature} */
1080
3016
  static OrderFeature() {
1081
3017
  return Joi.object({
1082
3018
  buy_again: Joi.boolean(),
1083
3019
  });
1084
3020
  }
3021
+
3022
+ /** @returns {OrderingStore} */
1085
3023
  static OrderingStore() {
1086
3024
  return Joi.object({
1087
3025
  _id: Joi.string().allow(""),
1088
- address: ConfigurationModel.OptedStoreAddress(),
3026
+ address: ConfigurationPlatformModel.OptedStoreAddress(),
1089
3027
  code: Joi.string().allow(""),
1090
3028
  display_name: Joi.string().allow(""),
1091
3029
  name: Joi.string().allow(""),
@@ -1095,11 +3033,15 @@ class ConfigurationModel {
1095
3033
  uid: Joi.number(),
1096
3034
  });
1097
3035
  }
3036
+
3037
+ /** @returns {OrderingStoreConfig} */
1098
3038
  static OrderingStoreConfig() {
1099
3039
  return Joi.object({
1100
- deployment_meta: ConfigurationModel.DeploymentMeta(),
3040
+ deployment_meta: ConfigurationPlatformModel.DeploymentMeta(),
1101
3041
  });
1102
3042
  }
3043
+
3044
+ /** @returns {OrderingStores} */
1103
3045
  static OrderingStores() {
1104
3046
  return Joi.object({
1105
3047
  __v: Joi.number(),
@@ -1108,31 +3050,37 @@ class ConfigurationModel {
1108
3050
  app: Joi.string().allow(""),
1109
3051
  deployed_stores: Joi.array().items(Joi.number()),
1110
3052
  enabled: Joi.boolean(),
1111
- items: Joi.array().items(ConfigurationModel.OrderingStore()),
1112
- page: ConfigurationModel.Page(),
3053
+ items: Joi.array().items(ConfigurationPlatformModel.OrderingStore()),
3054
+ page: ConfigurationPlatformModel.Page(),
1113
3055
  type: Joi.string().allow(""),
1114
3056
  });
1115
3057
  }
3058
+
3059
+ /** @returns {OrderingStoresResponse} */
1116
3060
  static OrderingStoresResponse() {
1117
3061
  return Joi.object({
1118
- items: Joi.array().items(ConfigurationModel.OrderingStore()),
1119
- page: ConfigurationModel.Page(),
3062
+ items: Joi.array().items(ConfigurationPlatformModel.OrderingStore()),
3063
+ page: ConfigurationPlatformModel.Page(),
1120
3064
  });
1121
3065
  }
3066
+
3067
+ /** @returns {OrderValidator} */
1122
3068
  static OrderValidator() {
1123
3069
  return Joi.object({
1124
3070
  browser_script: Joi.string().allow(""),
1125
- json_schema: Joi.array().items(ConfigurationModel.JsonSchema()),
3071
+ json_schema: Joi.array().items(ConfigurationPlatformModel.JsonSchema()),
1126
3072
  });
1127
3073
  }
3074
+
3075
+ /** @returns {OtherEntity} */
1128
3076
  static OtherEntity() {
1129
3077
  return Joi.object({
1130
3078
  __v: Joi.number(),
1131
3079
  _id: Joi.string().allow(""),
1132
3080
  created_at: Joi.string().allow(""),
1133
- data: ConfigurationModel.OtherEntityData(),
3081
+ data: ConfigurationPlatformModel.OtherEntityData(),
1134
3082
  integration: Joi.string().allow(""),
1135
- last_patch: Joi.array().items(ConfigurationModel.LastPatch()),
3083
+ last_patch: Joi.array().items(ConfigurationPlatformModel.LastPatch()),
1136
3084
  level: Joi.string().allow(""),
1137
3085
  meta: Joi.array().items(Joi.any()),
1138
3086
  opted: Joi.boolean(),
@@ -1142,33 +3090,45 @@ class ConfigurationModel {
1142
3090
  updated_at: Joi.string().allow(""),
1143
3091
  });
1144
3092
  }
3093
+
3094
+ /** @returns {OtherEntityData} */
1145
3095
  static OtherEntityData() {
1146
3096
  return Joi.object({
1147
3097
  article_identifier: Joi.string().allow(""),
1148
3098
  });
1149
3099
  }
3100
+
3101
+ /** @returns {OtherSellerApplication} */
1150
3102
  static OtherSellerApplication() {
1151
3103
  return Joi.object({
1152
3104
  _id: Joi.string().allow(""),
1153
- company: ConfigurationModel.OtherSellerCompany(),
3105
+ company: ConfigurationPlatformModel.OtherSellerCompany(),
1154
3106
  description: Joi.string().allow(""),
1155
3107
  domain: Joi.string().allow(""),
1156
3108
  name: Joi.string().allow(""),
1157
3109
  opt_type: Joi.string().allow(""),
1158
3110
  });
1159
3111
  }
3112
+
3113
+ /** @returns {OtherSellerApplications} */
1160
3114
  static OtherSellerApplications() {
1161
3115
  return Joi.object({
1162
- items: Joi.array().items(ConfigurationModel.OtherSellerApplication()),
1163
- page: ConfigurationModel.Page(),
3116
+ items: Joi.array().items(
3117
+ ConfigurationPlatformModel.OtherSellerApplication()
3118
+ ),
3119
+ page: ConfigurationPlatformModel.Page(),
1164
3120
  });
1165
3121
  }
3122
+
3123
+ /** @returns {OtherSellerCompany} */
1166
3124
  static OtherSellerCompany() {
1167
3125
  return Joi.object({
1168
3126
  name: Joi.string().allow(""),
1169
3127
  uid: Joi.number(),
1170
3128
  });
1171
3129
  }
3130
+
3131
+ /** @returns {Page} */
1172
3132
  static Page() {
1173
3133
  return Joi.object({
1174
3134
  current: Joi.number(),
@@ -1180,6 +3140,8 @@ class ConfigurationModel {
1180
3140
  type: Joi.string().allow("").required(),
1181
3141
  });
1182
3142
  }
3143
+
3144
+ /** @returns {PanCardConfig} */
1183
3145
  static PanCardConfig() {
1184
3146
  return Joi.object({
1185
3147
  cod_threshold_amount: Joi.number(),
@@ -1187,11 +3149,15 @@ class ConfigurationModel {
1187
3149
  online_threshold_amount: Joi.number(),
1188
3150
  });
1189
3151
  }
3152
+
3153
+ /** @returns {PaymentModeConfig} */
1190
3154
  static PaymentModeConfig() {
1191
3155
  return Joi.object({
1192
3156
  enabled: Joi.boolean(),
1193
3157
  });
1194
3158
  }
3159
+
3160
+ /** @returns {PaymentSelectionLock} */
1195
3161
  static PaymentSelectionLock() {
1196
3162
  return Joi.object({
1197
3163
  default_options: Joi.string().allow(""),
@@ -1199,11 +3165,15 @@ class ConfigurationModel {
1199
3165
  payment_identifier: Joi.string().allow(""),
1200
3166
  });
1201
3167
  }
3168
+
3169
+ /** @returns {PcrFeature} */
1202
3170
  static PcrFeature() {
1203
3171
  return Joi.object({
1204
3172
  staff_selection: Joi.boolean(),
1205
3173
  });
1206
3174
  }
3175
+
3176
+ /** @returns {PinterestLink} */
1207
3177
  static PinterestLink() {
1208
3178
  return Joi.object({
1209
3179
  icon: Joi.string().allow(""),
@@ -1211,6 +3181,8 @@ class ConfigurationModel {
1211
3181
  title: Joi.string().allow(""),
1212
3182
  });
1213
3183
  }
3184
+
3185
+ /** @returns {ProductDetailFeature} */
1214
3186
  static ProductDetailFeature() {
1215
3187
  return Joi.object({
1216
3188
  request_product: Joi.boolean(),
@@ -1219,6 +3191,8 @@ class ConfigurationModel {
1219
3191
  update_product_meta: Joi.boolean(),
1220
3192
  });
1221
3193
  }
3194
+
3195
+ /** @returns {QrFeature} */
1222
3196
  static QrFeature() {
1223
3197
  return Joi.object({
1224
3198
  application: Joi.boolean(),
@@ -1226,68 +3200,90 @@ class ConfigurationModel {
1226
3200
  products: Joi.boolean(),
1227
3201
  });
1228
3202
  }
3203
+
3204
+ /** @returns {RegistrationPageFeature} */
1229
3205
  static RegistrationPageFeature() {
1230
3206
  return Joi.object({
1231
3207
  ask_store_address: Joi.boolean(),
1232
3208
  });
1233
3209
  }
3210
+
3211
+ /** @returns {RevenueEngineFeature} */
1234
3212
  static RevenueEngineFeature() {
1235
3213
  return Joi.object({
1236
3214
  enabled: Joi.boolean(),
1237
3215
  });
1238
3216
  }
3217
+
3218
+ /** @returns {RewardPointsConfig} */
1239
3219
  static RewardPointsConfig() {
1240
3220
  return Joi.object({
1241
- credit: ConfigurationModel.Credit(),
1242
- debit: ConfigurationModel.Debit(),
3221
+ credit: ConfigurationPlatformModel.Credit(),
3222
+ debit: ConfigurationPlatformModel.Debit(),
1243
3223
  });
1244
3224
  }
3225
+
3226
+ /** @returns {Safetynet} */
1245
3227
  static Safetynet() {
1246
3228
  return Joi.object({
1247
- credentials: ConfigurationModel.SafetynetCredentials(),
3229
+ credentials: ConfigurationPlatformModel.SafetynetCredentials(),
1248
3230
  enabled: Joi.boolean(),
1249
3231
  });
1250
3232
  }
3233
+
3234
+ /** @returns {SafetynetCredentials} */
1251
3235
  static SafetynetCredentials() {
1252
3236
  return Joi.object({
1253
3237
  api_key: Joi.string().allow(""),
1254
3238
  });
1255
3239
  }
3240
+
3241
+ /** @returns {SecureUrl} */
1256
3242
  static SecureUrl() {
1257
3243
  return Joi.object({
1258
3244
  secure_url: Joi.string().allow(""),
1259
3245
  });
1260
3246
  }
3247
+
3248
+ /** @returns {Segment} */
1261
3249
  static Segment() {
1262
3250
  return Joi.object({
1263
- credentials: ConfigurationModel.SegmentCredentials(),
3251
+ credentials: ConfigurationPlatformModel.SegmentCredentials(),
1264
3252
  enabled: Joi.boolean(),
1265
3253
  });
1266
3254
  }
3255
+
3256
+ /** @returns {SegmentCredentials} */
1267
3257
  static SegmentCredentials() {
1268
3258
  return Joi.object({
1269
3259
  write_key: Joi.string().allow(""),
1270
3260
  });
1271
3261
  }
3262
+
3263
+ /** @returns {SocialLinks} */
1272
3264
  static SocialLinks() {
1273
3265
  return Joi.object({
1274
- blog_link: ConfigurationModel.BlogLink(),
1275
- facebook: ConfigurationModel.FacebookLink(),
1276
- google_plus: ConfigurationModel.GooglePlusLink(),
1277
- instagram: ConfigurationModel.InstagramLink(),
1278
- linked_in: ConfigurationModel.LinkedInLink(),
1279
- pinterest: ConfigurationModel.PinterestLink(),
1280
- twitter: ConfigurationModel.TwitterLink(),
1281
- vimeo: ConfigurationModel.VimeoLink(),
1282
- youtube: ConfigurationModel.YoutubeLink(),
3266
+ blog_link: ConfigurationPlatformModel.BlogLink(),
3267
+ facebook: ConfigurationPlatformModel.FacebookLink(),
3268
+ google_plus: ConfigurationPlatformModel.GooglePlusLink(),
3269
+ instagram: ConfigurationPlatformModel.InstagramLink(),
3270
+ linked_in: ConfigurationPlatformModel.LinkedInLink(),
3271
+ pinterest: ConfigurationPlatformModel.PinterestLink(),
3272
+ twitter: ConfigurationPlatformModel.TwitterLink(),
3273
+ vimeo: ConfigurationPlatformModel.VimeoLink(),
3274
+ youtube: ConfigurationPlatformModel.YoutubeLink(),
1283
3275
  });
1284
3276
  }
3277
+
3278
+ /** @returns {SplashImage} */
1285
3279
  static SplashImage() {
1286
3280
  return Joi.object({
1287
3281
  aspect_ratio: Joi.string().allow(""),
1288
3282
  secure_url: Joi.string().allow(""),
1289
3283
  });
1290
3284
  }
3285
+
3286
+ /** @returns {StoreByBrandsRequest} */
1291
3287
  static StoreByBrandsRequest() {
1292
3288
  return Joi.object({
1293
3289
  brands: Joi.number().required(),
@@ -1295,76 +3291,98 @@ class ConfigurationModel {
1295
3291
  search_text: Joi.string().allow(""),
1296
3292
  });
1297
3293
  }
3294
+
3295
+ /** @returns {StoreByBrandsResponse} */
1298
3296
  static StoreByBrandsResponse() {
1299
3297
  return Joi.object({
1300
- items: Joi.array().items(ConfigurationModel.BrandStoreInfo()),
1301
- page: ConfigurationModel.Page(),
3298
+ items: Joi.array().items(ConfigurationPlatformModel.BrandStoreInfo()),
3299
+ page: ConfigurationPlatformModel.Page(),
1302
3300
  });
1303
3301
  }
3302
+
3303
+ /** @returns {StoreCriteriaRule} */
1304
3304
  static StoreCriteriaRule() {
1305
3305
  return Joi.object({
1306
3306
  brands: Joi.array().items(Joi.number()),
1307
3307
  companies: Joi.array().items(Joi.number()),
1308
3308
  });
1309
3309
  }
3310
+
3311
+ /** @returns {StoreLatLong} */
1310
3312
  static StoreLatLong() {
1311
3313
  return Joi.object({
1312
3314
  coordinates: Joi.array().items(Joi.number()),
1313
3315
  type: Joi.string().allow(""),
1314
3316
  });
1315
3317
  }
3318
+
3319
+ /** @returns {StorePriority} */
1316
3320
  static StorePriority() {
1317
3321
  return Joi.object({
1318
3322
  enabled: Joi.boolean(),
1319
3323
  storetype_order: Joi.array().items(Joi.any()),
1320
3324
  });
1321
3325
  }
3326
+
3327
+ /** @returns {StorePriorityRule} */
1322
3328
  static StorePriorityRule() {
1323
3329
  return Joi.object({
1324
3330
  enabled: Joi.boolean(),
1325
3331
  storetype_order: Joi.array().items(Joi.string().allow("")),
1326
3332
  });
1327
3333
  }
3334
+
3335
+ /** @returns {StoresResponse} */
1328
3336
  static StoresResponse() {
1329
3337
  return Joi.object({
1330
- items: ConfigurationModel.AppInventoryStores(),
1331
- page: ConfigurationModel.Page(),
3338
+ items: ConfigurationPlatformModel.AppInventoryStores(),
3339
+ page: ConfigurationPlatformModel.Page(),
1332
3340
  });
1333
3341
  }
3342
+
3343
+ /** @returns {StoreValidator} */
1334
3344
  static StoreValidator() {
1335
3345
  return Joi.object({
1336
3346
  browser_script: Joi.string().allow(""),
1337
- json_schema: Joi.array().items(ConfigurationModel.JsonSchema()),
3347
+ json_schema: Joi.array().items(ConfigurationPlatformModel.JsonSchema()),
1338
3348
  });
1339
3349
  }
3350
+
3351
+ /** @returns {SuccessMessageResponse} */
1340
3352
  static SuccessMessageResponse() {
1341
3353
  return Joi.object({
1342
3354
  message: Joi.string().allow(""),
1343
3355
  success: Joi.boolean(),
1344
3356
  });
1345
3357
  }
3358
+
3359
+ /** @returns {TokenResponse} */
1346
3360
  static TokenResponse() {
1347
3361
  return Joi.object({
1348
3362
  __v: Joi.number(),
1349
3363
  _id: Joi.string().allow(""),
1350
3364
  application: Joi.string().allow(""),
1351
3365
  created_at: Joi.string().allow(""),
1352
- tokens: ConfigurationModel.Tokens(),
3366
+ tokens: ConfigurationPlatformModel.Tokens(),
1353
3367
  updated_at: Joi.string().allow(""),
1354
3368
  });
1355
3369
  }
3370
+
3371
+ /** @returns {Tokens} */
1356
3372
  static Tokens() {
1357
3373
  return Joi.object({
1358
- firebase: ConfigurationModel.Firebase(),
1359
- freshchat: ConfigurationModel.Freshchat(),
1360
- fynd_rewards: ConfigurationModel.FyndRewards(),
1361
- google_map: ConfigurationModel.GoogleMap(),
1362
- gtm: ConfigurationModel.Gtm(),
1363
- moengage: ConfigurationModel.Moengage(),
1364
- safetynet: ConfigurationModel.Safetynet(),
1365
- segment: ConfigurationModel.Segment(),
3374
+ firebase: ConfigurationPlatformModel.Firebase(),
3375
+ freshchat: ConfigurationPlatformModel.Freshchat(),
3376
+ fynd_rewards: ConfigurationPlatformModel.FyndRewards(),
3377
+ google_map: ConfigurationPlatformModel.GoogleMap(),
3378
+ gtm: ConfigurationPlatformModel.Gtm(),
3379
+ moengage: ConfigurationPlatformModel.Moengage(),
3380
+ safetynet: ConfigurationPlatformModel.Safetynet(),
3381
+ segment: ConfigurationPlatformModel.Segment(),
1366
3382
  });
1367
3383
  }
3384
+
3385
+ /** @returns {TwitterLink} */
1368
3386
  static TwitterLink() {
1369
3387
  return Joi.object({
1370
3388
  icon: Joi.string().allow(""),
@@ -1372,11 +3390,15 @@ class ConfigurationModel {
1372
3390
  title: Joi.string().allow(""),
1373
3391
  });
1374
3392
  }
3393
+
3394
+ /** @returns {UnhandledError} */
1375
3395
  static UnhandledError() {
1376
3396
  return Joi.object({
1377
3397
  message: Joi.string().allow(""),
1378
3398
  });
1379
3399
  }
3400
+
3401
+ /** @returns {UpdateDomain} */
1380
3402
  static UpdateDomain() {
1381
3403
  return Joi.object({
1382
3404
  _id: Joi.string().allow(""),
@@ -1386,17 +3408,23 @@ class ConfigurationModel {
1386
3408
  verified: Joi.boolean(),
1387
3409
  });
1388
3410
  }
3411
+
3412
+ /** @returns {UpdateDomainTypeRequest} */
1389
3413
  static UpdateDomainTypeRequest() {
1390
3414
  return Joi.object({
1391
3415
  action: Joi.string().allow(""),
1392
- domain: ConfigurationModel.UpdateDomain(),
3416
+ domain: ConfigurationPlatformModel.UpdateDomain(),
1393
3417
  });
1394
3418
  }
3419
+
3420
+ /** @returns {UpdateIntegrationLevelRequest} */
1395
3421
  static UpdateIntegrationLevelRequest() {
1396
3422
  return Joi.object({
1397
- items: Joi.array().items(ConfigurationModel.IntegrationLevel()),
3423
+ items: Joi.array().items(ConfigurationPlatformModel.IntegrationLevel()),
1398
3424
  });
1399
3425
  }
3426
+
3427
+ /** @returns {UserEmail} */
1400
3428
  static UserEmail() {
1401
3429
  return Joi.object({
1402
3430
  active: Joi.boolean(),
@@ -1405,6 +3433,8 @@ class ConfigurationModel {
1405
3433
  verified: Joi.boolean(),
1406
3434
  });
1407
3435
  }
3436
+
3437
+ /** @returns {UserPhoneNumber} */
1408
3438
  static UserPhoneNumber() {
1409
3439
  return Joi.object({
1410
3440
  active: Joi.boolean(),
@@ -1414,19 +3444,25 @@ class ConfigurationModel {
1414
3444
  verified: Joi.boolean(),
1415
3445
  });
1416
3446
  }
3447
+
3448
+ /** @returns {ValidationFailedResponse} */
1417
3449
  static ValidationFailedResponse() {
1418
3450
  return Joi.object({
1419
3451
  message: Joi.string().allow(""),
1420
3452
  });
1421
3453
  }
3454
+
3455
+ /** @returns {Validators} */
1422
3456
  static Validators() {
1423
3457
  return Joi.object({
1424
- company: ConfigurationModel.CompanyValidator(),
1425
- inventory: ConfigurationModel.InventoryValidator(),
1426
- order: ConfigurationModel.OrderValidator(),
1427
- store: ConfigurationModel.StoreValidator(),
3458
+ company: ConfigurationPlatformModel.CompanyValidator(),
3459
+ inventory: ConfigurationPlatformModel.InventoryValidator(),
3460
+ order: ConfigurationPlatformModel.OrderValidator(),
3461
+ store: ConfigurationPlatformModel.StoreValidator(),
1428
3462
  });
1429
3463
  }
3464
+
3465
+ /** @returns {VimeoLink} */
1430
3466
  static VimeoLink() {
1431
3467
  return Joi.object({
1432
3468
  icon: Joi.string().allow(""),
@@ -1434,6 +3470,8 @@ class ConfigurationModel {
1434
3470
  title: Joi.string().allow(""),
1435
3471
  });
1436
3472
  }
3473
+
3474
+ /** @returns {YoutubeLink} */
1437
3475
  static YoutubeLink() {
1438
3476
  return Joi.object({
1439
3477
  icon: Joi.string().allow(""),
@@ -1442,4 +3480,4 @@ class ConfigurationModel {
1442
3480
  });
1443
3481
  }
1444
3482
  }
1445
- module.exports = ConfigurationModel;
3483
+ module.exports = ConfigurationPlatformModel;