@gofynd/fdk-client-javascript 1.4.1 → 1.4.2-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/README.md +1 -1
  2. package/package.json +3 -2
  3. package/sdk/application/ApplicationClient.js +20 -0
  4. package/sdk/application/Cart/CartApplicationClient.d.ts +1 -1
  5. package/sdk/application/Cart/CartApplicationClient.js +3 -5
  6. package/sdk/application/Cart/CartApplicationModel.d.ts +1634 -1742
  7. package/sdk/application/Cart/CartApplicationModel.js +1388 -1464
  8. package/sdk/application/Cart/CartApplicationValidator.d.ts +0 -4
  9. package/sdk/application/Cart/CartApplicationValidator.js +0 -4
  10. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +6 -3
  11. package/sdk/application/Catalog/CatalogApplicationClient.js +20 -7
  12. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +1917 -1917
  13. package/sdk/application/Catalog/CatalogApplicationModel.js +1613 -1613
  14. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +14 -0
  15. package/sdk/application/Catalog/CatalogApplicationValidator.js +6 -0
  16. package/sdk/application/Common/CommonApplicationModel.d.ts +235 -235
  17. package/sdk/application/Common/CommonApplicationModel.js +172 -172
  18. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +72 -72
  19. package/sdk/application/Communication/CommunicationApplicationModel.js +64 -64
  20. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +1492 -1626
  21. package/sdk/application/Configuration/ConfigurationApplicationModel.js +1038 -1180
  22. package/sdk/application/Content/ContentApplicationClient.d.ts +0 -36
  23. package/sdk/application/Content/ContentApplicationClient.js +0 -246
  24. package/sdk/application/Content/ContentApplicationModel.d.ts +546 -753
  25. package/sdk/application/Content/ContentApplicationModel.js +565 -817
  26. package/sdk/application/Content/ContentApplicationValidator.d.ts +1 -40
  27. package/sdk/application/Content/ContentApplicationValidator.js +0 -41
  28. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +79 -79
  29. package/sdk/application/FileStorage/FileStorageApplicationModel.js +84 -84
  30. package/sdk/application/Lead/LeadApplicationModel.d.ts +417 -417
  31. package/sdk/application/Lead/LeadApplicationModel.js +301 -301
  32. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +0 -67
  33. package/sdk/application/Logistic/LogisticApplicationClient.js +0 -547
  34. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +257 -712
  35. package/sdk/application/Logistic/LogisticApplicationModel.js +267 -755
  36. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +1 -211
  37. package/sdk/application/Logistic/LogisticApplicationValidator.js +0 -131
  38. package/sdk/application/Order/OrderApplicationClient.d.ts +3 -3
  39. package/sdk/application/Order/OrderApplicationClient.js +8 -32
  40. package/sdk/application/Order/OrderApplicationModel.d.ts +845 -853
  41. package/sdk/application/Order/OrderApplicationModel.js +816 -824
  42. package/sdk/application/Order/OrderApplicationValidator.d.ts +0 -20
  43. package/sdk/application/Order/OrderApplicationValidator.js +0 -8
  44. package/sdk/application/Payment/PaymentApplicationClient.d.ts +2 -46
  45. package/sdk/application/Payment/PaymentApplicationClient.js +10 -341
  46. package/sdk/application/Payment/PaymentApplicationModel.d.ts +1892 -2199
  47. package/sdk/application/Payment/PaymentApplicationModel.js +1235 -1506
  48. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +14 -59
  49. package/sdk/application/Payment/PaymentApplicationValidator.js +10 -64
  50. package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1396 -1429
  51. package/sdk/application/PosCart/PosCartApplicationModel.js +1233 -1257
  52. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +214 -214
  53. package/sdk/application/Rewards/RewardsApplicationModel.js +211 -211
  54. package/sdk/application/Share/ShareApplicationModel.d.ts +114 -114
  55. package/sdk/application/Share/ShareApplicationModel.js +121 -121
  56. package/sdk/application/Theme/ThemeApplicationClient.d.ts +1 -1
  57. package/sdk/application/Theme/ThemeApplicationClient.js +3 -7
  58. package/sdk/application/Theme/ThemeApplicationModel.d.ts +783 -969
  59. package/sdk/application/Theme/ThemeApplicationModel.js +571 -867
  60. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +0 -10
  61. package/sdk/application/Theme/ThemeApplicationValidator.js +0 -4
  62. package/sdk/application/User/UserApplicationClient.d.ts +0 -33
  63. package/sdk/application/User/UserApplicationClient.js +0 -239
  64. package/sdk/application/User/UserApplicationModel.d.ts +753 -768
  65. package/sdk/application/User/UserApplicationModel.js +731 -755
  66. package/sdk/application/User/UserApplicationValidator.d.ts +1 -34
  67. package/sdk/application/User/UserApplicationValidator.js +0 -36
  68. package/sdk/common/Clickstream.d.ts +1 -0
  69. package/sdk/common/Clickstream.js +254 -0
  70. package/sdk/common/Utility.js +1 -4
  71. package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +72 -60
  72. package/sdk/partner/FileStorage/FileStoragePartnerModel.js +70 -58
  73. package/sdk/partner/PartnerClient.d.ts +0 -6
  74. package/sdk/partner/PartnerClient.js +0 -9
  75. package/sdk/partner/Theme/ThemePartnerClient.d.ts +0 -10
  76. package/sdk/partner/Theme/ThemePartnerClient.js +0 -80
  77. package/sdk/partner/Theme/ThemePartnerModel.d.ts +1178 -1153
  78. package/sdk/partner/Theme/ThemePartnerModel.js +830 -974
  79. package/sdk/partner/Theme/ThemePartnerValidator.d.ts +0 -1
  80. package/sdk/partner/Theme/ThemePartnerValidator.js +0 -9
  81. package/sdk/partner/index.d.ts +0 -3
  82. package/sdk/partner/index.js +0 -6
  83. package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +2 -2
  84. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +123 -123
  85. package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +109 -109
  86. package/sdk/platform/Billing/BillingPlatformClient.d.ts +1 -11
  87. package/sdk/platform/Billing/BillingPlatformClient.js +3 -110
  88. package/sdk/platform/Billing/BillingPlatformModel.d.ts +734 -800
  89. package/sdk/platform/Billing/BillingPlatformModel.js +732 -810
  90. package/sdk/platform/Billing/BillingPlatformValidator.d.ts +4 -43
  91. package/sdk/platform/Billing/BillingPlatformValidator.js +2 -29
  92. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +11 -1
  93. package/sdk/platform/Cart/CartPlatformApplicationClient.js +81 -7
  94. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +13 -5
  95. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +12 -4
  96. package/sdk/platform/Cart/CartPlatformModel.d.ts +3223 -3328
  97. package/sdk/platform/Cart/CartPlatformModel.js +2875 -2946
  98. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +11 -15
  99. package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +21 -52
  100. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +0 -27
  101. package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +0 -11
  102. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +15 -27
  103. package/sdk/platform/Catalog/CatalogPlatformClient.js +93 -189
  104. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +617 -920
  105. package/sdk/platform/Catalog/CatalogPlatformModel.js +584 -919
  106. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +27 -41
  107. package/sdk/platform/Catalog/CatalogPlatformValidator.js +19 -31
  108. package/sdk/platform/Common/CommonPlatformModel.d.ts +255 -255
  109. package/sdk/platform/Common/CommonPlatformModel.js +187 -187
  110. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +37 -139
  111. package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +52 -737
  112. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +3 -133
  113. package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +1 -113
  114. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1079 -1228
  115. package/sdk/platform/Communication/CommunicationPlatformModel.js +1090 -1262
  116. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +2 -8
  117. package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +4 -32
  118. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +629 -658
  119. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +641 -675
  120. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.d.ts +0 -14
  121. package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.js +0 -6
  122. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +8 -8
  123. package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +4 -4
  124. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +2992 -3231
  125. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2092 -2303
  126. package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +2 -2
  127. package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +2 -2
  128. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +0 -391
  129. package/sdk/platform/Content/ContentPlatformApplicationClient.js +1074 -3656
  130. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +1 -351
  131. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +0 -410
  132. package/sdk/platform/Content/ContentPlatformModel.d.ts +972 -2071
  133. package/sdk/platform/Content/ContentPlatformModel.js +1039 -2355
  134. package/sdk/platform/Discount/DiscountPlatformClient.d.ts +2 -2
  135. package/sdk/platform/Discount/DiscountPlatformClient.js +2 -2
  136. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +174 -259
  137. package/sdk/platform/Discount/DiscountPlatformModel.js +163 -257
  138. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +6 -16
  139. package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +8 -117
  140. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +4 -55
  141. package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +2 -39
  142. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +821 -892
  143. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +833 -901
  144. package/sdk/platform/Finance/FinancePlatformClient.d.ts +0 -33
  145. package/sdk/platform/Finance/FinancePlatformClient.js +0 -240
  146. package/sdk/platform/Finance/FinancePlatformModel.d.ts +910 -1056
  147. package/sdk/platform/Finance/FinancePlatformModel.js +884 -1070
  148. package/sdk/platform/Finance/FinancePlatformValidator.d.ts +1 -38
  149. package/sdk/platform/Finance/FinancePlatformValidator.js +0 -38
  150. package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +942 -942
  151. package/sdk/platform/Inventory/InventoryPlatformModel.js +1003 -1003
  152. package/sdk/platform/Lead/LeadPlatformApplicationClient.d.ts +28 -38
  153. package/sdk/platform/Lead/LeadPlatformApplicationClient.js +56 -137
  154. package/sdk/platform/Lead/LeadPlatformApplicationValidator.d.ts +29 -41
  155. package/sdk/platform/Lead/LeadPlatformApplicationValidator.js +21 -33
  156. package/sdk/platform/Lead/LeadPlatformModel.d.ts +601 -610
  157. package/sdk/platform/Lead/LeadPlatformModel.js +457 -471
  158. package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +1 -11
  159. package/sdk/platform/Order/OrderPlatformApplicationClient.js +1 -93
  160. package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +1 -28
  161. package/sdk/platform/Order/OrderPlatformApplicationValidator.js +0 -18
  162. package/sdk/platform/Order/OrderPlatformClient.d.ts +22 -143
  163. package/sdk/platform/Order/OrderPlatformClient.js +160 -1190
  164. package/sdk/platform/Order/OrderPlatformModel.d.ts +4451 -5275
  165. package/sdk/platform/Order/OrderPlatformModel.js +4039 -4994
  166. package/sdk/platform/Order/OrderPlatformValidator.d.ts +21 -257
  167. package/sdk/platform/Order/OrderPlatformValidator.js +15 -216
  168. package/sdk/platform/Partner/PartnerPlatformModel.d.ts +22 -22
  169. package/sdk/platform/Partner/PartnerPlatformModel.js +22 -22
  170. package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +13 -119
  171. package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +40 -750
  172. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +7 -143
  173. package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +6 -133
  174. package/sdk/platform/Payment/PaymentPlatformClient.d.ts +1 -1
  175. package/sdk/platform/Payment/PaymentPlatformClient.js +1 -1
  176. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2067 -2929
  177. package/sdk/platform/Payment/PaymentPlatformModel.js +1427 -2090
  178. package/sdk/platform/PlatformApplicationClient.d.ts +2 -2
  179. package/sdk/platform/PlatformApplicationClient.js +4 -4
  180. package/sdk/platform/PlatformClient.d.ts +2 -4
  181. package/sdk/platform/PlatformClient.js +4 -8
  182. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +204 -204
  183. package/sdk/platform/Rewards/RewardsPlatformModel.js +199 -199
  184. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +66 -142
  185. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +147 -645
  186. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +63 -131
  187. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +47 -126
  188. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +105 -217
  189. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +349 -1138
  190. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +990 -1589
  191. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +986 -1702
  192. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +133 -382
  193. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +102 -266
  194. package/sdk/platform/Share/SharePlatformModel.d.ts +147 -147
  195. package/sdk/platform/Share/SharePlatformModel.js +139 -139
  196. package/sdk/platform/Theme/ThemePlatformClient.d.ts +1 -11
  197. package/sdk/platform/Theme/ThemePlatformClient.js +3 -87
  198. package/sdk/platform/Theme/ThemePlatformModel.d.ts +765 -1133
  199. package/sdk/platform/Theme/ThemePlatformModel.js +561 -1009
  200. package/sdk/platform/Theme/ThemePlatformValidator.d.ts +4 -28
  201. package/sdk/platform/Theme/ThemePlatformValidator.js +2 -21
  202. package/sdk/platform/User/UserPlatformApplicationClient.d.ts +1 -116
  203. package/sdk/platform/User/UserPlatformApplicationClient.js +86 -932
  204. package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +7 -224
  205. package/sdk/platform/User/UserPlatformApplicationValidator.js +5 -173
  206. package/sdk/platform/User/UserPlatformModel.d.ts +428 -765
  207. package/sdk/platform/User/UserPlatformModel.js +428 -679
  208. package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +37 -45
  209. package/sdk/platform/Webhook/WebhookPlatformClient.js +57 -61
  210. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +403 -448
  211. package/sdk/platform/Webhook/WebhookPlatformModel.js +309 -369
  212. package/sdk/platform/Webhook/WebhookPlatformValidator.d.ts +10 -7
  213. package/sdk/platform/Webhook/WebhookPlatformValidator.js +6 -6
  214. package/sdk/platform/index.d.ts +1 -1
  215. package/sdk/platform/index.js +2 -2
  216. package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +237 -237
  217. package/sdk/public/Configuration/ConfigurationPublicModel.js +174 -174
  218. package/sdk/public/Inventory/InventoryPublicModel.d.ts +237 -237
  219. package/sdk/public/Inventory/InventoryPublicModel.js +257 -257
  220. package/sdk/public/Partner/PartnerPublicModel.d.ts +104 -104
  221. package/sdk/public/Partner/PartnerPublicModel.js +113 -113
  222. package/sdk/public/PublicClient.d.ts +0 -4
  223. package/sdk/public/PublicClient.js +0 -8
  224. package/sdk/public/Webhook/WebhookPublicClient.d.ts +0 -33
  225. package/sdk/public/Webhook/WebhookPublicClient.js +0 -242
  226. package/sdk/public/Webhook/WebhookPublicModel.d.ts +15 -161
  227. package/sdk/public/Webhook/WebhookPublicModel.js +13 -189
  228. package/sdk/public/Webhook/WebhookPublicValidator.d.ts +1 -23
  229. package/sdk/public/Webhook/WebhookPublicValidator.js +0 -31
  230. package/sdk/public/index.d.ts +0 -2
  231. package/sdk/public/index.js +0 -4
  232. package/sdk/partner/Lead/LeadPartnerClient.d.ts +0 -125
  233. package/sdk/partner/Lead/LeadPartnerClient.js +0 -785
  234. package/sdk/partner/Lead/LeadPartnerModel.d.ts +0 -1127
  235. package/sdk/partner/Lead/LeadPartnerModel.js +0 -896
  236. package/sdk/partner/Lead/LeadPartnerValidator.d.ts +0 -12
  237. package/sdk/partner/Lead/LeadPartnerValidator.js +0 -67
  238. package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +0 -155
  239. package/sdk/partner/Logistics/LogisticsPartnerClient.js +0 -1195
  240. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +0 -372
  241. package/sdk/partner/Logistics/LogisticsPartnerModel.js +0 -442
  242. package/sdk/partner/Logistics/LogisticsPartnerValidator.d.ts +0 -16
  243. package/sdk/partner/Logistics/LogisticsPartnerValidator.js +0 -123
  244. package/sdk/partner/Webhook/WebhookPartnerClient.d.ts +0 -99
  245. package/sdk/partner/Webhook/WebhookPartnerClient.js +0 -753
  246. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +0 -566
  247. package/sdk/partner/Webhook/WebhookPartnerModel.js +0 -583
  248. package/sdk/partner/Webhook/WebhookPartnerValidator.d.ts +0 -12
  249. package/sdk/partner/Webhook/WebhookPartnerValidator.js +0 -74
  250. package/sdk/platform/Content/ContentPlatformClient.d.ts +0 -277
  251. package/sdk/platform/Content/ContentPlatformClient.js +0 -2011
  252. package/sdk/platform/Content/ContentPlatformValidator.d.ts +0 -247
  253. package/sdk/platform/Content/ContentPlatformValidator.js +0 -319
  254. package/sdk/public/Billing/BillingPublicClient.d.ts +0 -23
  255. package/sdk/public/Billing/BillingPublicClient.js +0 -116
  256. package/sdk/public/Billing/BillingPublicModel.d.ts +0 -92
  257. package/sdk/public/Billing/BillingPublicModel.js +0 -96
  258. package/sdk/public/Billing/BillingPublicValidator.d.ts +0 -18
  259. package/sdk/public/Billing/BillingPublicValidator.js +0 -19
  260. package/sdk/public/Content/ContentPublicClient.d.ts +0 -22
  261. package/sdk/public/Content/ContentPublicClient.js +0 -114
  262. package/sdk/public/Content/ContentPublicModel.d.ts +0 -53
  263. package/sdk/public/Content/ContentPublicModel.js +0 -60
  264. package/sdk/public/Content/ContentPublicValidator.d.ts +0 -18
  265. package/sdk/public/Content/ContentPublicValidator.js +0 -19
@@ -1,425 +1,206 @@
1
1
  const Joi = require("joi");
2
2
 
