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