3
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 AppCurrencyResponse
12
- * @property {string} [_id]
13
- * @property {string} [application] - Alphanumeric ID allotted to an application
14
- * (sales channel website) created within a business account
15
- * @property {string} [created_at]
16
- * @property {DefaultCurrency} [default_currency]
17
- * @property {string} [modified_at]
18
- * @property {Currency[]} [supported_currency]
19
- */
20
-
21
- /**
22
- * @typedef AppFeature
23
- * @property {number} [__v] - Version key for tracking revisions. Default value is zero
24
- * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
25
- * for the sales channel features
26
- * @property {string} [app] - Application ID of the sales channel
27
- * @property {CartFeature} [cart]
28
- * @property {CommonFeature} [common]
29
- * @property {string} [created_at] - ISO 8601 timestamp showing the date when
30
- * the features were configured
31
- * @property {HomePageFeature} [home_page]
32
- * @property {LandingPageFeature} [landing_page]
33
- * @property {string} [modified_at] - ISO 8601 timestamp of last known
34
- * modifications to the sales channel feature configuration
35
- * @property {OrderFeature} [order]
36
- * @property {PcrFeature} [pcr]
37
- * @property {ProductDetailFeature} [product_detail]
38
- * @property {QrFeature} [qr]
39
- * @property {RegistrationPageFeature} [registration_page]
40
- */
41
-
42
- /**
43
- * @typedef AppFeatureResponse
44
- * @property {AppFeature} [feature]
4
+ * @typedef ApplicationAboutResponse
5
+ * @property {ApplicationInfo} [application_info]
6
+ * @property {CompanyInfo} [company_info]
7
+ * @property {OwnerInfo} [owner_info]
45
8
  */
46
9
 
47
10
  /**
48
- * @typedef Application
49
- * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
11
+ * @typedef ApplicationInfo
50
12
  * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
51
- * of the sales channel
52
- * @property {string} [app_type] - It shows application is live or in development mode.
53
- * @property {ApplicationAuth} [auth]
54
- * @property {SecureUrl} [banner]
55
- * @property {number} [cache_ttl] - An integer value that specifies the number
56
- * of seconds until the key expires
57
- * @property {string} [channel_type] - It indicates different channel types like
58
- * store, website-and-mobile-apps. Default value is store
59
- * @property {number} [company_id] - Numeric ID allotted to a business account
60
- * where the sales channel exists
61
- * @property {ApplicationCors} [cors]
62
- * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation
63
- * @property {string} [description] - It contains detailed information about the
64
- * sales channel.
13
+ * of application information
65
14
  * @property {Domain} [domain]
66
- * @property {Domain[]} [domains]
67
- * @property {SecureUrl} [favicon]
68
- * @property {boolean} [is_active] - Indicates sales channel is active or not active
69
- * @property {boolean} [is_internal] - Indicates whether a sales channel is
70
- * internal or not
71
- * @property {SecureUrl} [logo]
72
- * @property {ApplicationMeta[]} [meta]
73
- * @property {SecureUrl} [mobile_logo]
74
- * @property {string} [mode]
75
- * @property {string} [modified_at] - ISO 8601 timestamp of sales channel updation
15
+ * @property {ApplicationWebsite} [website]
16
+ * @property {ApplicationCors} [cors]
17
+ * @property {string} [description] - It contains details information about the
18
+ * sales channel
76
19
  * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion
77
- * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID)
78
- * of owner who owns the application
79
- * @property {ApplicationRedirections[]} [redirections]
80
- * @property {string} [slug]
81
- * @property {string} [status]
20
+ * @property {ApplicationMeta} [meta]
82
21
  * @property {string} [token] - Random generated fix length string for sales
83
22
  * channel. It is required and auto-generated.
84
- * @property {TokenSchema[]} [tokens]
85
- * @property {ApplicationWebsite} [website]
86
- */
87
-
88
- /**
89
- * @typedef ApplicationAboutResponse
90
- * @property {ApplicationInfo} [application_info]
23
+ * @property {string} [secret] - Random generated fix length string for sales
24
+ * channel. It is required and auto-generated.
25
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel
26
+ * information creation
27
+ * @property {SecureUrl} [banner]
28
+ * @property {SecureUrl} [logo]
29
+ * @property {boolean} [is_active] - Indicates whether sales channel is active
30
+ * or not active
91
31
  */
92
32
 
93
33
  /**
94
- * @typedef ApplicationAuth
95
- * @property {boolean} [enabled] - Shows sales channel auth is enabled or not enabled.
34
+ * @typedef CompanyInfo
35
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
36
+ * of company information
37
+ * @property {number} [uid] - Company UID
38
+ * @property {string} [created_on] - ISO 8601 timestamp of company information creation
39
+ * @property {boolean} [is_active] - Indicates company is active or not active
40
+ * @property {string} [name] - Name of the company, Reliance Retail Limited
41
+ * @property {CompanyAboutAddress[]} [addresses]
42
+ * @property {string[]} [notification_emails]
96
43
  */
97
44
 
98
45
  /**
99
- * @typedef ApplicationCors
100
- * @property {string[]} [domains]
46
+ * @typedef OwnerInfo
47
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
48
+ * of owner info
49
+ * @property {UserEmail[]} [emails]
50
+ * @property {UserPhoneNumber[]} [phone_numbers]
51
+ * @property {string} [first_name] - First name of the owner
52
+ * @property {string} [last_name] - Last name of the owner
53
+ * @property {string} [profile_pic] - Hosted URL of profile pic
101
54
  */
102
55
 
103
56
  /**
104
- * @typedef ApplicationDetail
105
- * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
106
- * for the sales channel details
107
- * @property {SecureUrl} [banner]
108
- * @property {number} [company_id]
109
- * @property {string} [description] - It gives a detailed information about the
110
- * sales channel. It is required.
111
- * @property {Domain} [domain]
112
- * @property {Domain[]} [domains]
113
- * @property {SecureUrl} [favicon]
114
- * @property {SecureUrl} [logo]
115
- * @property {SecureUrl} [mobile_logo]
116
- * @property {string} name - Name of the sales channel. It is required.
117
- * @property {string} [slug]
57
+ * @typedef SupportedLanguage
58
+ * @property {string} [name] - Name of the supported language, e.g. हिन्दी
59
+ * @property {string} [code] - Unique code of supported language, e.g. hi-IN
118
60
  */
119
61
 
120
62
  /**
121
- * @typedef ApplicationInfo
122
- * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
123
- * of application information
124
- * @property {SecureUrl} [banner]
125
- * @property {CompanyInfo} [company_info]
126
- * @property {ApplicationCors} [cors]
127
- * @property {string} [created_at] - ISO 8601 timestamp of sales channel
128
- * information creation
129
- * @property {string} [description] - It contains details information about the
130
- * sales channel
131
- * @property {Domain} [domain]
132
- * @property {Domain[]} [domains]
133
- * @property {SecureUrl} [favicon]
134
- * @property {boolean} [is_active] - Indicates whether sales channel is active
135
- * or not active
136
- * @property {SecureUrl} [logo]
137
- * @property {ApplicationMeta[]} [meta]
138
- * @property {SecureUrl} [mobile_logo]
139
- * @property {string} [mode]
140
- * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion
141
- * @property {OwnerInfo} [owner_info]
142
- * @property {string} [secret] - Random generated fix length string for sales
143
- * channel. It is required and auto-generated.
144
- * @property {string} [slug]
145
- * @property {string} [token] - Random generated fix length string for sales
146
- * channel. It is required and auto-generated.
147
- * @property {TokenSchema[]} [tokens]
148
- * @property {ApplicationWebsite} [website]
63
+ * @typedef LanguageResponse
64
+ * @property {SupportedLanguage[]} [items]
149
65
  */
150
66
 
151
67
  /**
152
- * @typedef ApplicationInformation
153
- * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
154
- * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of
155
- * the application information
156
- * @property {InformationAddress} [address]
157
- * @property {string} [application] - Alphanumeric ID allotted to a sales
158
- * channel application created within a business account
159
- * @property {BusinessHighlights[]} [business_highlights]
160
- * @property {string} [copyright_text] - Copyright statement usually seen at the
161
- * site's footer
162
- * @property {string} [created_at] - ISO 8601 timestamp of creation of the
163
- * application information
164
- * @property {Links[]} [links]
165
- * @property {string} [modified_at] - ISO 8601 timestamp of updation of the
166
- * application information
167
- * @property {SocialLinks} [social_links]
168
- * @property {InformationSupport} [support]
68
+ * @typedef AppStaffResponse
69
+ * @property {AppStaff[]} [staff_users]
169
70
  */
170
71
 
171
72
  /**
172
- * @typedef ApplicationMeta
173
- * @property {string} [name] - Indicates to name of application meta
174
- * @property {string} [value] - Value related to application meta name
73
+ * @typedef AppStaffListResponse
74
+ * @property {Page} [page]
75
+ * @property {AppStaff[]} [items]
175
76
  */
176
77
 
177
78
  /**
178
- * @typedef ApplicationRedirections
179
- * @property {string} [redirect_from] - Old domain url of the sales channel
180
- * @property {string} [redirect_to] - New domain URL of the sales channel. Users
181
- * will be automatically redirected from old domain to new domain.
182
- * @property {string} [type] - It shows domain redirection type. Permanent
183
- * redirection is for long time period redirection, and temporary redirection
184
- * for a short time period.
79
+ * @typedef OrderingStoreSelectRequest
80
+ * @property {OrderingStoreSelect} ordering_store
185
81
  */
186
82
 
187
83
  /**
188
- * @typedef ApplicationWebsite
189
- * @property {string} [basepath] - Base path for the current sales channel website
190
- * @property {boolean} [enabled] - Shows whether sales channel website URL is
191
- * enabled or not
84
+ * @typedef OrderingStoreSelect
85
+ * @property {number} uid - Ordering store unique uid. It is required.
192
86
  */
193
87
 
194
88
  /**
195
89
  * @typedef AppStaff
196
90
  * @property {string} [_id] - The unique identifier for the sales channel staff member
91
+ * @property {boolean} [order_incent] - This is a boolean value. `true` to
92
+ * retrieve the staff members eligible for getting incentives on orders.
93
+ * @property {number[]} [stores]
197
94
  * @property {string} [application] - The unique identifier (24-digit Mongo
198
95
  * Object ID) of the current sales channel
96
+ * @property {string} [title] - Tittle for the staff member like owner, staff.
97
+ * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the
98
+ * details of a particular staff member.
199
99
  * @property {string} [employee_code] - Employee code of sales channel staff
200
100
  * member. It has unique value.
201
101
  * @property {string} [first_name] - First name the staff member
202
102
  * @property {string} [last_name] - Last name the staff member
203
- * @property {boolean} [order_incent] - This is a boolean value. `true` to
204
- * retrieve the staff members eligible for getting incentives on orders.
205
103
  * @property {string} [profile_pic_url] - Profile image hosted url of the staff member
206
- * @property {number[]} [stores]
207
- * @property {string} [title] - Tittle for the staff member like owner, staff.
208
- * @property {string} [user] - Mongo ID of the staff. Helps in retrieving the
209
- * details of a particular staff member.
210
- */
211
-
212
- /**
213
- * @typedef AppStaffListResponse
214
- * @property {AppStaff[]} [items]
215
- * @property {Page} [page]
216
- */
217
-
218
- /**
219
- * @typedef AppStaffResponse
220
- * @property {AppStaff[]} [staff_users]
221
104
  */
222
105
 
223
106
  /**
224
107
  * @typedef AppTokenResponse
225
- * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
108
+ * @property {Tokens} [tokens]
226
109
  * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
227
110
  * of the token
228
111
  * @property {string} [application] - Alphanumeric ID allotted to the current
229
112
  * application created within the current business account
230
113
  * @property {string} [created_at] - ISO 8601 timestamp of token creation
231
- * @property {string} [modified_at] - ISO 8601 timestamp of token updation
232
- * @property {Tokens} [tokens]
233
- */
234
-
235
- /**
236
- * @typedef BlogLink
237
- * @property {string} [icon] - Hosted URL of icon image shown on the website
238
- * @property {string} [link] - Web URL of brand's blog page
239
- * @property {string} [title] - Name of the brand's blog page
114
+ * @property {string} [updated_at] - ISO 8601 timestamp of token updation
115
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
240
116
  */
241
117
 
242
118
  /**
243
- * @typedef BusinessHighlights
244
- * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of
245
- * the related business
246
- * @property {string} [icon] - Hosted URL of icon image representing the
247
- * business highlight
248
- * @property {string} [sub_title] - Detailed information about the highlight
249
- * @property {string} [title] - Title of the business highlight, e.g. Superfast Delivery
119
+ * @typedef Tokens
120
+ * @property {Firebase} [firebase]
121
+ * @property {Moengage} [moengage]
122
+ * @property {Segment} [segment]
123
+ * @property {Gtm} [gtm]
124
+ * @property {Freshchat} [freshchat]
125
+ * @property {Safetynet} [safetynet]
126
+ * @property {FyndRewards} [fynd_rewards]
127
+ * @property {GoogleMap} [google_map]
250
128
  */
251
129
 
252
130
  /**
253
- * @typedef CartFeature
254
- * @property {boolean} [google_map] - Allow adding of Google Maps. Default value is true.
255
- * @property {boolean} [gst_input] - Shows whether customer is allowed to enter
256
- * GST on the cart page for claiming input credits
257
- * @property {boolean} [placing_for_customer] - Shows whether the staff is
258
- * placing order on behalf of customer. Default value is true.
259
- * @property {boolean} [revenue_engine_coupon] - Allow coupon apply and credits,
260
- * together. Default value is false.
261
- * @property {boolean} [staff_selection] - Shows whether staff selection is
262
- * enabled on cart page
263
- */
264
-
265
- /**
266
- * @typedef CommonFeature
267
- * @property {CommunicationOptinDialogFeature} [communication_optin_dialog]
268
- * @property {CompareProductsFeature} [compare_products]
269
- * @property {CurrencyFeature} [currency]
270
- * @property {DeploymentStoreSelectionFeature} [deployment_store_selection]
271
- * @property {FeedbackFeature} [feedback]
272
- * @property {InternationalShipping} [international_shipping]
273
- * @property {ListingPageFeature} [listing_page]
274
- * @property {ListingPriceFeature} [listing_price]
275
- * @property {RevenueEngineFeature} [revenue_engine]
276
- * @property {RewardPointsConfig} [reward_points]
277
- */
278
-
279
- /**
280
- * @typedef CommunicationOptinDialogFeature
281
- * @property {boolean} [visibility] - Shows whether WhatsApp communication is enabled
282
- */
283
-
284
- /**
285
- * @typedef CompanyAboutAddress
286
- * @property {string} [address_type] - Indicates different office types like
287
- * office, registered, and home.
288
- * @property {string} [address1] - Primary address line of the company
289
- * @property {string} [address2] - Secondary address line of the company
290
- * @property {string} [city] - City name, e.g. Mumbai
291
- * @property {string} [country] - Country name, e.g. India
292
- * @property {number} [pincode] - 6-digit PIN code of the city, e.g. 400001
293
- * @property {string} [state] - State name, e.g. Maharashtra
294
- */
295
-
296
- /**
297
- * @typedef CompanyInfo
298
- * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
299
- * of company information
300
- * @property {CompanyAboutAddress[]} [addresses]
301
- * @property {string} [created_on] - ISO 8601 timestamp of company information creation
302
- * @property {boolean} [is_active] - Indicates company is active or not active
303
- * @property {string} [name] - Name of the company, Reliance Retail Limited
304
- * @property {string[]} [notification_emails]
305
- * @property {number} [uid] - Company UID
306
- */
307
-
308
- /**
309
- * @typedef CompareProductsFeature
310
- * @property {boolean} [enabled] - Shows whether product comparison feature is
311
- * enabled on PDP
131
+ * @typedef Firebase
132
+ * @property {Credentials} [credentials]
133
+ * @property {boolean} [enabled] - Shows whether Firebase integration is enabled
134
+ * or disabled for the sales channel
312
135
  */
313
136
 
314
137
  /**
315
138
  * @typedef Credentials
139
+ * @property {Ios} [ios]
316
140
  * @property {Android} [android]
317
- * @property {string} [api_key] - An API key is a unique string that's used to
318
- * route requests to your Firebase project when interacting with Firebase.
319
- * @property {string} [application_id] - Alphanumeric ID allotted to the current
320
- * application created within the current business account
141
+ * @property {string} [project_id] - Project ID for Firebase integration.
142
+ * Project ID is a unique identifier for a project and is used only within the console.
321
143
  * @property {string} [gcm_sender_id] - Google Cloud Manager's Sender ID for
322
144
  * Firebase. It is a unique numerical value which is created when you
323
145
  * configure your project in the Google Developers Console/Google Cloud Console.
324
- * @property {Ios} [ios]
325
- * @property {string} [project_id] - Project ID for Firebase integration.
326
- * Project ID is a unique identifier for a project and is used only within the console.
327
- */
328
-
329
- /**
330
- * @typedef Credit
331
- * @property {boolean} [enabled] - Shows whether reward points should be credited
332
- */
333
-
334
- /**
335
- * @typedef CurrenciesResponse
336
- * @property {Currency[]} [items]
337
- */
338
-
339
- /**
340
- * @typedef Currency
341
- * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
342
- * of the current sales channel supported currency
343
- * @property {string} [code] - 3-character currency code, e.g. INR, USD, EUR.
344
- * @property {string} [country_code]
345
- * @property {string} [country_name]
346
- * @property {string} [created_at] - ISO 8601 timestamp of sales channel support
347
- * currency creation
348
- * @property {number} [decimal_digits] - Acceptable decimal limits for a given
349
- * currency, e.g. 1.05$ means upto 2 decimal digits can be accepted as a valid
350
- * value of a currency.
351
- * @property {boolean} [is_active] - Shows currency is enabled or not in current
352
- * sales channel
353
- * @property {string} [modified_at] - ISO 8601 timestamp of sales channel
354
- * support currency updation
355
- * @property {string} [name] - Name of the currency, e.g Indian Rupee
356
- * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹
146
+ * @property {string} [application_id] - Alphanumeric ID allotted to the current
147
+ * application created within the current business account
148
+ * @property {string} [api_key] - An API key is a unique string that's used to
149
+ * route requests to your Firebase project when interacting with Firebase.
357
150
  */
358
151
 
359
152
  /**
360
- * @typedef CurrencyFeature
361
- * @property {string} [default_currency] - 3-letter code of the default currency
362
- * used in the application. Default vaule is 'INR'.
363
- * @property {string} [type] - If 'explicit', currency formatting shows currency
364
- * code with price. For explicit or all currency selection.
365
- * @property {string[]} [value] - 3-letter currency code
153
+ * @typedef Ios
154
+ * @property {string} [application_id] - Alphanumeric ID allotted to a sales
155
+ * channel application created within a business account
156
+ * @property {string} [api_key] - Firebase secret credential API key for IOS
366
157
  */
367
158
 
368
159
  /**
369
- * @typedef Debit
370
- * @property {boolean} [auto_apply] - Allow automatic debit of reward points
371
- * @property {boolean} [enabled] - Shows whether reward points are available for debit
372
- * @property {string} [strategy_channel] - Strategy channel for debiting reward points
160
+ * @typedef Android
161
+ * @property {string} [application_id] - Alphanumeric ID allotted to a sales
162
+ * channel application created within a business account
163
+ * @property {string} [api_key] - Firebase secret credential API key for Android
373
164
  */
374
165
 
375
166
  /**
376
- * @typedef DefaultCurrency
377
- * @property {string} [code] - 3-character code of the default currency, e.g.
378
- * INR, EUR, USD
379
- * @property {string} [ref] - The unique identifier (24-digit Mongo Object ID)
380
- * of the default currency
167
+ * @typedef Moengage
168
+ * @property {MoengageCredentials} [credentials]
169
+ * @property {boolean} [enabled] - Shows whether MoEngage integation is enabled
170
+ * or disabled for the sales channel
381
171
  */
382
172
 
383
173
  /**
384
- * @typedef DeploymentStoreSelectionFeature
385
- * @property {boolean} [enabled] - Shows whether selection of store (for
386
- * deploying the application) is permitted
387
- * @property {string} [type] - Permitted values are 'hard' and 'soft'. For hard
388
- * type delivery, store selection is compulsory. For soft type, delivery store
389
- * selection is optional.
174
+ * @typedef MoengageCredentials
175
+ * @property {string} [app_id] - APP ID provided by MoEngage to identify a
176
+ * specific app. The app_id for your MoEngage account is available on the
177
+ * MoEngage Dashboard.
390
178
  */
391
179
 
392
180
  /**
393
- * @typedef Domain
394
- * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
395
- * of the sales channel domain
396
- * @property {boolean} [is_predefined] - Domain is hosting domain or not.
397
- * @property {boolean} [is_primary] - Domain is primary or not. Primary domain
398
- * is the default/main domain.
399
- * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain
400
- * @property {string} [name]
401
- * @property {boolean} [verified] - Domain is verified or not. TXT and A records
402
- * should propagate correctly.
181
+ * @typedef Segment
182
+ * @property {SegmentCredentials} [credentials]
183
+ * @property {boolean} [enabled] - Shows whether Segment integration is enabled
184
+ * or disabled for the sales channel
403
185
  */
404
186
 
405
187
  /**
406
- * @typedef FacebookLink
407
- * @property {string} [icon] - Hosted URL of social icon image shown on the website
408
- * @property {string} [link] - Web URL of brand's Facebook page
409
- * @property {string} [title] - Name of the social media platform, e.g. Facebook
188
+ * @typedef SegmentCredentials
189
+ * @property {string} [write_key] - The unique identifier for a source that
190
+ * tells Segment from which source data is coming from, to which workspace the
191
+ * data belongs, and which destinations should receive the data.
410
192
  */
411
193
 
412
194
  /**
413
- * @typedef FeedbackFeature
414
- * @property {boolean} [enabled] - Shows whether customer feedback is enabled on
415
- * PDP. Default value is false.
195
+ * @typedef Gtm
196
+ * @property {GtmCredentials} [credentials]
197
+ * @property {boolean} [enabled] - Shows whether GTM integration is enabled or
198
+ * disabled for the sales channel
416
199
  */
417
200
 
418
201
  /**
419
- * @typedef Firebase
420
- * @property {Credentials} [credentials]
421
- * @property {boolean} [enabled] - Shows whether Firebase integration is enabled
422
- * or disabled for the sales channel
202
+ * @typedef GtmCredentials
203
+ * @property {string} [api_key] - Secret credential API key for GTM
423
204
  */
424
205
 
425
206
  /**
@@ -438,6 +219,19 @@ const Joi = require("joi");
438
219
  * @property {string} [web_token] - Web token used for accessing the Freshchat APIs
439
220
  */
440
221
 
222
+ /**
223
+ * @typedef Safetynet
224
+ * @property {SafetynetCredentials} [credentials]
225
+ * @property {boolean} [enabled] - Shows whether Safetynet integration is
226
+ * enabled or disabled for the sales channel
227
+ */
228
+
229
+ /**
230
+ * @typedef SafetynetCredentials
231
+ * @property {string} [api_key] - Secret credential API key for Safetynet. This
232
+ * API key is used for calling the methods of Safetynet APIs.
233
+ */
234
+
441
235
  /**
442
236
  * @typedef FyndRewards
443
237
  * @property {FyndRewardsCredentials} [credentials]
@@ -460,549 +254,580 @@ const Joi = require("joi");
460
254
  */
461
255
 
462
256
  /**
463
- * @typedef GooglePlusLink
464
- * @property {string} [icon] - Hosted URL of social icon image shown on the website
465
- * @property {string} [link] - Web URL of brand's Google+ account
466
- * @property {string} [title] - Name of the social media platform, e.g. Google+
467
- */
468
-
469
- /**
470
- * @typedef Gtm
471
- * @property {GtmCredentials} [credentials]
472
- * @property {boolean} [enabled] - Shows whether GTM integration is enabled or
473
- * disabled for the sales channel
257
+ * @typedef RewardPointsConfig
258
+ * @property {Credit} [credit]
259
+ * @property {Debit} [debit]
474
260
  */
475
261
 
476
262
  /**
477
- * @typedef GtmCredentials
478
- * @property {string} [api_key] - Secret credential API key for GTM
263
+ * @typedef Credit
264
+ * @property {boolean} [enabled] - Shows whether reward points should be credited
479
265
  */
480
266
 
481
267
  /**
482
- * @typedef HomePageFeature
483
- * @property {boolean} [order_processing] - Shows whether order processing is
484
- * enabled or not enabled
268
+ * @typedef Debit
269
+ * @property {boolean} [enabled] - Shows whether reward points are available for debit
270
+ * @property {boolean} [auto_apply] - Allow automatic debit of reward points
271
+ * @property {string} [strategy_channel] - Strategy channel for debiting reward points
485
272
  */
486
273
 
487
274
  /**
488
- * @typedef InformationAddress
489
- * @property {string[]} [address_line] - Contact address of the sales channel
490
- * @property {string} [city] - Name of the city, e.g. Mumbai
491
- * @property {string} [country] - Name of the country, e.g. India
492
- * @property {InformationLoc} [loc]
493
- * @property {InformationPhone[]} [phone]
494
- * @property {number} [pincode] - 6-digit PIN Code of the city, e.g. 400001
275
+ * @typedef ProductDetailFeature
276
+ * @property {string[]} [similar] - Configuration to show similar products,
277
+ * other products from same seller, other products in same category, other
278
+ * products in same price range, etc.
279
+ * @property {boolean} [seller_selection] - Shows whether the customers can
280
+ * choose the seller on PDP
281
+ * @property {boolean} [update_product_meta] - Allow user to update product
282
+ * meta. Default value is true.
283
+ * @property {boolean} [request_product] - Indicates whether customers can
284
+ * request for a product. Default value is false.
495
285
  */
496
286
 
497
287
  /**
498
- * @typedef InformationLoc
499
- * @property {number[]} [coordinates] - 10-digit mobile number
500
- * @property {string} [type] - Country code for contact number, e.g. +91 (for India)
288
+ * @typedef LaunchPage
289
+ * @property {string} [page_type] - Type of the launch page
290
+ * @property {Object} [params] - Launch page params. It can be nullable.
291
+ * @property {Object} [query] - Query related to launch page. It can be nullable.
501
292
  */
502
293
 
503
294
  /**
504
- * @typedef InformationPhone
505
- * @property {string} [code] - Country code for contact number, e.g. +91 (for India)
506
- * @property {string} [number] - 10-digit mobile number
295
+ * @typedef LandingPageFeature
296
+ * @property {LaunchPage} [launch_page]
297
+ * @property {boolean} [continue_as_guest] - Shows whether a guest can checkout
298
+ * from cart without logging in
299
+ * @property {string} [login_btn_text] - Shows the text displayed over the login button
300
+ * @property {boolean} [show_domain_textbox] - Shows whether a textbox for
301
+ * entering domain is available
302
+ * @property {boolean} [show_register_btn] - Shows whether register button is
303
+ * available in the login/landing page
507
304
  */
508
305
 
509
306
  /**
510
- * @typedef InformationSupport
511
- * @property {InformationSupportEmail[]} [email]
512
- * @property {InformationSupportPhone[]} [phone]
513
- * @property {string} [timing] - Working hours of support team, e.g. 9 AM to 9 PM
307
+ * @typedef RegistrationPageFeature
308
+ * @property {boolean} [ask_store_address] - Shows whether a form to collect the
309
+ * address of the store, should be displayed upon visiting the website
514
310
  */
515
311
 
516
312
  /**
517
- * @typedef InformationSupportEmail
518
- * @property {string} [key]
519
- * @property {string} [value] - Value of email.
313
+ * @typedef AppFeature
314
+ * @property {ProductDetailFeature} [product_detail]
315
+ * @property {LandingPageFeature} [landing_page]
316
+ * @property {RegistrationPageFeature} [registration_page]
317
+ * @property {HomePageFeature} [home_page]
318
+ * @property {CommonFeature} [common]
319
+ * @property {CartFeature} [cart]
320
+ * @property {QrFeature} [qr]
321
+ * @property {PcrFeature} [pcr]
322
+ * @property {OrderFeature} [order]
323
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
324
+ * for the sales channel features
325
+ * @property {string} [app] - Application ID of the sales channel
326
+ * @property {string} [created_at] - ISO 8601 timestamp showing the date when
327
+ * the features were configured
328
+ * @property {string} [updated_at] - ISO 8601 timestamp of last known
329
+ * modifications to the sales channel feature configuration
330
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero
520
331
  */
521
332
 
522
333
  /**
523
- * @typedef InformationSupportPhone
524
- * @property {string} [code] - Country code for contact number, e.g. +91 (for India)
525
- * @property {string} [key]
526
- * @property {string} [number] - 10-digit mobile number
334
+ * @typedef HomePageFeature
335
+ * @property {boolean} [order_processing] - Shows whether order processing is
336
+ * enabled or not enabled
527
337
  */
528
338
 
529
339
  /**
530
- * @typedef InstagramLink
531
- * @property {string} [icon] - Hosted URL of social icon image shown on the website
532
- * @property {string} [link] - Web URL of brand's Instagram page
533
- * @property {string} [title] - Name of the social media platform, e.g. Instagram
534
- */
340
+ * @typedef CommonFeature
341
+ * @property {CommunicationOptinDialogFeature} [communication_optin_dialog]
342
+ * @property {DeploymentStoreSelectionFeature} [deployment_store_selection]
343
+ * @property {ListingPriceFeature} [listing_price]
344
+ * @property {CurrencyFeature} [currency]
345
+ * @property {RevenueEngineFeature} [revenue_engine]
346
+ * @property {FeedbackFeature} [feedback]
347
+ * @property {CompareProductsFeature} [compare_products]
348
+ * @property {RewardPointsConfig} [reward_points]
349
+ */
535
350
 
536
351
  /**
537
- * @typedef InternationalShipping
538
- * @property {boolean} [enabled] - International shipping is enabled or not.
352
+ * @typedef CommunicationOptinDialogFeature
353
+ * @property {boolean} [visibility] - Shows whether WhatsApp communication is enabled
539
354
  */
540
355
 
541
356
  /**
542
- * @typedef InvalidPayloadRequest
543
- * @property {string} [message] - Error message when request body payload is improper
357
+ * @typedef DeploymentStoreSelectionFeature
358
+ * @property {boolean} [enabled] - Shows whether selection of store (for
359
+ * deploying the application) is permitted
360
+ * @property {string} [type] - Permitted values are 'hard' and 'soft'. For hard
361
+ * type delivery, store selection is compulsory. For soft type, delivery store
362
+ * selection is optional.
544
363
  */
545
364
 
546
365
  /**
547
- * @typedef Ios
548
- * @property {string} [api_key] - Firebase secret credential API key for IOS
549
- * @property {string} [application_id] - Alphanumeric ID allotted to a sales
550
- * channel application created within a business account
366
+ * @typedef ListingPriceFeature
367
+ * @property {string} [value] - Shows which price to display on PLP if one
368
+ * product has multiple prices (for each size), valid values are 'min', 'max',
369
+ * 'range'. Default value is range.
370
+ * @property {string} [sort] - Sorting of listing price with min or max value.
371
+ * Default value is min.
551
372
  */
552
373
 
553
374
  /**
554
- * @typedef LandingPageFeature
555
- * @property {boolean} [continue_as_guest] - Shows whether a guest can checkout
556
- * from cart without logging in
557
- * @property {LaunchPage} [launch_page]
558
- * @property {string} [login_btn_text] - Shows the text displayed over the login button
559
- * @property {boolean} [show_domain_textbox] - Shows whether a textbox for
560
- * entering domain is available
561
- * @property {boolean} [show_register_btn] - Shows whether register button is
562
- * available in the login/landing page
375
+ * @typedef CurrencyFeature
376
+ * @property {string[]} [value] - 3-letter currency code
377
+ * @property {string} [type] - If 'explicit', currency formatting shows currency
378
+ * code with price. For explicit or all currency selection.
379
+ * @property {string} [default_currency] - 3-letter code of the default currency
380
+ * used in the application. Default vaule is 'INR'.
563
381
  */
564
382
 
565
383
  /**
566
- * @typedef LanguageResponse
567
- * @property {SupportedLanguage[]} [items]
384
+ * @typedef RevenueEngineFeature
385
+ * @property {boolean} [enabled] - Enable revenue engine. Default value is false.
568
386
  */
569
387
 
570
388
  /**
571
- * @typedef LaunchPage
572
- * @property {string} [page_type] - Type of the launch page
573
- * @property {Object} [params] - Launch page params. It can be nullable.
574
- * @property {Object} [query] - Query related to launch page. It can be nullable.
389
+ * @typedef FeedbackFeature
390
+ * @property {boolean} [enabled] - Shows whether customer feedback is enabled on
391
+ * PDP. Default value is false.
575
392
  */
576
393
 
577
394
  /**
578
- * @typedef LinkedInLink
579
- * @property {string} [icon] - Hosted URL of social icon image shown on the website
580
- * @property {string} [link] - Web URL of brand's LinkedIn channel
581
- * @property {string} [title] - Name of the social media platform, e.g. LinkedIn
395
+ * @typedef CompareProductsFeature
396
+ * @property {boolean} [enabled] - Shows whether product comparison feature is
397
+ * enabled on PDP
582
398
  */
583
399
 
584
400
  /**
585
- * @typedef Links
586
- * @property {string} [link] - Web URL for redirecting to a related page
587
- * @property {string} [title] - Name of the related page or link
401
+ * @typedef CartFeature
402
+ * @property {boolean} [gst_input] - Shows whether customer is allowed to enter
403
+ * GST on the cart page for claiming input credits
404
+ * @property {boolean} [staff_selection] - Shows whether staff selection is
405
+ * enabled on cart page
406
+ * @property {boolean} [placing_for_customer] - Shows whether the staff is
407
+ * placing order on behalf of customer. Default value is true.
408
+ * @property {boolean} [google_map] - Allow adding of Google Maps. Default value is true.
409
+ * @property {boolean} [revenue_engine_coupon] - Allow coupon apply and credits,
410
+ * together. Default value is false.
588
411
  */
589
412
 
590
413
  /**
591
- * @typedef ListingPageFeature
592
- * @property {string} [sort_on]
414
+ * @typedef QrFeature
415
+ * @property {boolean} [application] - Shows whether sharing of mobile app via
416
+ * QR code is allowed. Default value is false.
417
+ * @property {boolean} [products] - Shows whether sharing product via QR code is
418
+ * allowed. Default value is false.
419
+ * @property {boolean} [collections] - Shows whether sharing collection via QR
420
+ * code is allowed. Default value is false.
593
421
  */
594
422
 
595
423
  /**
596
- * @typedef ListingPriceFeature
597
- * @property {string} [sort] - Sorting of listing price with min or max value.
598
- * Default value is min.
599
- * @property {string} [value] - Shows which price to display on PLP if one
600
- * product has multiple prices (for each size), valid values are 'min', 'max',
601
- * 'range'. Default value is range.
424
+ * @typedef PcrFeature
425
+ * @property {boolean} [staff_selection] - Allow staff selection. Default value is false.
602
426
  */
603
427
 
604
428
  /**
605
- * @typedef Moengage
606
- * @property {MoengageCredentials} [credentials]
607
- * @property {boolean} [enabled] - Shows whether MoEngage integation is enabled
608
- * or disabled for the sales channel
429
+ * @typedef OrderFeature
430
+ * @property {boolean} [buy_again] - Allow buy again option for order. Default
431
+ * value is false.
609
432
  */
610
433
 
611
434
  /**
612
- * @typedef MoengageCredentials
613
- * @property {string} [app_id] - APP ID provided by MoEngage to identify a
614
- * specific app. The app_id for your MoEngage account is available on the
615
- * MoEngage Dashboard.
435
+ * @typedef AppFeatureResponse
436
+ * @property {AppFeature} [feature]
616
437
  */
617
438
 
618
439
  /**
619
- * @typedef NotFound
620
- * @property {string} [message] - Response message for not found
440
+ * @typedef Currency
441
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
442
+ * of the current sales channel supported currency
443
+ * @property {boolean} [is_active] - Shows currency is enabled or not in current
444
+ * sales channel
445
+ * @property {string} [name] - Name of the currency, e.g Indian Rupee
446
+ * @property {string} [code] - 3-character currency code, e.g. INR, USD, EUR.
447
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel support
448
+ * currency creation
449
+ * @property {string} [updated_at] - ISO 8601 timestamp of sales channel support
450
+ * currency updation
451
+ * @property {number} [decimal_digits] - Acceptable decimal limits for a given
452
+ * currency, e.g. 1.05$ means upto 2 decimal digits can be accepted as a valid
453
+ * value of a currency.
454
+ * @property {string} [symbol] - Unique symbol for identifying the currency, e.g. ₹
621
455
  */
622
456
 
623
457
  /**
624
- * @typedef OptedStoreAddress
625
- * @property {string} [address1] - Address of the opted store
626
- * @property {string} [address2] - Address of the opted store
627
- * @property {string} [city] - City of the opted store, e.g. Mumbai
628
- * @property {string} [country] - Country of the opted store, e.g. India
629
- * @property {StoreLatLong} [lat_long]
630
- * @property {number} [pincode] - 6-digit PIN code of the opted store location
631
- * @property {string} [state] - State of the opted store, e.g. Maharashtra
458
+ * @typedef Domain
459
+ * @property {boolean} [verified] - Domain is verified or not. TXT and A records
460
+ * should propagate correctly.
461
+ * @property {boolean} [is_primary] - Domain is primary or not. Primary domain
462
+ * is the default/main domain.
463
+ * @property {boolean} [is_shortlink] - Shortlink is present or not for the domain
464
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
465
+ * of the sales channel domain
466
+ * @property {string} [name]
467
+ * @property {boolean} [is_predefined] - Domain is hosting domain or not.
632
468
  */
633
469
 
634
470
  /**
635
- * @typedef OrderFeature
636
- * @property {boolean} [buy_again] - Allow buy again option for order. Default
637
- * value is false.
471
+ * @typedef ApplicationWebsite
472
+ * @property {boolean} [enabled] - Shows whether sales channel website URL is
473
+ * enabled or not
474
+ * @property {string} [basepath] - Base path for the current sales channel website
638
475
  */
639
476
 
640
477
  /**
641
- * @typedef OrderingStore
642
- * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
643
- * of the ordering store
644
- * @property {OptedStoreAddress} [address]
645
- * @property {string} [code] - Code of the ordering store (usually same as Store Code)
646
- * @property {string} [display_name] - Display name of the ordering store
647
- * @property {string} [name] - Store name of the ordering store
648
- * @property {number} [pincode] - 6-digit PIN Code of the ordering store, e.g. 400001
649
- * @property {string} [store_code] - Store code of the ordering store, e.g. MUM-102
650
- * @property {string} [store_type] - Store type of the ordering store, e.g.
651
- * high_street, mall, warehouse
652
- * @property {number} [uid] - Ordering store UID
478
+ * @typedef ApplicationCors
479
+ * @property {string[]} [domains]
653
480
  */
654
481
 
655
482
  /**
656
- * @typedef OrderingStores
657
- * @property {number} [__v] - Version key for tracking ordering stores. Default
658
- * value is zero.
659
- * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
660
- * of the ordering store
661
- * @property {boolean} [all_stores] - Allow all stores of the ordering stores
662
- * @property {string} [app] - Alphanumeric ID allotted to an application (sales
663
- * channel website) created within a business account
664
- * @property {number[]} [deployed_stores]
665
- * @property {boolean} [enabled] - Allow ordering stores for current sales channel
666
- * @property {OrderingStore[]} [items]
667
- * @property {Page} [page]
668
- * @property {string} [type] - For hard type delivery, store selection is
669
- * compulsory. For soft type, delivery store selection is optional.
483
+ * @typedef ApplicationAuth
484
+ * @property {boolean} [enabled] - Shows sales channel auth is enabled or not enabled.
670
485
  */
671
486
 
672
487
  /**
673
- * @typedef OrderingStoreSelect
674
- * @property {number} uid - Ordering store unique uid. It is required.
488
+ * @typedef ApplicationRedirections
489
+ * @property {string} [redirect_from] - Old domain url of the sales channel
490
+ * @property {string} [redirect_to] - New domain URL of the sales channel. Users
491
+ * will be automatically redirected from old domain to new domain.
492
+ * @property {string} [type] - It shows domain redirection type. Permanent
493
+ * redirection is for long time period redirection, and temporary redirection
494
+ * for a short time period.
675
495
  */
676
496
 
677
497
  /**
678
- * @typedef OrderingStoreSelectRequest
679
- * @property {OrderingStoreSelect} ordering_store
498
+ * @typedef ApplicationMeta
499
+ * @property {string} [name] - Indicates to name of application meta
500
+ * @property {string} [value] - Value related to application meta name
680
501
  */
681
502
 
682
503
  /**
683
- * @typedef OwnerInfo
504
+ * @typedef SecureUrl
505
+ * @property {string} [secure_url] - Hosted URL of the image
506
+ */
507
+
508
+ /**
509
+ * @typedef Application
510
+ * @property {ApplicationWebsite} [website]
511
+ * @property {ApplicationCors} [cors]
512
+ * @property {ApplicationAuth} [auth]
513
+ * @property {string} [description] - It contains detailed information about the
514
+ * sales channel.
515
+ * @property {string} [channel_type] - It indicates different channel types like
516
+ * store, website-and-mobile-apps. Default value is store
517
+ * @property {number} [cache_ttl] - An integer value that specifies the number
518
+ * of seconds until the key expires
519
+ * @property {boolean} [is_internal] - Indicates whether a sales channel is
520
+ * internal or not
521
+ * @property {boolean} [is_active] - Indicates sales channel is active or not active
684
522
  * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
685
- * of owner info
686
- * @property {UserEmail[]} [emails]
687
- * @property {string} [first_name] - First name of the owner
688
- * @property {string} [last_name] - Last name of the owner
689
- * @property {UserPhoneNumber[]} [phone_numbers]
690
- * @property {string} [profile_pic] - Hosted URL of profile pic
523
+ * of the sales channel
524
+ * @property {string} [name] - Name of the sales channel, e.g. Zenz Fashion
525
+ * @property {string} [owner] - The unique identifier (24-digit Mongo Object ID)
526
+ * of owner who owns the application
527
+ * @property {number} [company_id] - Numeric ID allotted to a business account
528
+ * where the sales channel exists
529
+ * @property {string} [token] - Random generated fix length string for sales
530
+ * channel. It is required and auto-generated.
531
+ * @property {ApplicationRedirections[]} [redirections]
532
+ * @property {ApplicationMeta[]} [meta]
533
+ * @property {string} [created_at] - ISO 8601 timestamp of sales channel creation
534
+ * @property {string} [updated_at] - ISO 8601 timestamp of sales channel updation
535
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
536
+ * @property {SecureUrl} [banner]
537
+ * @property {SecureUrl} [logo]
538
+ * @property {SecureUrl} [favicon]
539
+ * @property {Domain[]} [domains]
540
+ * @property {string} [app_type] - It shows application is live or in development mode.
541
+ * @property {SecureUrl} [mobile_logo]
542
+ * @property {Domain} [domain]
691
543
  */
692
544
 
693
545
  /**
694
- * @typedef Page
695
- * @property {number} [current]
696
- * @property {boolean} [has_next]
697
- * @property {boolean} [has_previous]
698
- * @property {number} [item_total]
699
- * @property {string} [next_id]
700
- * @property {number} [size]
701
- * @property {string} type
546
+ * @typedef NotFound
547
+ * @property {string} [message] - Response message for not found
702
548
  */
703
549
 
704
550
  /**
705
- * @typedef PcrFeature
706
- * @property {boolean} [staff_selection] - Allow staff selection. Default value is false.
551
+ * @typedef UnhandledError
552
+ * @property {string} [message]
707
553
  */
708
554
 
709
555
  /**
710
- * @typedef PinterestLink
711
- * @property {string} [icon] - Hosted URL of social icon image shown on the website
712
- * @property {string} [link] - Web URL of brand's Pinterest page
713
- * @property {string} [title] - Name of the social media platform, e.g. Pinterest
556
+ * @typedef SuccessMessageResponse
557
+ * @property {string} [message] - Success message shown to the user (in a string format)
714
558
  */
715
559
 
716
560
  /**
717
- * @typedef ProductDetailFeature
718
- * @property {boolean} [request_product] - Indicates whether customers can
719
- * request for a product. Default value is false.
720
- * @property {boolean} [seller_selection] - Shows whether the customers can
721
- * choose the seller on PDP
722
- * @property {string[]} [similar] - Configuration to show similar products,
723
- * other products from same seller, other products in same category, other
724
- * products in same price range, etc.
725
- * @property {boolean} [update_product_meta] - Allow user to update product
726
- * meta. Default value is true.
561
+ * @typedef CompanyAboutAddress
562
+ * @property {number} [pincode] - 6-digit PIN code of the city, e.g. 400001
563
+ * @property {string} [address1] - Primary address line of the company
564
+ * @property {string} [address2] - Secondary address line of the company
565
+ * @property {string} [city] - City name, e.g. Mumbai
566
+ * @property {string} [state] - State name, e.g. Maharashtra
567
+ * @property {string} [country] - Country name, e.g. India
568
+ * @property {string} [address_type] - Indicates different office types like
569
+ * office, registered, and home.
727
570
  */
728
571
 
729
572
  /**
730
- * @typedef QrFeature
731
- * @property {boolean} [application] - Shows whether sharing of mobile app via
732
- * QR code is allowed. Default value is false.
733
- * @property {boolean} [collections] - Shows whether sharing collection via QR
734
- * code is allowed. Default value is false.
735
- * @property {boolean} [products] - Shows whether sharing product via QR code is
736
- * allowed. Default value is false.
573
+ * @typedef UserEmail
574
+ * @property {boolean} [active] - Current email is active or not active
575
+ * @property {boolean} [primary] - Indicates current email is primay email or
576
+ * not primary email of user
577
+ * @property {boolean} [verified] - Indicates current email is verified email or
578
+ * not verified email
579
+ * @property {string} [email] - Email address of the user
737
580
  */
738
581
 
739
582
  /**
740
- * @typedef RegistrationPageFeature
741
- * @property {boolean} [ask_store_address] - Shows whether a form to collect the
742
- * address of the store, should be displayed upon visiting the website
583
+ * @typedef UserPhoneNumber
584
+ * @property {boolean} [active] - Current phone number is active or not active
585
+ * @property {boolean} [primary] - Indicates current phone number is primay or
586
+ * not primary of user
587
+ * @property {boolean} [verified] - Indicates current phone number is verified
588
+ * or not verified
589
+ * @property {number} [country_code] - Country code, e.g. +91
590
+ * @property {string} [phone] - Phone number of the user
743
591
  */
744
592
 
745
593
  /**
746
- * @typedef RevenueEngineFeature
747
- * @property {boolean} [enabled] - Enable revenue engine. Default value is false.
594
+ * @typedef Page
595
+ * @property {number} [item_total]
596
+ * @property {string} [next_id]
597
+ * @property {boolean} [has_previous]
598
+ * @property {boolean} [has_next]
599
+ * @property {number} [current]
600
+ * @property {string} type
601
+ * @property {number} [size]
748
602
  */
749
603
 
750
604
  /**
751
- * @typedef RewardPointsConfig
752
- * @property {Credit} [credit]
753
- * @property {Debit} [debit]
605
+ * @typedef ApplicationInformation
606
+ * @property {InformationAddress} [address]
607
+ * @property {InformationSupport} [support]
608
+ * @property {SocialLinks} [social_links]
609
+ * @property {Links} [links]
610
+ * @property {string} [copyright_text] - Copyright statement usually seen at the
611
+ * site's footer
612
+ * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of
613
+ * the application information
614
+ * @property {BusinessHighlights} [business_highlights]
615
+ * @property {string} [application] - Alphanumeric ID allotted to a sales
616
+ * channel application created within a business account
617
+ * @property {string} [created_at] - ISO 8601 timestamp of creation of the
618
+ * application information
619
+ * @property {string} [updated_at] - ISO 8601 timestamp of updation of the
620
+ * application information
621
+ * @property {number} [__v] - Version key for tracking revisions. Default value is zero.
754
622
  */
755
623
 
756
624
  /**
757
- * @typedef Safetynet
758
- * @property {SafetynetCredentials} [credentials]
759
- * @property {boolean} [enabled] - Shows whether Safetynet integration is
760
- * enabled or disabled for the sales channel
625
+ * @typedef InformationAddress
626
+ * @property {string} [loc] - Co-ordinates of the location
627
+ * @property {string[]} [address_line] - Contact address of the sales channel
628
+ * @property {InformationPhone} [phone]
629
+ * @property {string} [city] - Name of the city, e.g. Mumbai
630
+ * @property {string} [country] - Name of the country, e.g. India
631
+ * @property {number} [pincode] - 6-digit PIN Code of the city, e.g. 400001
761
632
  */
762
633
 
763
634
  /**
764
- * @typedef SafetynetCredentials
765
- * @property {string} [api_key] - Secret credential API key for Safetynet. This
766
- * API key is used for calling the methods of Safetynet APIs.
635
+ * @typedef InformationPhone
636
+ * @property {string} [code] - Country code for contact number, e.g. +91 (for India)
637
+ * @property {string} [number] - 10-digit mobile number
767
638
  */
768
639
 
769
640
  /**
770
- * @typedef SecureUrl
771
- * @property {string} [secure_url] - Hosted URL of the image
641
+ * @typedef InformationSupport
642
+ * @property {string[]} [phone]
643
+ * @property {string[]} [email]
644
+ * @property {string} [timing] - Working hours of support team, e.g. 9 AM to 9 PM
772
645
  */
773
646
 
774
647
  /**
775
- * @typedef Segment
776
- * @property {SegmentCredentials} [credentials]
777
- * @property {boolean} [enabled] - Shows whether Segment integration is enabled
778
- * or disabled for the sales channel
648
+ * @typedef SocialLinks
649
+ * @property {FacebookLink} [facebook]
650
+ * @property {InstagramLink} [instagram]
651
+ * @property {TwitterLink} [twitter]
652
+ * @property {PinterestLink} [pinterest]
653
+ * @property {GooglePlusLink} [google_plus]
654
+ * @property {YoutubeLink} [youtube]
655
+ * @property {LinkedInLink} [linked_in]
656
+ * @property {VimeoLink} [vimeo]
657
+ * @property {BlogLink} [blog_link]
779
658
  */
780
659
 
781
660
  /**
782
- * @typedef SegmentCredentials
783
- * @property {string} [write_key] - The unique identifier for a source that
784
- * tells Segment from which source data is coming from, to which workspace the
785
- * data belongs, and which destinations should receive the data.
661
+ * @typedef FacebookLink
662
+ * @property {string} [title] - Name of the social media platform, e.g. Facebook
663
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
664
+ * @property {string} [link] - Web URL of brand's Facebook page
786
665
  */
787
666
 
788
667
  /**
789
- * @typedef SocialLinks
790
- * @property {BlogLink} [blog_link]
791
- * @property {FacebookLink} [facebook]
792
- * @property {GooglePlusLink} [google_plus]
793
- * @property {InstagramLink} [instagram]
794
- * @property {LinkedInLink} [linked_in]
795
- * @property {PinterestLink} [pinterest]
796
- * @property {TwitterLink} [twitter]
797
- * @property {VimeoLink} [vimeo]
798
- * @property {YoutubeLink} [youtube]
668
+ * @typedef InstagramLink
669
+ * @property {string} [title] - Name of the social media platform, e.g. Instagram
670
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
671
+ * @property {string} [link] - Web URL of brand's Instagram page
799
672
  */
800
673
 
801
674
  /**
802
- * @typedef StoreLatLong
803
- * @property {number[]} [coordinates]
804
- * @property {string} [type] - Coordinates type of the opted store
675
+ * @typedef TwitterLink
676
+ * @property {string} [title] - Name of the social media platform, e.g. Twitter
677
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
678
+ * @property {string} [link] - Web URL of brand's Twitter account
805
679
  */
806
680
 
807
681
  /**
808
- * @typedef SuccessMessageResponse
809
- * @property {string} [message] - Success message shown to the user (in a string format)
682
+ * @typedef PinterestLink
683
+ * @property {string} [title] - Name of the social media platform, e.g. Pinterest
684
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
685
+ * @property {string} [link] - Web URL of brand's Pinterest page
810
686
  */
811
687
 
812
688
  /**
813
- * @typedef SupportedLanguage
814
- * @property {string} [code] - Unique code of supported language, e.g. hi-IN
815
- * @property {string} [name] - Name of the supported language, e.g. हिन्दी
689
+ * @typedef GooglePlusLink
690
+ * @property {string} [title] - Name of the social media platform, e.g. Google+
691
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
692
+ * @property {string} [link] - Web URL of brand's Google+ account
816
693
  */
817
694
 
818
695
  /**
819
- * @typedef Tokens
820
- * @property {Firebase} [firebase]
821
- * @property {Freshchat} [freshchat]
822
- * @property {FyndRewards} [fynd_rewards]
823
- * @property {GoogleMap} [google_map]
824
- * @property {Gtm} [gtm]
825
- * @property {Moengage} [moengage]
826
- * @property {Safetynet} [safetynet]
827
- * @property {Segment} [segment]
696
+ * @typedef YoutubeLink
697
+ * @property {string} [title] - Name of the social media platform, e.g. YouTube
698
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
699
+ * @property {string} [link] - Web URL of brand's YouTube channel
828
700
  */
829
701
 
830
702
  /**
831
- * @typedef TokenSchema
832
- * @property {string} [created_at] - ISO 8601 timestamp of when token created
833
- * @property {Object} [created_by]
834
- * @property {string} [token]
703
+ * @typedef LinkedInLink
704
+ * @property {string} [title] - Name of the social media platform, e.g. LinkedIn
705
+ * @property {string} [icon] - Hosted URL of social icon image shown on the website
706
+ * @property {string} [link] - Web URL of brand's LinkedIn channel
835
707
  */
836
708
 
837
709
  /**
838
- * @typedef TwitterLink
710
+ * @typedef VimeoLink
711
+ * @property {string} [title] - Name of the video hosting platform, e.g. Vimeo
839
712
  * @property {string} [icon] - Hosted URL of social icon image shown on the website
840
- * @property {string} [link] - Web URL of brand's Twitter account
841
- * @property {string} [title] - Name of the social media platform, e.g. Twitter
713
+ * @property {string} [link] - Web URL of brand's Vimeo channel
842
714
  */
843
715
 
844
716
  /**
845
- * @typedef UnhandledError
846
- * @property {string} [message]
717
+ * @typedef BlogLink
718
+ * @property {string} [title] - Name of the brand's blog page
719
+ * @property {string} [icon] - Hosted URL of icon image shown on the website
720
+ * @property {string} [link] - Web URL of brand's blog page
847
721
  */
848
722
 
849
723
  /**
850
- * @typedef UserEmail
851
- * @property {boolean} [active] - Current email is active or not active
852
- * @property {string} [email] - Email address of the user
853
- * @property {boolean} [primary] - Indicates current email is primay email or
854
- * not primary email of user
855
- * @property {boolean} [verified] - Indicates current email is verified email or
856
- * not verified email
724
+ * @typedef Links
725
+ * @property {string} [title] - Name of the related page or link
726
+ * @property {string} [link] - Web URL for redirecting to a related page
857
727
  */
858
728
 
859
729
  /**
860
- * @typedef UserPhoneNumber
861
- * @property {boolean} [active] - Current phone number is active or not active
862
- * @property {number} [country_code] - Country code, e.g. +91
863
- * @property {string} [phone] - Phone number of the user
864
- * @property {boolean} [primary] - Indicates current phone number is primay or
865
- * not primary of user
866
- * @property {boolean} [verified] - Indicates current phone number is verified
867
- * or not verified
730
+ * @typedef BusinessHighlights
731
+ * @property {string} [_id] - Unique identifier (24-digit Mongo Object ID) of
732
+ * the related business
733
+ * @property {string} [title] - Title of the business highlight, e.g. Superfast Delivery
734
+ * @property {string} [icon] - Hosted URL of icon image representing the
735
+ * business highlight
736
+ * @property {string} [sub_title] - Detailed information about the highlight
868
737
  */
869
738
 
870
739
  /**
871
- * @typedef VimeoLink
872
- * @property {string} [icon] - Hosted URL of social icon image shown on the website
873
- * @property {string} [link] - Web URL of brand's Vimeo channel
874
- * @property {string} [title] - Name of the video hosting platform, e.g. Vimeo
740
+ * @typedef ApplicationDetail
741
+ * @property {string} name - Name of the sales channel. It is required.
742
+ * @property {string} [description] - It gives a detailed information about the
743
+ * sales channel. It is required.
744
+ * @property {SecureUrl} [logo]
745
+ * @property {SecureUrl} [mobile_logo]
746
+ * @property {SecureUrl} [favicon]
747
+ * @property {SecureUrl} [banner]
748
+ * @property {Domain} [domain]
749
+ * @property {Domain[]} [domains]
750
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
751
+ * for the sales channel details
875
752
  */
876
753
 
877
754
  /**
878
- * @typedef YoutubeLink
879
- * @property {string} [icon] - Hosted URL of social icon image shown on the website
880
- * @property {string} [link] - Web URL of brand's YouTube channel
881
- * @property {string} [title] - Name of the social media platform, e.g. YouTube
755
+ * @typedef CurrenciesResponse
756
+ * @property {Currency[]} [items]
882
757
  */
883
758
 
884
- class ConfigurationApplicationModel {
885
- /** @returns {Android} */
886
- static Android() {
887
- return Joi.object({
888
- api_key: Joi.string().allow(""),
889
- application_id: Joi.string().allow(""),
890
- });
891
- }
759
+ /**
760
+ * @typedef DefaultCurrency
761
+ * @property {string} [ref] - The unique identifier (24-digit Mongo Object ID)
762
+ * of the default currency
763
+ * @property {string} [code] - 3-character code of the default currency, e.g.
764
+ * INR, EUR, USD
765
+ */
892
766
 
893
- /** @returns {AppCurrencyResponse} */
894
- static AppCurrencyResponse() {
895
- return Joi.object({
896
- _id: Joi.string().allow(""),
897
- application: Joi.string().allow(""),
898
- created_at: Joi.string().allow(""),
899
- default_currency: ConfigurationApplicationModel.DefaultCurrency(),
900
- modified_at: Joi.string().allow(""),
901
- supported_currency: Joi.array().items(
902
- ConfigurationApplicationModel.Currency()
903
- ),
904
- });
905
- }
767
+ /**
768
+ * @typedef AppCurrencyResponse
769
+ * @property {string} [application] - Alphanumeric ID allotted to an application
770
+ * (sales channel website) created within a business account
771
+ * @property {DefaultCurrency} [default_currency]
772
+ * @property {Currency[]} [supported_currency]
773
+ */
906
774
 
907
- /** @returns {AppFeature} */
908
- static AppFeature() {
909
- return Joi.object({
910
- __v: Joi.number(),
911
- _id: Joi.string().allow(""),
912
- app: Joi.string().allow(""),
913
- cart: ConfigurationApplicationModel.CartFeature(),
914
- common: ConfigurationApplicationModel.CommonFeature(),
915
- created_at: Joi.string().allow(""),
916
- home_page: ConfigurationApplicationModel.HomePageFeature(),
917
- landing_page: ConfigurationApplicationModel.LandingPageFeature(),
918
- modified_at: Joi.string().allow(""),
919
- order: ConfigurationApplicationModel.OrderFeature(),
920
- pcr: ConfigurationApplicationModel.PcrFeature(),
921
- product_detail: ConfigurationApplicationModel.ProductDetailFeature(),
922
- qr: ConfigurationApplicationModel.QrFeature(),
923
- registration_page: ConfigurationApplicationModel.RegistrationPageFeature(),
924
- });
925
- }
775
+ /**
776
+ * @typedef StoreLatLong
777
+ * @property {string} [type] - Coordinates type of the opted store
778
+ * @property {number[]} [coordinates]
779
+ */
926
780
 
927
- /** @returns {AppFeatureResponse} */
928
- static AppFeatureResponse() {
929
- return Joi.object({
930
- feature: ConfigurationApplicationModel.AppFeature(),
931
- });
932
- }
781
+ /**
782
+ * @typedef OptedStoreAddress
783
+ * @property {string} [state] - State of the opted store, e.g. Maharashtra
784
+ * @property {string} [address1] - Address of the opted store
785
+ * @property {StoreLatLong} [lat_long]
786
+ * @property {string} [address2] - Address of the opted store
787
+ * @property {number} [pincode] - 6-digit PIN code of the opted store location
788
+ * @property {string} [country] - Country of the opted store, e.g. India
789
+ * @property {string} [city] - City of the opted store, e.g. Mumbai
790
+ */
933
791
 
934
- /** @returns {Application} */
935
- static Application() {
936
- return Joi.object({
937
- __v: Joi.number(),
938
- _id: Joi.string().allow(""),
939
- app_type: Joi.string().allow(""),
940
- auth: ConfigurationApplicationModel.ApplicationAuth(),
941
- banner: ConfigurationApplicationModel.SecureUrl(),
942
- cache_ttl: Joi.number(),
943
- channel_type: Joi.string().allow(""),
944
- company_id: Joi.number(),
945
- cors: ConfigurationApplicationModel.ApplicationCors(),
946
- created_at: Joi.string().allow(""),
947
- description: Joi.string().allow(""),
948
- domain: ConfigurationApplicationModel.Domain(),
949
- domains: Joi.array().items(ConfigurationApplicationModel.Domain()),
950
- favicon: ConfigurationApplicationModel.SecureUrl(),
951
- is_active: Joi.boolean(),
952
- is_internal: Joi.boolean(),
953
- logo: ConfigurationApplicationModel.SecureUrl(),
954
- meta: Joi.array().items(ConfigurationApplicationModel.ApplicationMeta()),
955
- mobile_logo: ConfigurationApplicationModel.SecureUrl(),
956
- mode: Joi.string().allow(""),
957
- modified_at: Joi.string().allow(""),
958
- name: Joi.string().allow(""),
959
- owner: Joi.string().allow(""),
960
- redirections: Joi.array().items(
961
- ConfigurationApplicationModel.ApplicationRedirections()
962
- ),
963
- slug: Joi.string().allow(""),
964
- status: Joi.string().allow(""),
965
- token: Joi.string().allow(""),
966
- tokens: Joi.array().items(ConfigurationApplicationModel.TokenSchema()),
967
- website: ConfigurationApplicationModel.ApplicationWebsite(),
968
- });
969
- }
792
+ /**
793
+ * @typedef OrderingStore
794
+ * @property {OptedStoreAddress} [address]
795
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
796
+ * of the ordering store
797
+ * @property {number} [uid] - Ordering store UID
798
+ * @property {string} [name] - Store name of the ordering store
799
+ * @property {string} [display_name] - Display name of the ordering store
800
+ * @property {string} [store_type] - Store type of the ordering store, e.g.
801
+ * high_street, mall, warehouse
802
+ * @property {string} [store_code] - Store code of the ordering store, e.g. MUM-102
803
+ * @property {number} [pincode] - 6-digit PIN Code of the ordering store, e.g. 400001
804
+ * @property {string} [code] - Code of the ordering store (usually same as Store Code)
805
+ */
970
806
 
807
+ /**
808
+ * @typedef OrderingStores
809
+ * @property {Page} [page]
810
+ * @property {OrderingStore[]} [items]
811
+ * @property {number[]} [deployed_stores]
812
+ * @property {boolean} [all_stores] - Allow all stores of the ordering stores
813
+ * @property {boolean} [enabled] - Allow ordering stores for current sales channel
814
+ * @property {string} [type] - For hard type delivery, store selection is
815
+ * compulsory. For soft type, delivery store selection is optional.
816
+ * @property {string} [_id] - The unique identifier (24-digit Mongo Object ID)
817
+ * of the ordering store
818
+ * @property {string} [app] - Alphanumeric ID allotted to an application (sales
819
+ * channel website) created within a business account
820
+ * @property {number} [__v] - Version key for tracking ordering stores. Default
821
+ * value is zero.
822
+ */
823
+
824
+ class ConfigurationApplicationModel {
971
825
  /** @returns {ApplicationAboutResponse} */
972
826
  static ApplicationAboutResponse() {
973
827
  return Joi.object({
974
828
  application_info: ConfigurationApplicationModel.ApplicationInfo(),
975
- });
976
- }
977
-
978
- /** @returns {ApplicationAuth} */
979
- static ApplicationAuth() {
980
- return Joi.object({
981
- enabled: Joi.boolean(),
982
- });
983
- }
984
-
985
- /** @returns {ApplicationCors} */
986
- static ApplicationCors() {
987
- return Joi.object({
988
- domains: Joi.array().items(Joi.string().allow("")),
989
- });
990
- }
991
-
992
- /** @returns {ApplicationDetail} */
993
- static ApplicationDetail() {
994
- return Joi.object({
995
- _id: Joi.string().allow(""),
996
- banner: ConfigurationApplicationModel.SecureUrl(),
997
- company_id: Joi.number(),
998
- description: Joi.string().allow(""),
999
- domain: ConfigurationApplicationModel.Domain(),
1000
- domains: Joi.array().items(ConfigurationApplicationModel.Domain()),
1001
- favicon: ConfigurationApplicationModel.SecureUrl(),
1002
- logo: ConfigurationApplicationModel.SecureUrl(),
1003
- mobile_logo: ConfigurationApplicationModel.SecureUrl(),
1004
- name: Joi.string().allow("").required(),
1005
- slug: Joi.string().allow(""),
829
+ company_info: ConfigurationApplicationModel.CompanyInfo(),
830
+ owner_info: ConfigurationApplicationModel.OwnerInfo(),
1006
831
  });
1007
832
  }
1008
833
 
@@ -1010,313 +835,216 @@ class ConfigurationApplicationModel {
1010
835
  static ApplicationInfo() {
1011
836
  return Joi.object({
1012
837
  _id: Joi.string().allow(""),
1013
- banner: ConfigurationApplicationModel.SecureUrl(),
1014
- company_info: ConfigurationApplicationModel.CompanyInfo(),
838
+ domain: ConfigurationApplicationModel.Domain(),
839
+ website: ConfigurationApplicationModel.ApplicationWebsite(),
1015
840
  cors: ConfigurationApplicationModel.ApplicationCors(),
1016
- created_at: Joi.string().allow(""),
1017
841
  description: Joi.string().allow(""),
1018
- domain: ConfigurationApplicationModel.Domain(),
1019
- domains: Joi.array().items(ConfigurationApplicationModel.Domain()),
1020
- favicon: ConfigurationApplicationModel.SecureUrl(),
1021
- is_active: Joi.boolean(),
1022
- logo: ConfigurationApplicationModel.SecureUrl(),
1023
- meta: Joi.array().items(ConfigurationApplicationModel.ApplicationMeta()),
1024
- mobile_logo: ConfigurationApplicationModel.SecureUrl(),
1025
- mode: Joi.string().allow(""),
1026
842
  name: Joi.string().allow(""),
1027
- owner_info: ConfigurationApplicationModel.OwnerInfo(),
1028
- secret: Joi.string().allow(""),
1029
- slug: Joi.string().allow(""),
843
+ meta: ConfigurationApplicationModel.ApplicationMeta(),
1030
844
  token: Joi.string().allow(""),
1031
- tokens: Joi.array().items(ConfigurationApplicationModel.TokenSchema()),
1032
- website: ConfigurationApplicationModel.ApplicationWebsite(),
845
+ secret: Joi.string().allow(""),
846
+ created_at: Joi.string().allow(""),
847
+ banner: ConfigurationApplicationModel.SecureUrl(),
848
+ logo: ConfigurationApplicationModel.SecureUrl(),
849
+ is_active: Joi.boolean(),
1033
850
  });
1034
851
  }
1035
852
 
1036
- /** @returns {ApplicationInformation} */
1037
- static ApplicationInformation() {
853
+ /** @returns {CompanyInfo} */
854
+ static CompanyInfo() {
1038
855
  return Joi.object({
1039
- __v: Joi.number(),
1040
856
  _id: Joi.string().allow(""),
1041
- address: ConfigurationApplicationModel.InformationAddress(),
1042
- application: Joi.string().allow(""),
1043
- business_highlights: Joi.array().items(
1044
- ConfigurationApplicationModel.BusinessHighlights()
857
+ uid: Joi.number(),
858
+ created_on: Joi.string().allow(""),
859
+ is_active: Joi.boolean(),
860
+ name: Joi.string().allow(""),
861
+ addresses: Joi.array().items(
862
+ ConfigurationApplicationModel.CompanyAboutAddress()
1045
863
  ),
1046
- copyright_text: Joi.string().allow(""),
1047
- created_at: Joi.string().allow(""),
1048
- links: Joi.array().items(ConfigurationApplicationModel.Links()),
1049
- modified_at: Joi.string().allow(""),
1050
- social_links: ConfigurationApplicationModel.SocialLinks(),
1051
- support: ConfigurationApplicationModel.InformationSupport(),
864
+ notification_emails: Joi.array().items(Joi.string().allow("")),
1052
865
  });
1053
866
  }
1054
867
 
1055
- /** @returns {ApplicationMeta} */
1056
- static ApplicationMeta() {
868
+ /** @returns {OwnerInfo} */
869
+ static OwnerInfo() {
1057
870
  return Joi.object({
1058
- name: Joi.string().allow(""),
1059
- value: Joi.string().allow(""),
871
+ _id: Joi.string().allow(""),
872
+ emails: Joi.array().items(ConfigurationApplicationModel.UserEmail()),
873
+ phone_numbers: Joi.array().items(
874
+ ConfigurationApplicationModel.UserPhoneNumber()
875
+ ),
876
+ first_name: Joi.string().allow(""),
877
+ last_name: Joi.string().allow(""),
878
+ profile_pic: Joi.string().allow(""),
1060
879
  });
1061
880
  }
1062
881
 
1063
- /** @returns {ApplicationRedirections} */
1064
- static ApplicationRedirections() {
882
+ /** @returns {SupportedLanguage} */
883
+ static SupportedLanguage() {
1065
884
  return Joi.object({
1066
- redirect_from: Joi.string().allow(""),
1067
- redirect_to: Joi.string().allow(""),
1068
- type: Joi.string().allow(""),
885
+ name: Joi.string().allow(""),
886
+ code: Joi.string().allow(""),
1069
887
  });
1070
888
  }
1071
889
 
1072
- /** @returns {ApplicationWebsite} */
1073
- static ApplicationWebsite() {
890
+ /** @returns {LanguageResponse} */
891
+ static LanguageResponse() {
1074
892
  return Joi.object({
1075
- basepath: Joi.string().allow(""),
1076
- enabled: Joi.boolean(),
893
+ items: Joi.array().items(
894
+ ConfigurationApplicationModel.SupportedLanguage()
895
+ ),
1077
896
  });
1078
897
  }
1079
898
 
1080
- /** @returns {AppStaff} */
1081
- static AppStaff() {
899
+ /** @returns {AppStaffResponse} */
900
+ static AppStaffResponse() {
1082
901
  return Joi.object({
1083
- _id: Joi.string().allow(""),
1084
- application: Joi.string().allow(""),
1085
- employee_code: Joi.string().allow(""),
1086
- first_name: Joi.string().allow(""),
1087
- last_name: Joi.string().allow(""),
1088
- order_incent: Joi.boolean(),
1089
- profile_pic_url: Joi.string().allow(""),
1090
- stores: Joi.array().items(Joi.number()),
1091
- title: Joi.string().allow(""),
1092
- user: Joi.string().allow(""),
902
+ staff_users: Joi.array().items(ConfigurationApplicationModel.AppStaff()),
1093
903
  });
1094
904
  }
1095
905
 
1096
906
  /** @returns {AppStaffListResponse} */
1097
907
  static AppStaffListResponse() {
1098
908
  return Joi.object({
1099
- items: Joi.array().items(ConfigurationApplicationModel.AppStaff()),
1100
909
  page: ConfigurationApplicationModel.Page(),
910
+ items: Joi.array().items(ConfigurationApplicationModel.AppStaff()),
1101
911
  });
1102
912
  }
1103
913
 
1104
- /** @returns {AppStaffResponse} */
1105
- static AppStaffResponse() {
1106
- return Joi.object({
1107
- staff_users: Joi.array().items(ConfigurationApplicationModel.AppStaff()),
1108
- });
1109
- }
1110
-
1111
- /** @returns {AppTokenResponse} */
1112
- static AppTokenResponse() {
914
+ /** @returns {OrderingStoreSelectRequest} */
915
+ static OrderingStoreSelectRequest() {
1113
916
  return Joi.object({
1114
- __v: Joi.number(),
1115
- _id: Joi.string().allow(""),
1116
- application: Joi.string().allow(""),
1117
- created_at: Joi.string().allow(""),
1118
- modified_at: Joi.string().allow(""),
1119
- tokens: ConfigurationApplicationModel.Tokens(),
917
+ ordering_store: ConfigurationApplicationModel.OrderingStoreSelect().required(),
1120
918
  });
1121
919
  }
1122
920
 
1123
- /** @returns {BlogLink} */
1124
- static BlogLink() {
921
+ /** @returns {OrderingStoreSelect} */
922
+ static OrderingStoreSelect() {
1125
923
  return Joi.object({
1126
- icon: Joi.string().allow(""),
1127
- link: Joi.string().allow(""),
1128
- title: Joi.string().allow(""),
924
+ uid: Joi.number().required(),
1129
925
  });
1130
926
  }
1131
927
 
1132
- /** @returns {BusinessHighlights} */
1133
- static BusinessHighlights() {
928
+ /** @returns {AppStaff} */
929
+ static AppStaff() {
1134
930
  return Joi.object({
1135
931
  _id: Joi.string().allow(""),
1136
- icon: Joi.string().allow(""),
1137
- sub_title: Joi.string().allow(""),
932
+ order_incent: Joi.boolean(),
933
+ stores: Joi.array().items(Joi.number()),
934
+ application: Joi.string().allow(""),
1138
935
  title: Joi.string().allow(""),
936
+ user: Joi.string().allow(""),
937
+ employee_code: Joi.string().allow(""),
938
+ first_name: Joi.string().allow(""),
939
+ last_name: Joi.string().allow(""),
940
+ profile_pic_url: Joi.string().allow(""),
1139
941
  });
1140
942
  }
1141
943
 
1142
- /** @returns {CartFeature} */
1143
- static CartFeature() {
1144
- return Joi.object({
1145
- google_map: Joi.boolean(),
1146
- gst_input: Joi.boolean(),
1147
- placing_for_customer: Joi.boolean(),
1148
- revenue_engine_coupon: Joi.boolean(),
1149
- staff_selection: Joi.boolean(),
1150
- });
1151
- }
1152
-
1153
- /** @returns {CommonFeature} */
1154
- static CommonFeature() {
1155
- return Joi.object({
1156
- communication_optin_dialog: ConfigurationApplicationModel.CommunicationOptinDialogFeature(),
1157
- compare_products: ConfigurationApplicationModel.CompareProductsFeature(),
1158
- currency: ConfigurationApplicationModel.CurrencyFeature(),
1159
- deployment_store_selection: ConfigurationApplicationModel.DeploymentStoreSelectionFeature(),
1160
- feedback: ConfigurationApplicationModel.FeedbackFeature(),
1161
- international_shipping: ConfigurationApplicationModel.InternationalShipping(),
1162
- listing_page: ConfigurationApplicationModel.ListingPageFeature(),
1163
- listing_price: ConfigurationApplicationModel.ListingPriceFeature(),
1164
- revenue_engine: ConfigurationApplicationModel.RevenueEngineFeature(),
1165
- reward_points: ConfigurationApplicationModel.RewardPointsConfig(),
1166
- });
1167
- }
1168
-
1169
- /** @returns {CommunicationOptinDialogFeature} */
1170
- static CommunicationOptinDialogFeature() {
1171
- return Joi.object({
1172
- visibility: Joi.boolean(),
1173
- });
1174
- }
1175
-
1176
- /** @returns {CompanyAboutAddress} */
1177
- static CompanyAboutAddress() {
1178
- return Joi.object({
1179
- address_type: Joi.string().allow(""),
1180
- address1: Joi.string().allow(""),
1181
- address2: Joi.string().allow(""),
1182
- city: Joi.string().allow(""),
1183
- country: Joi.string().allow(""),
1184
- pincode: Joi.number(),
1185
- state: Joi.string().allow(""),
1186
- });
1187
- }
1188
-
1189
- /** @returns {CompanyInfo} */
1190
- static CompanyInfo() {
1191
- return Joi.object({
1192
- _id: Joi.string().allow(""),
1193
- addresses: Joi.array().items(
1194
- ConfigurationApplicationModel.CompanyAboutAddress()
1195
- ),
1196
- created_on: Joi.string().allow(""),
1197
- is_active: Joi.boolean(),
1198
- name: Joi.string().allow(""),
1199
- notification_emails: Joi.array().items(Joi.string().allow("")),
1200
- uid: Joi.number(),
1201
- });
1202
- }
1203
-
1204
- /** @returns {CompareProductsFeature} */
1205
- static CompareProductsFeature() {
944
+ /** @returns {AppTokenResponse} */
945
+ static AppTokenResponse() {
1206
946
  return Joi.object({
1207
- enabled: Joi.boolean(),
947
+ tokens: ConfigurationApplicationModel.Tokens(),
948
+ _id: Joi.string().allow(""),
949
+ application: Joi.string().allow(""),
950
+ created_at: Joi.string().allow(""),
951
+ updated_at: Joi.string().allow(""),
952
+ __v: Joi.number(),
1208
953
  });
1209
954
  }
1210
955
 
1211
- /** @returns {Credentials} */
1212
- static Credentials() {
956
+ /** @returns {Tokens} */
957
+ static Tokens() {
1213
958
  return Joi.object({
1214
- android: ConfigurationApplicationModel.Android(),
1215
- api_key: Joi.string().allow(""),
1216
- application_id: Joi.string().allow(""),
1217
- gcm_sender_id: Joi.string().allow(""),
1218
- ios: ConfigurationApplicationModel.Ios(),
1219
- project_id: Joi.string().allow(""),
959
+ firebase: ConfigurationApplicationModel.Firebase(),
960
+ moengage: ConfigurationApplicationModel.Moengage(),
961
+ segment: ConfigurationApplicationModel.Segment(),
962
+ gtm: ConfigurationApplicationModel.Gtm(),
963
+ freshchat: ConfigurationApplicationModel.Freshchat(),
964
+ safetynet: ConfigurationApplicationModel.Safetynet(),
965
+ fynd_rewards: ConfigurationApplicationModel.FyndRewards(),
966
+ google_map: ConfigurationApplicationModel.GoogleMap(),
1220
967
  });
1221
968
  }
1222
969
 
1223
- /** @returns {Credit} */
1224
- static Credit() {
970
+ /** @returns {Firebase} */
971
+ static Firebase() {
1225
972
  return Joi.object({
973
+ credentials: ConfigurationApplicationModel.Credentials(),
1226
974
  enabled: Joi.boolean(),
1227
975
  });
1228
976
  }
1229
977
 
1230
- /** @returns {CurrenciesResponse} */
1231
- static CurrenciesResponse() {
978
+ /** @returns {Credentials} */
979
+ static Credentials() {
1232
980
  return Joi.object({
1233
- items: Joi.array().items(ConfigurationApplicationModel.Currency()),
981
+ ios: ConfigurationApplicationModel.Ios(),
982
+ android: ConfigurationApplicationModel.Android(),
983
+ project_id: Joi.string().allow(""),
984
+ gcm_sender_id: Joi.string().allow(""),
985
+ application_id: Joi.string().allow(""),
986
+ api_key: Joi.string().allow(""),
1234
987
  });
1235
988
  }
1236
989
 
1237
- /** @returns {Currency} */
1238
- static Currency() {
990
+ /** @returns {Ios} */
991
+ static Ios() {
1239
992
  return Joi.object({
1240
- _id: Joi.string().allow(""),
1241
- code: Joi.string().allow(""),
1242
- country_code: Joi.string().allow(""),
1243
- country_name: Joi.string().allow(""),
1244
- created_at: Joi.string().allow(""),
1245
- decimal_digits: Joi.number(),
1246
- is_active: Joi.boolean(),
1247
- modified_at: Joi.string().allow(""),
1248
- name: Joi.string().allow(""),
1249
- symbol: Joi.string().allow(""),
993
+ application_id: Joi.string().allow(""),
994
+ api_key: Joi.string().allow(""),
1250
995
  });
1251
996
  }
1252
997
 
1253
- /** @returns {CurrencyFeature} */
1254
- static CurrencyFeature() {
998
+ /** @returns {Android} */
999
+ static Android() {
1255
1000
  return Joi.object({
1256
- default_currency: Joi.string().allow(""),
1257
- type: Joi.string().allow(""),
1258
- value: Joi.array().items(Joi.string().allow("")),
1001
+ application_id: Joi.string().allow(""),
1002
+ api_key: Joi.string().allow(""),
1259
1003
  });
1260
1004
  }
1261
1005
 
1262
- /** @returns {Debit} */
1263
- static Debit() {
1006
+ /** @returns {Moengage} */
1007
+ static Moengage() {
1264
1008
  return Joi.object({
1265
- auto_apply: Joi.boolean(),
1009
+ credentials: ConfigurationApplicationModel.MoengageCredentials(),
1266
1010
  enabled: Joi.boolean(),
1267
- strategy_channel: Joi.string().allow(""),
1268
1011
  });
1269
1012
  }
1270
1013
 
1271
- /** @returns {DefaultCurrency} */
1272
- static DefaultCurrency() {
1014
+ /** @returns {MoengageCredentials} */
1015
+ static MoengageCredentials() {
1273
1016
  return Joi.object({
1274
- code: Joi.string().allow(""),
1275
- ref: Joi.string().allow(""),
1017
+ app_id: Joi.string().allow(""),
1276
1018
  });
1277
1019
  }
1278
1020
 
1279
- /** @returns {DeploymentStoreSelectionFeature} */
1280
- static DeploymentStoreSelectionFeature() {
1021
+ /** @returns {Segment} */
1022
+ static Segment() {
1281
1023
  return Joi.object({
1024
+ credentials: ConfigurationApplicationModel.SegmentCredentials(),
1282
1025
  enabled: Joi.boolean(),
1283
- type: Joi.string().allow(""),
1284
- });
1285
- }
1286
-
1287
- /** @returns {Domain} */
1288
- static Domain() {
1289
- return Joi.object({
1290
- _id: Joi.string().allow(""),
1291
- is_predefined: Joi.boolean(),
1292
- is_primary: Joi.boolean(),
1293
- is_shortlink: Joi.boolean(),
1294
- name: Joi.string().allow(""),
1295
- verified: Joi.boolean(),
1296
1026
  });
1297
1027
  }
1298
1028
 
1299
- /** @returns {FacebookLink} */
1300
- static FacebookLink() {
1029
+ /** @returns {SegmentCredentials} */
1030
+ static SegmentCredentials() {
1301
1031
  return Joi.object({
1302
- icon: Joi.string().allow(""),
1303
- link: Joi.string().allow(""),
1304
- title: Joi.string().allow(""),
1032
+ write_key: Joi.string().allow(""),
1305
1033
  });
1306
1034
  }
1307
1035
 
1308
- /** @returns {FeedbackFeature} */
1309
- static FeedbackFeature() {
1036
+ /** @returns {Gtm} */
1037
+ static Gtm() {
1310
1038
  return Joi.object({
1039
+ credentials: ConfigurationApplicationModel.GtmCredentials(),
1311
1040
  enabled: Joi.boolean(),
1312
1041
  });
1313
1042
  }
1314
1043
 
1315
- /** @returns {Firebase} */
1316
- static Firebase() {
1044
+ /** @returns {GtmCredentials} */
1045
+ static GtmCredentials() {
1317
1046
  return Joi.object({
1318
- credentials: ConfigurationApplicationModel.Credentials(),
1319
- enabled: Joi.boolean(),
1047
+ api_key: Joi.string().allow(""),
1320
1048
  });
1321
1049
  }
1322
1050
 
@@ -1337,6 +1065,21 @@ class ConfigurationApplicationModel {
1337
1065
  });
1338
1066
  }
1339
1067
 
1068
+ /** @returns {Safetynet} */
1069
+ static Safetynet() {
1070
+ return Joi.object({
1071
+ credentials: ConfigurationApplicationModel.SafetynetCredentials(),
1072
+ enabled: Joi.boolean(),
1073
+ });
1074
+ }
1075
+
1076
+ /** @returns {SafetynetCredentials} */
1077
+ static SafetynetCredentials() {
1078
+ return Joi.object({
1079
+ api_key: Joi.string().allow(""),
1080
+ });
1081
+ }
1082
+
1340
1083
  /** @returns {FyndRewards} */
1341
1084
  static FyndRewards() {
1342
1085
  return Joi.object({
@@ -1365,27 +1108,84 @@ class ConfigurationApplicationModel {
1365
1108
  });
1366
1109
  }
1367
1110
 
1368
- /** @returns {GooglePlusLink} */
1369
- static GooglePlusLink() {
1111
+ /** @returns {RewardPointsConfig} */
1112
+ static RewardPointsConfig() {
1370
1113
  return Joi.object({
1371
- icon: Joi.string().allow(""),
1372
- link: Joi.string().allow(""),
1373
- title: Joi.string().allow(""),
1114
+ credit: ConfigurationApplicationModel.Credit(),
1115
+ debit: ConfigurationApplicationModel.Debit(),
1374
1116
  });
1375
1117
  }
1376
1118
 
1377
- /** @returns {Gtm} */
1378
- static Gtm() {
1119
+ /** @returns {Credit} */
1120
+ static Credit() {
1379
1121
  return Joi.object({
1380
- credentials: ConfigurationApplicationModel.GtmCredentials(),
1381
1122
  enabled: Joi.boolean(),
1382
1123
  });
1383
1124
  }
1384
1125
 
1385
- /** @returns {GtmCredentials} */
1386
- static GtmCredentials() {
1126
+ /** @returns {Debit} */
1127
+ static Debit() {
1387
1128
  return Joi.object({
1388
- api_key: Joi.string().allow(""),
1129
+ enabled: Joi.boolean(),
1130
+ auto_apply: Joi.boolean(),
1131
+ strategy_channel: Joi.string().allow(""),
1132
+ });
1133
+ }
1134
+
1135
+ /** @returns {ProductDetailFeature} */
1136
+ static ProductDetailFeature() {
1137
+ return Joi.object({
1138
+ similar: Joi.array().items(Joi.string().allow("")),
1139
+ seller_selection: Joi.boolean(),
1140
+ update_product_meta: Joi.boolean(),
1141
+ request_product: Joi.boolean(),
1142
+ });
1143
+ }
1144
+
1145
+ /** @returns {LaunchPage} */
1146
+ static LaunchPage() {
1147
+ return Joi.object({
1148
+ page_type: Joi.string().allow(""),
1149
+ params: Joi.any(),
1150
+ query: Joi.any(),
1151
+ });
1152
+ }
1153
+
1154
+ /** @returns {LandingPageFeature} */
1155
+ static LandingPageFeature() {
1156
+ return Joi.object({
1157
+ launch_page: ConfigurationApplicationModel.LaunchPage(),
1158
+ continue_as_guest: Joi.boolean(),
1159
+ login_btn_text: Joi.string().allow(""),
1160
+ show_domain_textbox: Joi.boolean(),
1161
+ show_register_btn: Joi.boolean(),
1162
+ });
1163
+ }
1164
+
1165
+ /** @returns {RegistrationPageFeature} */
1166
+ static RegistrationPageFeature() {
1167
+ return Joi.object({
1168
+ ask_store_address: Joi.boolean(),
1169
+ });
1170
+ }
1171
+
1172
+ /** @returns {AppFeature} */
1173
+ static AppFeature() {
1174
+ return Joi.object({
1175
+ product_detail: ConfigurationApplicationModel.ProductDetailFeature(),
1176
+ landing_page: ConfigurationApplicationModel.LandingPageFeature(),
1177
+ registration_page: ConfigurationApplicationModel.RegistrationPageFeature(),
1178
+ home_page: ConfigurationApplicationModel.HomePageFeature(),
1179
+ common: ConfigurationApplicationModel.CommonFeature(),
1180
+ cart: ConfigurationApplicationModel.CartFeature(),
1181
+ qr: ConfigurationApplicationModel.QrFeature(),
1182
+ pcr: ConfigurationApplicationModel.PcrFeature(),
1183
+ order: ConfigurationApplicationModel.OrderFeature(),
1184
+ _id: Joi.string().allow(""),
1185
+ app: Joi.string().allow(""),
1186
+ created_at: Joi.string().allow(""),
1187
+ updated_at: Joi.string().allow(""),
1188
+ __v: Joi.number(),
1389
1189
  });
1390
1190
  }
1391
1191
 
@@ -1396,170 +1196,216 @@ class ConfigurationApplicationModel {
1396
1196
  });
1397
1197
  }
1398
1198
 
1399
- /** @returns {InformationAddress} */
1400
- static InformationAddress() {
1199
+ /** @returns {CommonFeature} */
1200
+ static CommonFeature() {
1401
1201
  return Joi.object({
1402
- address_line: Joi.array().items(Joi.string().allow("")),
1403
- city: Joi.string().allow(""),
1404
- country: Joi.string().allow(""),
1405
- loc: ConfigurationApplicationModel.InformationLoc(),
1406
- phone: Joi.array().items(
1407
- ConfigurationApplicationModel.InformationPhone()
1408
- ),
1409
- pincode: Joi.number(),
1202
+ communication_optin_dialog: ConfigurationApplicationModel.CommunicationOptinDialogFeature(),
1203
+ deployment_store_selection: ConfigurationApplicationModel.DeploymentStoreSelectionFeature(),
1204
+ listing_price: ConfigurationApplicationModel.ListingPriceFeature(),
1205
+ currency: ConfigurationApplicationModel.CurrencyFeature(),
1206
+ revenue_engine: ConfigurationApplicationModel.RevenueEngineFeature(),
1207
+ feedback: ConfigurationApplicationModel.FeedbackFeature(),
1208
+ compare_products: ConfigurationApplicationModel.CompareProductsFeature(),
1209
+ reward_points: ConfigurationApplicationModel.RewardPointsConfig(),
1210
+ });
1211
+ }
1212
+
1213
+ /** @returns {CommunicationOptinDialogFeature} */
1214
+ static CommunicationOptinDialogFeature() {
1215
+ return Joi.object({
1216
+ visibility: Joi.boolean(),
1217
+ });
1218
+ }
1219
+
1220
+ /** @returns {DeploymentStoreSelectionFeature} */
1221
+ static DeploymentStoreSelectionFeature() {
1222
+ return Joi.object({
1223
+ enabled: Joi.boolean(),
1224
+ type: Joi.string().allow(""),
1225
+ });
1226
+ }
1227
+
1228
+ /** @returns {ListingPriceFeature} */
1229
+ static ListingPriceFeature() {
1230
+ return Joi.object({
1231
+ value: Joi.string().allow(""),
1232
+ sort: Joi.string().allow(""),
1410
1233
  });
1411
1234
  }
1412
1235
 
1413
- /** @returns {InformationLoc} */
1414
- static InformationLoc() {
1236
+ /** @returns {CurrencyFeature} */
1237
+ static CurrencyFeature() {
1415
1238
  return Joi.object({
1416
- coordinates: Joi.array().items(Joi.number()),
1239
+ value: Joi.array().items(Joi.string().allow("")),
1417
1240
  type: Joi.string().allow(""),
1241
+ default_currency: Joi.string().allow(""),
1418
1242
  });
1419
1243
  }
1420
1244
 
1421
- /** @returns {InformationPhone} */
1422
- static InformationPhone() {
1245
+ /** @returns {RevenueEngineFeature} */
1246
+ static RevenueEngineFeature() {
1423
1247
  return Joi.object({
1424
- code: Joi.string().allow(""),
1425
- number: Joi.string().allow(""),
1248
+ enabled: Joi.boolean(),
1426
1249
  });
1427
1250
  }
1428
1251
 
1429
- /** @returns {InformationSupport} */
1430
- static InformationSupport() {
1252
+ /** @returns {FeedbackFeature} */
1253
+ static FeedbackFeature() {
1431
1254
  return Joi.object({
1432
- email: Joi.array().items(
1433
- ConfigurationApplicationModel.InformationSupportEmail()
1434
- ),
1435
- phone: Joi.array().items(
1436
- ConfigurationApplicationModel.InformationSupportPhone()
1437
- ),
1438
- timing: Joi.string().allow(""),
1255
+ enabled: Joi.boolean(),
1439
1256
  });
1440
1257
  }
1441
1258
 
1442
- /** @returns {InformationSupportEmail} */
1443
- static InformationSupportEmail() {
1259
+ /** @returns {CompareProductsFeature} */
1260
+ static CompareProductsFeature() {
1444
1261
  return Joi.object({
1445
- key: Joi.string().allow(""),
1446
- value: Joi.string().allow(""),
1262
+ enabled: Joi.boolean(),
1447
1263
  });
1448
1264
  }
1449
1265
 
1450
- /** @returns {InformationSupportPhone} */
1451
- static InformationSupportPhone() {
1266
+ /** @returns {CartFeature} */
1267
+ static CartFeature() {
1452
1268
  return Joi.object({
1453
- code: Joi.string().allow(""),
1454
- key: Joi.string().allow(""),
1455
- number: Joi.string().allow(""),
1269
+ gst_input: Joi.boolean(),
1270
+ staff_selection: Joi.boolean(),
1271
+ placing_for_customer: Joi.boolean(),
1272
+ google_map: Joi.boolean(),
1273
+ revenue_engine_coupon: Joi.boolean(),
1456
1274
  });
1457
1275
  }
1458
1276
 
1459
- /** @returns {InstagramLink} */
1460
- static InstagramLink() {
1277
+ /** @returns {QrFeature} */
1278
+ static QrFeature() {
1461
1279
  return Joi.object({
1462
- icon: Joi.string().allow(""),
1463
- link: Joi.string().allow(""),
1464
- title: Joi.string().allow(""),
1280
+ application: Joi.boolean(),
1281
+ products: Joi.boolean(),
1282
+ collections: Joi.boolean(),
1465
1283
  });
1466
1284
  }
1467
1285
 
1468
- /** @returns {InternationalShipping} */
1469
- static InternationalShipping() {
1286
+ /** @returns {PcrFeature} */
1287
+ static PcrFeature() {
1470
1288
  return Joi.object({
1471
- enabled: Joi.boolean(),
1289
+ staff_selection: Joi.boolean(),
1472
1290
  });
1473
1291
  }
1474
1292
 
1475
- /** @returns {InvalidPayloadRequest} */
1476
- static InvalidPayloadRequest() {
1293
+ /** @returns {OrderFeature} */
1294
+ static OrderFeature() {
1477
1295
  return Joi.object({
1478
- message: Joi.string().allow(""),
1296
+ buy_again: Joi.boolean(),
1479
1297
  });
1480
1298
  }
1481
1299
 
1482
- /** @returns {Ios} */
1483
- static Ios() {
1300
+ /** @returns {AppFeatureResponse} */
1301
+ static AppFeatureResponse() {
1484
1302
  return Joi.object({
1485
- api_key: Joi.string().allow(""),
1486
- application_id: Joi.string().allow(""),
1303
+ feature: ConfigurationApplicationModel.AppFeature(),
1487
1304
  });
1488
1305
  }
1489
1306
 
1490
- /** @returns {LandingPageFeature} */
1491
- static LandingPageFeature() {
1307
+ /** @returns {Currency} */
1308
+ static Currency() {
1492
1309
  return Joi.object({
1493
- continue_as_guest: Joi.boolean(),
1494
- launch_page: ConfigurationApplicationModel.LaunchPage(),
1495
- login_btn_text: Joi.string().allow(""),
1496
- show_domain_textbox: Joi.boolean(),
1497
- show_register_btn: Joi.boolean(),
1310
+ _id: Joi.string().allow(""),
1311
+ is_active: Joi.boolean(),
1312
+ name: Joi.string().allow(""),
1313
+ code: Joi.string().allow(""),
1314
+ created_at: Joi.string().allow(""),
1315
+ updated_at: Joi.string().allow(""),
1316
+ decimal_digits: Joi.number(),
1317
+ symbol: Joi.string().allow(""),
1498
1318
  });
1499
1319
  }
1500
1320
 
1501
- /** @returns {LanguageResponse} */
1502
- static LanguageResponse() {
1321
+ /** @returns {Domain} */
1322
+ static Domain() {
1503
1323
  return Joi.object({
1504
- items: Joi.array().items(
1505
- ConfigurationApplicationModel.SupportedLanguage()
1506
- ),
1324
+ verified: Joi.boolean(),
1325
+ is_primary: Joi.boolean(),
1326
+ is_shortlink: Joi.boolean(),
1327
+ _id: Joi.string().allow(""),
1328
+ name: Joi.string().allow(""),
1329
+ is_predefined: Joi.boolean(),
1507
1330
  });
1508
1331
  }
1509
1332
 
1510
- /** @returns {LaunchPage} */
1511
- static LaunchPage() {
1333
+ /** @returns {ApplicationWebsite} */
1334
+ static ApplicationWebsite() {
1512
1335
  return Joi.object({
1513
- page_type: Joi.string().allow(""),
1514
- params: Joi.any(),
1515
- query: Joi.any(),
1336
+ enabled: Joi.boolean(),
1337
+ basepath: Joi.string().allow(""),
1516
1338
  });
1517
1339
  }
1518
1340
 
1519
- /** @returns {LinkedInLink} */
1520
- static LinkedInLink() {
1341
+ /** @returns {ApplicationCors} */
1342
+ static ApplicationCors() {
1521
1343
  return Joi.object({
1522
- icon: Joi.string().allow(""),
1523
- link: Joi.string().allow(""),
1524
- title: Joi.string().allow(""),
1344
+ domains: Joi.array().items(Joi.string().allow("")),
1525
1345
  });
1526
1346
  }
1527
1347
 
1528
- /** @returns {Links} */
1529
- static Links() {
1348
+ /** @returns {ApplicationAuth} */
1349
+ static ApplicationAuth() {
1530
1350
  return Joi.object({
1531
- link: Joi.string().allow(""),
1532
- title: Joi.string().allow(""),
1351
+ enabled: Joi.boolean(),
1533
1352
  });
1534
1353
  }
1535
1354
 
1536
- /** @returns {ListingPageFeature} */
1537
- static ListingPageFeature() {
1355
+ /** @returns {ApplicationRedirections} */
1356
+ static ApplicationRedirections() {
1538
1357
  return Joi.object({
1539
- sort_on: Joi.string().allow(""),
1358
+ redirect_from: Joi.string().allow(""),
1359
+ redirect_to: Joi.string().allow(""),
1360
+ type: Joi.string().allow(""),
1540
1361
  });
1541
1362
  }
1542
1363
 
1543
- /** @returns {ListingPriceFeature} */
1544
- static ListingPriceFeature() {
1364
+ /** @returns {ApplicationMeta} */
1365
+ static ApplicationMeta() {
1545
1366
  return Joi.object({
1546
- sort: Joi.string().allow(""),
1367
+ name: Joi.string().allow(""),
1547
1368
  value: Joi.string().allow(""),
1548
1369
  });
1549
1370
  }
1550
1371
 
1551
- /** @returns {Moengage} */
1552
- static Moengage() {
1372
+ /** @returns {SecureUrl} */
1373
+ static SecureUrl() {
1553
1374
  return Joi.object({
1554
- credentials: ConfigurationApplicationModel.MoengageCredentials(),
1555
- enabled: Joi.boolean(),
1375
+ secure_url: Joi.string().allow(""),
1556
1376
  });
1557
1377
  }
1558
1378
 
1559
- /** @returns {MoengageCredentials} */
1560
- static MoengageCredentials() {
1379
+ /** @returns {Application} */
1380
+ static Application() {
1561
1381
  return Joi.object({
1562
- app_id: Joi.string().allow(""),
1382
+ website: ConfigurationApplicationModel.ApplicationWebsite(),
1383
+ cors: ConfigurationApplicationModel.ApplicationCors(),
1384
+ auth: ConfigurationApplicationModel.ApplicationAuth(),
1385
+ description: Joi.string().allow(""),
1386
+ channel_type: Joi.string().allow(""),
1387
+ cache_ttl: Joi.number(),
1388
+ is_internal: Joi.boolean(),
1389
+ is_active: Joi.boolean(),
1390
+ _id: Joi.string().allow(""),
1391
+ name: Joi.string().allow(""),
1392
+ owner: Joi.string().allow(""),
1393
+ company_id: Joi.number(),
1394
+ token: Joi.string().allow(""),
1395
+ redirections: Joi.array().items(
1396
+ ConfigurationApplicationModel.ApplicationRedirections()
1397
+ ),
1398
+ meta: Joi.array().items(ConfigurationApplicationModel.ApplicationMeta()),
1399
+ created_at: Joi.string().allow(""),
1400
+ updated_at: Joi.string().allow(""),
1401
+ __v: Joi.number(),
1402
+ banner: ConfigurationApplicationModel.SecureUrl(),
1403
+ logo: ConfigurationApplicationModel.SecureUrl(),
1404
+ favicon: ConfigurationApplicationModel.SecureUrl(),
1405
+ domains: Joi.array().items(ConfigurationApplicationModel.Domain()),
1406
+ app_type: Joi.string().allow(""),
1407
+ mobile_logo: ConfigurationApplicationModel.SecureUrl(),
1408
+ domain: ConfigurationApplicationModel.Domain(),
1563
1409
  });
1564
1410
  }
1565
1411
 
@@ -1570,304 +1416,316 @@ class ConfigurationApplicationModel {
1570
1416
  });
1571
1417
  }
1572
1418
 
1573
- /** @returns {OptedStoreAddress} */
1574
- static OptedStoreAddress() {
1419
+ /** @returns {UnhandledError} */
1420
+ static UnhandledError() {
1575
1421
  return Joi.object({
1576
- address1: Joi.string().allow(""),
1577
- address2: Joi.string().allow(""),
1578
- city: Joi.string().allow(""),
1579
- country: Joi.string().allow(""),
1580
- lat_long: ConfigurationApplicationModel.StoreLatLong(),
1581
- pincode: Joi.number(),
1582
- state: Joi.string().allow(""),
1422
+ message: Joi.string().allow(""),
1583
1423
  });
1584
1424
  }
1585
1425
 
1586
- /** @returns {OrderFeature} */
1587
- static OrderFeature() {
1426
+ /** @returns {SuccessMessageResponse} */
1427
+ static SuccessMessageResponse() {
1588
1428
  return Joi.object({
1589
- buy_again: Joi.boolean(),
1429
+ message: Joi.string().allow(""),
1590
1430
  });
1591
1431
  }
1592
1432
 
1593
- /** @returns {OrderingStore} */
1594
- static OrderingStore() {
1433
+ /** @returns {CompanyAboutAddress} */
1434
+ static CompanyAboutAddress() {
1595
1435
  return Joi.object({
1596
- _id: Joi.string().allow(""),
1597
- address: ConfigurationApplicationModel.OptedStoreAddress(),
1598
- code: Joi.string().allow(""),
1599
- display_name: Joi.string().allow(""),
1600
- name: Joi.string().allow(""),
1601
1436
  pincode: Joi.number(),
1602
- store_code: Joi.string().allow(""),
1603
- store_type: Joi.string().allow(""),
1604
- uid: Joi.number(),
1605
- });
1606
- }
1607
-
1608
- /** @returns {OrderingStores} */
1609
- static OrderingStores() {
1610
- return Joi.object({
1611
- __v: Joi.number(),
1612
- _id: Joi.string().allow(""),
1613
- all_stores: Joi.boolean(),
1614
- app: Joi.string().allow(""),
1615
- deployed_stores: Joi.array().items(Joi.number()),
1616
- enabled: Joi.boolean(),
1617
- items: Joi.array().items(ConfigurationApplicationModel.OrderingStore()),
1618
- page: ConfigurationApplicationModel.Page(),
1619
- type: Joi.string().allow(""),
1620
- });
1621
- }
1622
-
1623
- /** @returns {OrderingStoreSelect} */
1624
- static OrderingStoreSelect() {
1625
- return Joi.object({
1626
- uid: Joi.number().required(),
1437
+ address1: Joi.string().allow(""),
1438
+ address2: Joi.string().allow(""),
1439
+ city: Joi.string().allow(""),
1440
+ state: Joi.string().allow(""),
1441
+ country: Joi.string().allow(""),
1442
+ address_type: Joi.string().allow(""),
1627
1443
  });
1628
1444
  }
1629
1445
 
1630
- /** @returns {OrderingStoreSelectRequest} */
1631
- static OrderingStoreSelectRequest() {
1446
+ /** @returns {UserEmail} */
1447
+ static UserEmail() {
1632
1448
  return Joi.object({
1633
- ordering_store: ConfigurationApplicationModel.OrderingStoreSelect().required(),
1449
+ active: Joi.boolean(),
1450
+ primary: Joi.boolean(),
1451
+ verified: Joi.boolean(),
1452
+ email: Joi.string().allow(""),
1634
1453
  });
1635
1454
  }
1636
1455
 
1637
- /** @returns {OwnerInfo} */
1638
- static OwnerInfo() {
1456
+ /** @returns {UserPhoneNumber} */
1457
+ static UserPhoneNumber() {
1639
1458
  return Joi.object({
1640
- _id: Joi.string().allow(""),
1641
- emails: Joi.array().items(ConfigurationApplicationModel.UserEmail()),
1642
- first_name: Joi.string().allow(""),
1643
- last_name: Joi.string().allow(""),
1644
- phone_numbers: Joi.array().items(
1645
- ConfigurationApplicationModel.UserPhoneNumber()
1646
- ),
1647
- profile_pic: Joi.string().allow(""),
1459
+ active: Joi.boolean(),
1460
+ primary: Joi.boolean(),
1461
+ verified: Joi.boolean(),
1462
+ country_code: Joi.number(),
1463
+ phone: Joi.string().allow(""),
1648
1464
  });
1649
1465
  }
1650
1466
 
1651
1467
  /** @returns {Page} */
1652
1468
  static Page() {
1653
1469
  return Joi.object({
1654
- current: Joi.number(),
1655
- has_next: Joi.boolean(),
1656
- has_previous: Joi.boolean(),
1657
1470
  item_total: Joi.number(),
1658
1471
  next_id: Joi.string().allow(""),
1659
- size: Joi.number(),
1472
+ has_previous: Joi.boolean(),
1473
+ has_next: Joi.boolean(),
1474
+ current: Joi.number(),
1660
1475
  type: Joi.string().allow("").required(),
1476
+ size: Joi.number(),
1661
1477
  });
1662
1478
  }
1663
1479
 
1664
- /** @returns {PcrFeature} */
1665
- static PcrFeature() {
1480
+ /** @returns {ApplicationInformation} */
1481
+ static ApplicationInformation() {
1666
1482
  return Joi.object({
1667
- staff_selection: Joi.boolean(),
1483
+ address: ConfigurationApplicationModel.InformationAddress(),
1484
+ support: ConfigurationApplicationModel.InformationSupport(),
1485
+ social_links: ConfigurationApplicationModel.SocialLinks(),
1486
+ links: ConfigurationApplicationModel.Links(),
1487
+ copyright_text: Joi.string().allow(""),
1488
+ _id: Joi.string().allow(""),
1489
+ business_highlights: ConfigurationApplicationModel.BusinessHighlights(),
1490
+ application: Joi.string().allow(""),
1491
+ created_at: Joi.string().allow(""),
1492
+ updated_at: Joi.string().allow(""),
1493
+ __v: Joi.number(),
1668
1494
  });
1669
1495
  }
1670
1496
 
1671
- /** @returns {PinterestLink} */
1672
- static PinterestLink() {
1497
+ /** @returns {InformationAddress} */
1498
+ static InformationAddress() {
1673
1499
  return Joi.object({
1674
- icon: Joi.string().allow(""),
1675
- link: Joi.string().allow(""),
1676
- title: Joi.string().allow(""),
1500
+ loc: Joi.string().allow(""),
1501
+ address_line: Joi.array().items(Joi.string().allow("")),
1502
+ phone: ConfigurationApplicationModel.InformationPhone(),
1503
+ city: Joi.string().allow(""),
1504
+ country: Joi.string().allow(""),
1505
+ pincode: Joi.number(),
1677
1506
  });
1678
1507
  }
1679
1508
 
1680
- /** @returns {ProductDetailFeature} */
1681
- static ProductDetailFeature() {
1509
+ /** @returns {InformationPhone} */
1510
+ static InformationPhone() {
1682
1511
  return Joi.object({
1683
- request_product: Joi.boolean(),
1684
- seller_selection: Joi.boolean(),
1685
- similar: Joi.array().items(Joi.string().allow("")),
1686
- update_product_meta: Joi.boolean(),
1512
+ code: Joi.string().allow(""),
1513
+ number: Joi.string().allow(""),
1687
1514
  });
1688
1515
  }
1689
1516
 
1690
- /** @returns {QrFeature} */
1691
- static QrFeature() {
1517
+ /** @returns {InformationSupport} */
1518
+ static InformationSupport() {
1692
1519
  return Joi.object({
1693
- application: Joi.boolean(),
1694
- collections: Joi.boolean(),
1695
- products: Joi.boolean(),
1520
+ phone: Joi.array().items(Joi.string().allow("")),
1521
+ email: Joi.array().items(Joi.string().allow("")),
1522
+ timing: Joi.string().allow(""),
1696
1523
  });
1697
1524
  }
1698
1525
 
1699
- /** @returns {RegistrationPageFeature} */
1700
- static RegistrationPageFeature() {
1526
+ /** @returns {SocialLinks} */
1527
+ static SocialLinks() {
1701
1528
  return Joi.object({
1702
- ask_store_address: Joi.boolean(),
1529
+ facebook: ConfigurationApplicationModel.FacebookLink(),
1530
+ instagram: ConfigurationApplicationModel.InstagramLink(),
1531
+ twitter: ConfigurationApplicationModel.TwitterLink(),
1532
+ pinterest: ConfigurationApplicationModel.PinterestLink(),
1533
+ google_plus: ConfigurationApplicationModel.GooglePlusLink(),
1534
+ youtube: ConfigurationApplicationModel.YoutubeLink(),
1535
+ linked_in: ConfigurationApplicationModel.LinkedInLink(),
1536
+ vimeo: ConfigurationApplicationModel.VimeoLink(),
1537
+ blog_link: ConfigurationApplicationModel.BlogLink(),
1703
1538
  });
1704
1539
  }
1705
1540
 
1706
- /** @returns {RevenueEngineFeature} */
1707
- static RevenueEngineFeature() {
1541
+ /** @returns {FacebookLink} */
1542
+ static FacebookLink() {
1708
1543
  return Joi.object({
1709
- enabled: Joi.boolean(),
1544
+ title: Joi.string().allow(""),
1545
+ icon: Joi.string().allow(""),
1546
+ link: Joi.string().allow(""),
1710
1547
  });
1711
1548
  }
1712
1549
 
1713
- /** @returns {RewardPointsConfig} */
1714
- static RewardPointsConfig() {
1550
+ /** @returns {InstagramLink} */
1551
+ static InstagramLink() {
1715
1552
  return Joi.object({
1716
- credit: ConfigurationApplicationModel.Credit(),
1717
- debit: ConfigurationApplicationModel.Debit(),
1553
+ title: Joi.string().allow(""),
1554
+ icon: Joi.string().allow(""),
1555
+ link: Joi.string().allow(""),
1718
1556
  });
1719
1557
  }
1720
1558
 
1721
- /** @returns {Safetynet} */
1722
- static Safetynet() {
1559
+ /** @returns {TwitterLink} */
1560
+ static TwitterLink() {
1723
1561
  return Joi.object({
1724
- credentials: ConfigurationApplicationModel.SafetynetCredentials(),
1725
- enabled: Joi.boolean(),
1562
+ title: Joi.string().allow(""),
1563
+ icon: Joi.string().allow(""),
1564
+ link: Joi.string().allow(""),
1726
1565
  });
1727
1566
  }
1728
1567
 
1729
- /** @returns {SafetynetCredentials} */
1730
- static SafetynetCredentials() {
1568
+ /** @returns {PinterestLink} */
1569
+ static PinterestLink() {
1731
1570
  return Joi.object({
1732
- api_key: Joi.string().allow(""),
1571
+ title: Joi.string().allow(""),
1572
+ icon: Joi.string().allow(""),
1573
+ link: Joi.string().allow(""),
1733
1574
  });
1734
1575
  }
1735
1576
 
1736
- /** @returns {SecureUrl} */
1737
- static SecureUrl() {
1577
+ /** @returns {GooglePlusLink} */
1578
+ static GooglePlusLink() {
1738
1579
  return Joi.object({
1739
- secure_url: Joi.string().allow(""),
1580
+ title: Joi.string().allow(""),
1581
+ icon: Joi.string().allow(""),
1582
+ link: Joi.string().allow(""),
1740
1583
  });
1741
1584
  }
1742
1585
 
1743
- /** @returns {Segment} */
1744
- static Segment() {
1586
+ /** @returns {YoutubeLink} */
1587
+ static YoutubeLink() {
1745
1588
  return Joi.object({
1746
- credentials: ConfigurationApplicationModel.SegmentCredentials(),
1747
- enabled: Joi.boolean(),
1589
+ title: Joi.string().allow(""),
1590
+ icon: Joi.string().allow(""),
1591
+ link: Joi.string().allow(""),
1748
1592
  });
1749
1593
  }
1750
1594
 
1751
- /** @returns {SegmentCredentials} */
1752
- static SegmentCredentials() {
1595
+ /** @returns {LinkedInLink} */
1596
+ static LinkedInLink() {
1753
1597
  return Joi.object({
1754
- write_key: Joi.string().allow(""),
1598
+ title: Joi.string().allow(""),
1599
+ icon: Joi.string().allow(""),
1600
+ link: Joi.string().allow(""),
1755
1601
  });
1756
1602
  }
1757
1603
 
1758
- /** @returns {SocialLinks} */
1759
- static SocialLinks() {
1604
+ /** @returns {VimeoLink} */
1605
+ static VimeoLink() {
1760
1606
  return Joi.object({
1761
- blog_link: ConfigurationApplicationModel.BlogLink(),
1762
- facebook: ConfigurationApplicationModel.FacebookLink(),
1763
- google_plus: ConfigurationApplicationModel.GooglePlusLink(),
1764
- instagram: ConfigurationApplicationModel.InstagramLink(),
1765
- linked_in: ConfigurationApplicationModel.LinkedInLink(),
1766
- pinterest: ConfigurationApplicationModel.PinterestLink(),
1767
- twitter: ConfigurationApplicationModel.TwitterLink(),
1768
- vimeo: ConfigurationApplicationModel.VimeoLink(),
1769
- youtube: ConfigurationApplicationModel.YoutubeLink(),
1607
+ title: Joi.string().allow(""),
1608
+ icon: Joi.string().allow(""),
1609
+ link: Joi.string().allow(""),
1770
1610
  });
1771
1611
  }
1772
1612
 
1773
- /** @returns {StoreLatLong} */
1774
- static StoreLatLong() {
1613
+ /** @returns {BlogLink} */
1614
+ static BlogLink() {
1775
1615
  return Joi.object({
1776
- coordinates: Joi.array().items(Joi.number()),
1777
- type: Joi.string().allow(""),
1616
+ title: Joi.string().allow(""),
1617
+ icon: Joi.string().allow(""),
1618
+ link: Joi.string().allow(""),
1778
1619
  });
1779
1620
  }
1780
1621
 
1781
- /** @returns {SuccessMessageResponse} */
1782
- static SuccessMessageResponse() {
1622
+ /** @returns {Links} */
1623
+ static Links() {
1783
1624
  return Joi.object({
1784
- message: Joi.string().allow(""),
1625
+ title: Joi.string().allow(""),
1626
+ link: Joi.string().allow(""),
1785
1627
  });
1786
1628
  }
1787
1629
 
1788
- /** @returns {SupportedLanguage} */
1789
- static SupportedLanguage() {
1630
+ /** @returns {BusinessHighlights} */
1631
+ static BusinessHighlights() {
1790
1632
  return Joi.object({
1791
- code: Joi.string().allow(""),
1792
- name: Joi.string().allow(""),
1633
+ _id: Joi.string().allow(""),
1634
+ title: Joi.string().allow(""),
1635
+ icon: Joi.string().allow(""),
1636
+ sub_title: Joi.string().allow(""),
1793
1637
  });
1794
1638
  }
1795
1639
 
1796
- /** @returns {Tokens} */
1797
- static Tokens() {
1640
+ /** @returns {ApplicationDetail} */
1641
+ static ApplicationDetail() {
1798
1642
  return Joi.object({
1799
- firebase: ConfigurationApplicationModel.Firebase(),
1800
- freshchat: ConfigurationApplicationModel.Freshchat(),
1801
- fynd_rewards: ConfigurationApplicationModel.FyndRewards(),
1802
- google_map: ConfigurationApplicationModel.GoogleMap(),
1803
- gtm: ConfigurationApplicationModel.Gtm(),
1804
- moengage: ConfigurationApplicationModel.Moengage(),
1805
- safetynet: ConfigurationApplicationModel.Safetynet(),
1806
- segment: ConfigurationApplicationModel.Segment(),
1643
+ name: Joi.string().allow("").required(),
1644
+ description: Joi.string().allow(""),
1645
+ logo: ConfigurationApplicationModel.SecureUrl(),
1646
+ mobile_logo: ConfigurationApplicationModel.SecureUrl(),
1647
+ favicon: ConfigurationApplicationModel.SecureUrl(),
1648
+ banner: ConfigurationApplicationModel.SecureUrl(),
1649
+ domain: ConfigurationApplicationModel.Domain(),
1650
+ domains: Joi.array().items(ConfigurationApplicationModel.Domain()),
1651
+ _id: Joi.string().allow(""),
1807
1652
  });
1808
1653
  }
1809
1654
 
1810
- /** @returns {TokenSchema} */
1811
- static TokenSchema() {
1655
+ /** @returns {CurrenciesResponse} */
1656
+ static CurrenciesResponse() {
1812
1657
  return Joi.object({
1813
- created_at: Joi.string().allow(""),
1814
- created_by: Joi.object().pattern(/\S/, Joi.any()),
1815
- token: Joi.string().allow(""),
1658
+ items: Joi.array().items(ConfigurationApplicationModel.Currency()),
1816
1659
  });
1817
1660
  }
1818
1661
 
1819
- /** @returns {TwitterLink} */
1820
- static TwitterLink() {
1662
+ /** @returns {DefaultCurrency} */
1663
+ static DefaultCurrency() {
1821
1664
  return Joi.object({
1822
- icon: Joi.string().allow(""),
1823
- link: Joi.string().allow(""),
1824
- title: Joi.string().allow(""),
1665
+ ref: Joi.string().allow(""),
1666
+ code: Joi.string().allow(""),
1825
1667
  });
1826
1668
  }
1827
1669
 
1828
- /** @returns {UnhandledError} */
1829
- static UnhandledError() {
1670
+ /** @returns {AppCurrencyResponse} */
1671
+ static AppCurrencyResponse() {
1830
1672
  return Joi.object({
1831
- message: Joi.string().allow(""),
1673
+ application: Joi.string().allow(""),
1674
+ default_currency: ConfigurationApplicationModel.DefaultCurrency(),
1675
+ supported_currency: Joi.array().items(
1676
+ ConfigurationApplicationModel.Currency()
1677
+ ),
1832
1678
  });
1833
1679
  }
1834
1680
 
1835
- /** @returns {UserEmail} */
1836
- static UserEmail() {
1681
+ /** @returns {StoreLatLong} */
1682
+ static StoreLatLong() {
1837
1683
  return Joi.object({
1838
- active: Joi.boolean(),
1839
- email: Joi.string().allow(""),
1840
- primary: Joi.boolean(),
1841
- verified: Joi.boolean(),
1684
+ type: Joi.string().allow(""),
1685
+ coordinates: Joi.array().items(Joi.number()),
1842
1686
  });
1843
1687
  }
1844
1688
 
1845
- /** @returns {UserPhoneNumber} */
1846
- static UserPhoneNumber() {
1689
+ /** @returns {OptedStoreAddress} */
1690
+ static OptedStoreAddress() {
1847
1691
  return Joi.object({
1848
- active: Joi.boolean(),
1849
- country_code: Joi.number(),
1850
- phone: Joi.string().allow(""),
1851
- primary: Joi.boolean(),
1852
- verified: Joi.boolean(),
1692
+ state: Joi.string().allow(""),
1693
+ address1: Joi.string().allow(""),
1694
+ lat_long: ConfigurationApplicationModel.StoreLatLong(),
1695
+ address2: Joi.string().allow(""),
1696
+ pincode: Joi.number(),
1697
+ country: Joi.string().allow(""),
1698
+ city: Joi.string().allow(""),
1853
1699
  });
1854
1700
  }
1855
1701
 
1856
- /** @returns {VimeoLink} */
1857
- static VimeoLink() {
1702
+ /** @returns {OrderingStore} */
1703
+ static OrderingStore() {
1858
1704
  return Joi.object({
1859
- icon: Joi.string().allow(""),
1860
- link: Joi.string().allow(""),
1861
- title: Joi.string().allow(""),
1705
+ address: ConfigurationApplicationModel.OptedStoreAddress(),
1706
+ _id: Joi.string().allow(""),
1707
+ uid: Joi.number(),
1708
+ name: Joi.string().allow(""),
1709
+ display_name: Joi.string().allow(""),
1710
+ store_type: Joi.string().allow(""),
1711
+ store_code: Joi.string().allow(""),
1712
+ pincode: Joi.number(),
1713
+ code: Joi.string().allow(""),
1862
1714
  });
1863
1715
  }
1864
1716
 
1865
- /** @returns {YoutubeLink} */
1866
- static YoutubeLink() {
1717
+ /** @returns {OrderingStores} */
1718
+ static OrderingStores() {
1867
1719
  return Joi.object({
1868
- icon: Joi.string().allow(""),
1869
- link: Joi.string().allow(""),
1870
- title: Joi.string().allow(""),
1720
+ page: ConfigurationApplicationModel.Page(),
1721
+ items: Joi.array().items(ConfigurationApplicationModel.OrderingStore()),
1722
+ deployed_stores: Joi.array().items(Joi.number()),
1723
+ all_stores: Joi.boolean(),
1724
+ enabled: Joi.boolean(),
1725
+ type: Joi.string().allow(""),
1726
+ _id: Joi.string().allow(""),
1727
+ app: Joi.string().allow(""),
1728
+ __v: Joi.number(),
1871
1729
  });
1872
1730
  }
1873
1731
  }