@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,1905 +1,1881 @@
1
1
  const Joi = require("joi");
2
2
 
3
3
  /**
4
- * @typedef ActionQuery
5
- * @property {string[]} [product_slug] - Contains list of product slug
6
- */
7
-
8
- /**
9
- * @typedef AddCartDetailResponse
10
- * @property {CartDetailResponse} [cart]
11
- * @property {string} [message]
12
- * @property {boolean} [partial] - When adding multiple items check if all
13
- * added. True if only few are added.
14
- * @property {boolean} [success] - True if all items are added successfully.
15
- * False if partially added or not added.
16
- */
17
-
18
- /**
19
- * @typedef AddCartRequest
20
- * @property {AddProductCart[]} [items]
21
- * @property {boolean} [new_cart]
4
+ * @typedef BuyRules
5
+ * @property {Object} [cart_conditions] - Cart conditions details for promotion
6
+ * @property {Object} [item_criteria] - Item criteria of promotion
22
7
  */
23
8
 
24
9
  /**
25
- * @typedef AddProductCart
26
- * @property {Object} [_custom_json]
27
- * @property {Object} [article_assignment]
28
- * @property {string} [article_id]
29
- * @property {string} [display]
30
- * @property {Object} [extra_meta]
31
- * @property {number} [item_id]
32
- * @property {string} [item_size]
33
- * @property {Object} [meta]
34
- * @property {Object[]} [parent_item_identifiers]
35
- * @property {boolean} [pos]
36
- * @property {string[]} [product_group_tags]
37
- * @property {number} [quantity]
38
- * @property {number} [seller_id]
39
- * @property {number} [store_id]
10
+ * @typedef DiscountRulesApp
11
+ * @property {string[]} [matched_buy_rules] - Matched buy rules for promotion
12
+ * @property {Object} [offer] - Offer for promotion
13
+ * @property {Object} [item_criteria] - Item criteria of promotion
14
+ * @property {Object} [raw_offer] - Raw offer details for promotion
40
15
  */
41
16
 
42
17
  /**
43
- * @typedef Address
44
- * @property {Object} [_custom_json]
45
- * @property {string} [address]
46
- * @property {string} [address_type]
47
- * @property {string} [area]
48
- * @property {string} [area_code]
49
- * @property {string} [area_code_slug]
50
- * @property {string} [checkout_mode]
51
- * @property {string} [city]
52
- * @property {string} [country]
53
- * @property {string} [country_code]
54
- * @property {string} [country_iso_code]
55
- * @property {string} [country_phone_code]
56
- * @property {string} [created_by_user_id]
57
- * @property {string} [email]
58
- * @property {GeoLocation} [geo_location]
59
- * @property {Object} [google_map_point]
60
- * @property {string} [id]
61
- * @property {boolean} [is_active]
62
- * @property {boolean} [is_default_address]
63
- * @property {string} [landmark]
64
- * @property {Object} [meta]
65
- * @property {string} [name]
66
- * @property {string} [phone]
67
- * @property {string} [sector]
68
- * @property {string} [state]
69
- * @property {string} [state_code] - State code for international address
70
- * @property {string[]} [tags]
71
- * @property {string} [user_id]
18
+ * @typedef FreeGiftItem
19
+ * @property {string} [item_slug] - Item slug
20
+ * @property {Object} [item_price_details] - Item price details
21
+ * @property {string[]} [item_images_url] - Item images URL
22
+ * @property {string} [item_name] - Item name
23
+ * @property {number} [item_id] - Item id
24
+ * @property {string} [item_brand_name] - Item brand name
72
25
  */
73
26
 
74
27
  /**
75
28
  * @typedef AppliedFreeArticles
29
+ * @property {number} [quantity] - Free article quantity
30
+ * @property {string} [parent_item_identifier] - Parent item identifier for free article
76
31
  * @property {string} [article_id] - Free article id
77
32
  * @property {FreeGiftItem} [free_gift_item_details] - Free gift items details
78
- * @property {string} [parent_item_identifier] - Parent item identifier for free article
79
- * @property {number} [quantity] - Free article quantity
33
+ */
34
+
35
+ /**
36
+ * @typedef Ownership
37
+ * @property {string} [payable_category] - Promo amount payable category
38
+ * @property {string} [payable_by] - Promo amount bearable party
80
39
  */
81
40
 
82
41
  /**
83
42
  * @typedef AppliedPromotion
84
- * @property {number} [amount] - Per unit discount amount applied with current promotion
85
- * @property {AppliedFreeArticles[]} [applied_free_articles] - Applied free
86
- * article for free gift item promotions
43
+ * @property {string} [promotion_name] - Promotion name of current promotion
44
+ * @property {boolean} [mrp_promotion] - If applied promotion is applied on
45
+ * product MRP or ESP
46
+ * @property {BuyRules[]} [buy_rules] - Buy rules for promotions
47
+ * @property {string} [promotion_type] - Promotion type of current promotion
87
48
  * @property {number} [article_quantity] - Quantity of article on which
88
49
  * promotion is applicable
89
- * @property {BuyRules[]} [buy_rules] - Buy rules for promotions
90
- * @property {CartCurrency} [currency]
50
+ * @property {number} [amount] - Per unit discount amount applied with current promotion
91
51
  * @property {DiscountRulesApp[]} [discount_rules] - Discount rules for promotions
92
- * @property {boolean} [mrp_promotion] - If applied promotion is applied on
93
- * product MRP or ESP
94
52
  * @property {string} [offer_text] - Offer text of current promotion
95
- * @property {Ownership} [ownership] - Ownership of promotion
96
53
  * @property {string} [promo_id] - Promotion id
54
+ * @property {AppliedFreeArticles[]} [applied_free_articles] - Applied free
55
+ * article for free gift item promotions
56
+ * @property {Ownership} [ownership] - Ownership of promotion
97
57
  * @property {string} [promotion_group] - Promotion group for the promotion
98
- * @property {string} [promotion_name] - Promotion name of current promotion
99
- * @property {string} [promotion_type] - Promotion type of current promotion
100
- */
101
-
102
- /**
103
- * @typedef ApplyCouponRequest
104
- * @property {string} coupon_code - Coupon code to be applied
105
- */
106
-
107
- /**
108
- * @typedef ArticleGiftDetail
109
- * @property {GiftDetail} [article_id]
110
58
  */
111
59
 
112
60
  /**
113
- * @typedef ArticlePriceInfo
114
- * @property {BasePrice} [base]
115
- * @property {BasePrice} [converted]
61
+ * @typedef LoyaltyPoints
62
+ * @property {string} [description]
63
+ * @property {boolean} [is_applied]
64
+ * @property {number} [applicable]
65
+ * @property {number} [total]
116
66
  */
117
67
 
118
68
  /**
119
- * @typedef BaseInfo
120
- * @property {string} [name]
121
- * @property {number} [uid]
69
+ * @typedef RawBreakup
70
+ * @property {number} [discount]
71
+ * @property {number} [you_saved]
72
+ * @property {number} [mrp_total]
73
+ * @property {number} [gst_charges]
74
+ * @property {number} [total]
75
+ * @property {number} [vog]
76
+ * @property {number} [coupon]
77
+ * @property {number} [subtotal]
78
+ * @property {number} [delivery_charge]
79
+ * @property {number} [cod_charge]
80
+ * @property {number} [fynd_cash]
81
+ * @property {number} [gift_card]
82
+ * @property {number} [convenience_fee]
122
83
  */
123
84
 
124
85
  /**
125
- * @typedef BasePrice
86
+ * @typedef DisplayBreakup
126
87
  * @property {string} [currency_code]
127
88
  * @property {string} [currency_symbol]
128
- * @property {number} [effective]
129
- * @property {number} [marked]
130
- */
131
-
132
- /**
133
- * @typedef BulkPriceOffer
134
- * @property {OfferItem[]} [offers]
135
- * @property {OfferSeller} [seller]
136
- */
137
-
138
- /**
139
- * @typedef BulkPriceResponse
140
- * @property {BulkPriceOffer[]} [data] - Consist of offers from multiple seller
89
+ * @property {string} [display]
90
+ * @property {string[]} [message]
91
+ * @property {string} [key]
92
+ * @property {number} [value]
141
93
  */
142
94
 
143
95
  /**
144
- * @typedef BuyRules
145
- * @property {Object} [cart_conditions] - Cart conditions details for promotion
146
- * @property {Object} [item_criteria] - Item criteria of promotion
96
+ * @typedef CouponBreakup
97
+ * @property {number} [max_discount_value]
98
+ * @property {string} [message]
99
+ * @property {boolean} [is_applied]
100
+ * @property {string} [uid]
101
+ * @property {string} [type]
102
+ * @property {string} [coupon_type]
103
+ * @property {string} [sub_title]
104
+ * @property {number} [coupon_value]
105
+ * @property {string} [description]
106
+ * @property {string} [code]
107
+ * @property {number} [minimum_cart_value]
108
+ * @property {number} [value]
109
+ * @property {string} [title]
147
110
  */
148
111
 
149
112
  /**
150
113
  * @typedef CartBreakup
151
- * @property {CouponBreakup} [coupon]
152
- * @property {DisplayBreakup[]} [display]
153
114
  * @property {LoyaltyPoints} [loyalty_points]
154
115
  * @property {RawBreakup} [raw]
116
+ * @property {DisplayBreakup[]} [display]
117
+ * @property {CouponBreakup} [coupon]
155
118
  */
156
119
 
157
120
  /**
158
- * @typedef CartCheckoutCustomMeta
159
- * @property {string} key
160
- * @property {string} value
121
+ * @typedef PaymentSelectionLock
122
+ * @property {string} [default_options]
123
+ * @property {boolean} [enabled]
124
+ * @property {string} [payment_identifier]
161
125
  */
162
126
 
163
127
  /**
164
- * @typedef CartCheckoutResponse
165
- * @property {string} [app_intercept_url]
166
- * @property {string} [callback_url]
167
- * @property {CheckCart} [cart]
168
- * @property {Object} [data]
169
- * @property {string} [message]
170
- * @property {string} [order_id]
171
- * @property {string} [payment_confirm_url]
172
- * @property {boolean} [success]
128
+ * @typedef PromiseTimestamp
129
+ * @property {number} [max]
130
+ * @property {number} [min]
173
131
  */
174
132
 
175
133
  /**
176
- * @typedef CartCurrency
177
- * @property {string} [code] - Currency code defined by ISO 4217:2015
178
- * @property {string} [symbol]
134
+ * @typedef PromiseFormatted
135
+ * @property {string} [max]
136
+ * @property {string} [min]
179
137
  */
180
138
 
181
139
  /**
182
- * @typedef CartDeliveryModesResponse
183
- * @property {string[]} [available_modes] - Available delivery modes
184
- * @property {number[]} [pickup_stores] - Store pick up available store uids
140
+ * @typedef ShipmentPromise
141
+ * @property {PromiseTimestamp} [timestamp]
142
+ * @property {PromiseFormatted} [formatted]
185
143
  */
186
144
 
187
145
  /**
188
- * @typedef CartDetailResponse
189
- * @property {AppliedPromotion[]} [applied_promo_details]
190
- * @property {CartBreakup} [breakup_values]
191
- * @property {boolean} [buy_now]
192
- * @property {string} [checkout_mode]
193
- * @property {string} [comment]
194
- * @property {string} [coupon_text]
195
- * @property {CartCurrency} [currency]
196
- * @property {string} [delivery_charge_info]
197
- * @property {ShipmentPromise} [delivery_promise]
198
- * @property {string} [gstin]
199
- * @property {string} [id]
200
- * @property {boolean} [is_valid]
201
- * @property {CartProductInfo[]} [items]
202
- * @property {string} [last_modified]
203
- * @property {string} [message]
204
- * @property {Object} [pan_config]
205
- * @property {string} [pan_no]
206
- * @property {PaymentSelectionLock} [payment_selection_lock]
207
- * @property {boolean} [restrict_checkout]
146
+ * @typedef StoreInfo
147
+ * @property {number} [uid]
148
+ * @property {string} [store_code]
149
+ * @property {string} [name]
208
150
  */
209
151
 
210
152
  /**
211
- * @typedef CartItemCountResponse
212
- * @property {number} [user_cart_items_count] - Item count present in cart
153
+ * @typedef BaseInfo
154
+ * @property {number} [uid]
155
+ * @property {string} [name]
213
156
  */
214
157
 
215
158
  /**
216
- * @typedef CartMetaMissingResponse
217
- * @property {string[]} [errors]
159
+ * @typedef BasePrice
160
+ * @property {number} [effective]
161
+ * @property {string} [currency_code]
162
+ * @property {string} [currency_symbol]
163
+ * @property {number} [marked]
218
164
  */
219
165
 
220
166
  /**
221
- * @typedef CartMetaRequest
222
- * @property {string} [checkout_mode]
223
- * @property {string} [comment]
224
- * @property {Object} [delivery_slots]
225
- * @property {ArticleGiftDetail} [gift_details]
226
- * @property {string} [gstin]
227
- * @property {Object} [pick_up_customer_details] - Customer contact details for
228
- * customer pickup at store
229
- */
230
-
231
- /**
232
- * @typedef CartMetaResponse
233
- * @property {boolean} [is_valid]
234
- * @property {string} [message]
167
+ * @typedef ArticlePriceInfo
168
+ * @property {BasePrice} [converted]
169
+ * @property {BasePrice} [base]
235
170
  */
236
171
 
237
172
  /**
238
- * @typedef CartPosCheckoutDetailRequest
239
- * @property {string} [address_id]
240
- * @property {string} [aggregator]
241
- * @property {Object} [billing_address]
242
- * @property {string} [billing_address_id]
243
- * @property {string} [callback_url]
244
- * @property {CartCheckoutCustomMeta[]} [custom_meta]
245
- * @property {Object} [customer_details] - Customer details
246
- * @property {Object} [delivery_address]
247
- * @property {Object} [extra_meta]
248
- * @property {Files[]} [files] - List of file url
249
- * @property {string} [id]
250
- * @property {string} [merchant_code]
173
+ * @typedef ProductArticle
251
174
  * @property {Object} [meta]
252
- * @property {string} order_type
253
- * @property {number} [ordering_store]
254
- * @property {boolean} [payment_auto_confirm]
255
- * @property {string} [payment_identifier]
256
- * @property {string} payment_mode
257
- * @property {Object} [payment_params]
258
- * @property {number} [pick_at_store_uid]
259
- * @property {boolean} [pos]
260
- * @property {StaffCheckout} [staff]
175
+ * @property {StoreInfo} [store]
176
+ * @property {Object} [_custom_json]
177
+ * @property {string} [seller_identifier]
178
+ * @property {Object} [identifier]
179
+ * @property {number} [quantity]
180
+ * @property {BaseInfo} [seller]
181
+ * @property {number} [mto_quantity]
182
+ * @property {string} [uid]
183
+ * @property {Object} [cart_item_meta]
184
+ * @property {string} [type]
185
+ * @property {ArticlePriceInfo} [price]
186
+ * @property {Object} [parent_item_identifiers]
187
+ * @property {string} [size]
188
+ * @property {Object} [extra_meta]
189
+ * @property {Object} [gift_card]
190
+ * @property {string[]} [product_group_tags]
191
+ * @property {boolean} [is_gift_visible]
192
+ */
193
+
194
+ /**
195
+ * @typedef Tags
196
+ * @property {Object} [tags]
197
+ */
198
+
199
+ /**
200
+ * @typedef CategoryInfo
201
+ * @property {number} [uid] - Product Category Id
202
+ * @property {string} [name]
203
+ */
204
+
205
+ /**
206
+ * @typedef ProductImage
207
+ * @property {string} [aspect_ratio]
208
+ * @property {string} [url]
209
+ * @property {string} [secure_url]
210
+ */
211
+
212
+ /**
213
+ * @typedef ActionQuery
214
+ * @property {string[]} [product_slug] - Contains list of product slug
215
+ */
216
+
217
+ /**
218
+ * @typedef ProductAction
219
+ * @property {ActionQuery} [query]
220
+ * @property {string} [url]
221
+ * @property {string} [type]
261
222
  */
262
223
 
263
224
  /**
264
225
  * @typedef CartProduct
226
+ * @property {Tags} [teaser_tag]
265
227
  * @property {Object} [_custom_json]
266
- * @property {ProductAction} [action]
267
- * @property {BaseInfo} [brand]
268
228
  * @property {CategoryInfo[]} [categories]
269
- * @property {ProductImage[]} [images]
270
229
  * @property {string} [item_code]
230
+ * @property {string[]} [tags]
231
+ * @property {number} [uid]
232
+ * @property {string} [type]
233
+ * @property {ProductImage[]} [images]
271
234
  * @property {string} [name]
272
235
  * @property {string} [slug] - Unique product url name generated via product
273
236
  * name and other meta data
274
- * @property {string[]} [tags]
275
- * @property {Tags} [teaser_tag]
276
- * @property {string} [type]
277
- * @property {number} [uid]
278
- */
279
-
280
- /**
281
- * @typedef CartProductIdentifer
282
- * @property {string} [identifier] - Article idenfier generated by cart
237
+ * @property {ProductAction} [action]
238
+ * @property {BaseInfo} [brand]
283
239
  */
284
240
 
285
241
  /**
286
- * @typedef CartProductInfo
287
- * @property {ProductArticle} [article]
288
- * @property {ProductAvailability} [availability]
289
- * @property {Object} [bulk_offer]
290
- * @property {CouponDetails} [coupon]
291
- * @property {string} [coupon_message]
292
- * @property {Object} [custom_order]
293
- * @property {ShipmentPromise} [delivery_promise]
294
- * @property {string} [discount]
295
- * @property {CartProductIdentifer} identifiers
296
- * @property {boolean} [is_set]
297
- * @property {string} [key]
298
- * @property {string} [message]
299
- * @property {Object} [moq]
300
- * @property {Object} [parent_item_identifiers]
301
- * @property {ProductPriceInfo} [price]
302
- * @property {ProductPriceInfo} [price_per_unit]
303
- * @property {CartProduct} [product]
304
- * @property {PromoMeta} [promo_meta]
305
- * @property {AppliedPromotion[]} [promotions_applied]
306
- * @property {number} [quantity]
242
+ * @typedef ProductPrice
243
+ * @property {number} [effective]
244
+ * @property {string} [currency_code]
245
+ * @property {string} [currency_symbol]
246
+ * @property {number} [marked]
247
+ * @property {number} [selling]
248
+ * @property {number} [add_on]
307
249
  */
308
250
 
309
251
  /**
310
- * @typedef CartShipmentsResponse
311
- * @property {CartBreakup} [breakup_values]
312
- * @property {boolean} [buy_now]
313
- * @property {number} [cart_id]
314
- * @property {string} [checkout_mode]
315
- * @property {string} [comment]
316
- * @property {string} [coupon_text]
317
- * @property {CartCurrency} [currency]
318
- * @property {string} [delivery_charge_info]
319
- * @property {ShipmentPromise} [delivery_promise]
320
- * @property {boolean} [error]
321
- * @property {string} [gstin]
322
- * @property {string} [id]
323
- * @property {boolean} [is_valid]
324
- * @property {string} [last_modified]
325
- * @property {string} [message]
326
- * @property {PaymentSelectionLock} [payment_selection_lock]
327
- * @property {boolean} [restrict_checkout]
328
- * @property {ShipmentResponse[]} [shipments]
329
- * @property {string} [uid]
252
+ * @typedef ProductPriceInfo
253
+ * @property {ProductPrice} [converted]
254
+ * @property {ProductPrice} [base]
330
255
  */
331
256
 
332
257
  /**
333
- * @typedef CategoryInfo
334
- * @property {string} [name]
335
- * @property {number} [uid] - Product Category Id
258
+ * @typedef CouponDetails
259
+ * @property {number} [discount_total_quantity]
260
+ * @property {number} [discount_single_quantity]
261
+ * @property {string} [code]
336
262
  */
337
263
 
338
264
  /**
339
- * @typedef CheckCart
340
- * @property {CartBreakup} [breakup_values]
341
- * @property {boolean} [buy_now]
342
- * @property {number} [cart_id]
343
- * @property {string} [checkout_mode]
344
- * @property {boolean} [cod_available]
345
- * @property {number} [cod_charges]
346
- * @property {string} [cod_message]
347
- * @property {string} [comment]
348
- * @property {string} [coupon_text]
349
- * @property {CartCurrency} [currency]
350
- * @property {string} [delivery_charge_info]
351
- * @property {number} [delivery_charge_order_value]
352
- * @property {number} [delivery_charges]
353
- * @property {ShipmentPromise} [delivery_promise]
354
- * @property {string} [error_message]
355
- * @property {string} [gstin]
356
- * @property {string} [id]
357
- * @property {boolean} [is_valid]
358
- * @property {CartProductInfo[]} [items]
359
- * @property {string} [last_modified]
265
+ * @typedef PromoMeta
360
266
  * @property {string} [message]
361
- * @property {string} [order_id]
362
- * @property {PaymentSelectionLock} [payment_selection_lock]
363
- * @property {boolean} [restrict_checkout]
364
- * @property {string} [store_code]
365
- * @property {Object[]} [store_emps]
366
- * @property {boolean} [success]
367
- * @property {string} [uid]
368
- * @property {string} [user_type]
369
267
  */
370
268
 
371
269
  /**
372
- * @typedef Coupon
373
- * @property {string} [coupon_code]
374
- * @property {string} [coupon_type]
375
- * @property {number} [coupon_value]
376
- * @property {string} [description]
377
- * @property {string} [expires_on]
378
- * @property {boolean} [is_applicable]
379
- * @property {boolean} [is_applied]
380
- * @property {number} [max_discount_value]
381
- * @property {string} [message]
382
- * @property {number} [minimum_cart_value]
383
- * @property {string} [sub_title]
384
- * @property {string} [title]
270
+ * @typedef ProductAvailabilitySize
271
+ * @property {boolean} [is_available]
272
+ * @property {string} [value]
273
+ * @property {string} [display]
385
274
  */
386
275
 
387
276
  /**
388
- * @typedef CouponBreakup
389
- * @property {string} [code]
390
- * @property {string} [coupon_type]
391
- * @property {number} [coupon_value]
392
- * @property {string} [description]
393
- * @property {boolean} [is_applied]
394
- * @property {number} [max_discount_value]
395
- * @property {string} [message]
396
- * @property {number} [minimum_cart_value]
397
- * @property {string} [sub_title]
398
- * @property {string} [title]
399
- * @property {string} [type]
400
- * @property {string} [uid]
401
- * @property {number} [value]
277
+ * @typedef ProductAvailability
278
+ * @property {ProductAvailabilitySize[]} [available_sizes]
279
+ * @property {number} [other_store_quantity]
280
+ * @property {boolean} [deliverable]
281
+ * @property {boolean} [out_of_stock]
282
+ * @property {boolean} [is_valid]
283
+ * @property {string[]} [sizes]
402
284
  */
403
285
 
404
286
  /**
405
- * @typedef CouponDetails
406
- * @property {string} [code]
407
- * @property {number} [discount_single_quantity]
408
- * @property {number} [discount_total_quantity]
287
+ * @typedef CartProductIdentifer
288
+ * @property {string} [identifier] - Article idenfier generated by cart
409
289
  */
410
290
 
411
291
  /**
412
- * @typedef CouponValidity
413
- * @property {string} [code]
414
- * @property {number} [discount]
415
- * @property {string} [display_message_en]
416
- * @property {boolean} [next_validation_required]
417
- * @property {string} [title]
418
- * @property {boolean} [valid]
292
+ * @typedef CartProductInfo
293
+ * @property {Object} [custom_order]
294
+ * @property {ProductArticle} [article]
295
+ * @property {CartProduct} [product]
296
+ * @property {number} [quantity]
297
+ * @property {Object} [moq]
298
+ * @property {AppliedPromotion[]} [promotions_applied]
299
+ * @property {ProductPriceInfo} [price_per_unit]
300
+ * @property {string} [key]
301
+ * @property {ProductPriceInfo} [price]
302
+ * @property {Object} [parent_item_identifiers]
303
+ * @property {boolean} [is_set]
304
+ * @property {string} [coupon_message]
305
+ * @property {string} [message]
306
+ * @property {CouponDetails} [coupon]
307
+ * @property {string} [discount]
308
+ * @property {Object} [bulk_offer]
309
+ * @property {PromoMeta} [promo_meta]
310
+ * @property {ShipmentPromise} [delivery_promise]
311
+ * @property {ProductAvailability} [availability]
312
+ * @property {CartProductIdentifer} identifiers
419
313
  */
420
314
 
421
315
  /**
422
- * @typedef CustomerDetails
423
- * @property {string} [email]
424
- * @property {string} mobile
425
- * @property {string} [name]
316
+ * @typedef CartCurrency
317
+ * @property {string} [symbol]
318
+ * @property {string} [code] - Currency code defined by ISO 4217:2015
426
319
  */
427
320
 
428
321
  /**
429
- * @typedef DeleteAddressResponse
322
+ * @typedef CartDetailResponse
323
+ * @property {string} [comment]
324
+ * @property {string} [coupon_text]
325
+ * @property {string} [last_modified]
326
+ * @property {Object} [pan_config]
327
+ * @property {boolean} [is_valid]
430
328
  * @property {string} [id]
431
- * @property {boolean} [is_deleted]
329
+ * @property {AppliedPromotion[]} [applied_promo_details]
330
+ * @property {string} [checkout_mode]
331
+ * @property {boolean} [restrict_checkout]
332
+ * @property {string} [message]
333
+ * @property {boolean} [buy_now]
334
+ * @property {CartBreakup} [breakup_values]
335
+ * @property {string} [delivery_charge_info]
336
+ * @property {PaymentSelectionLock} [payment_selection_lock]
337
+ * @property {string} [gstin]
338
+ * @property {ShipmentPromise} [delivery_promise]
339
+ * @property {string} [pan_no]
340
+ * @property {CartProductInfo[]} [items]
341
+ * @property {CartCurrency} [currency]
432
342
  */
433
343
 
434
344
  /**
435
- * @typedef DiscountRulesApp
436
- * @property {Object} [item_criteria] - Item criteria of promotion
437
- * @property {string[]} [matched_buy_rules] - Matched buy rules for promotion
438
- * @property {Object} [offer] - Offer for promotion
439
- * @property {Object} [raw_offer] - Raw offer details for promotion
345
+ * @typedef AddProductCart
346
+ * @property {number} [seller_id]
347
+ * @property {Object} [_custom_json]
348
+ * @property {Object} [meta]
349
+ * @property {string} [display]
350
+ * @property {number} [quantity]
351
+ * @property {string} [item_size]
352
+ * @property {number} [item_id]
353
+ * @property {number} [store_id]
354
+ * @property {boolean} [pos]
355
+ * @property {Object[]} [parent_item_identifiers]
356
+ * @property {Object} [extra_meta]
357
+ * @property {string[]} [product_group_tags]
358
+ * @property {Object} [article_assignment]
359
+ * @property {string} [article_id]
440
360
  */
441
361
 
442
362
  /**
443
- * @typedef DisplayBreakup
444
- * @property {string} [currency_code]
445
- * @property {string} [currency_symbol]
446
- * @property {string} [display]
447
- * @property {string} [key]
448
- * @property {string[]} [message]
449
- * @property {number} [value]
363
+ * @typedef AddCartRequest
364
+ * @property {AddProductCart[]} [items]
365
+ * @property {boolean} [new_cart]
450
366
  */
451
367
 
452
368
  /**
453
- * @typedef Files
454
- * @property {string} key
455
- * @property {string[]} values
369
+ * @typedef AddCartDetailResponse
370
+ * @property {CartDetailResponse} [cart]
371
+ * @property {string} [message]
372
+ * @property {boolean} [partial] - When adding multiple items check if all
373
+ * added. True if only few are added.
374
+ * @property {boolean} [success] - True if all items are added successfully.
375
+ * False if partially added or not added.
456
376
  */
457
377
 
458
378
  /**
459
- * @typedef FreeGiftItem
460
- * @property {string} [item_brand_name] - Item brand name
461
- * @property {number} [item_id] - Item id
462
- * @property {string[]} [item_images_url] - Item images URL
463
- * @property {string} [item_name] - Item name
464
- * @property {Object} [item_price_details] - Item price details
465
- * @property {string} [item_slug] - Item slug
379
+ * @typedef UpdateProductCart
380
+ * @property {Object} [meta]
381
+ * @property {Object} [_custom_json]
382
+ * @property {number} [quantity]
383
+ * @property {string} [item_size]
384
+ * @property {number} [item_id]
385
+ * @property {number} [item_index]
386
+ * @property {CartProductIdentifer} identifiers
387
+ * @property {Object} [parent_item_identifiers]
388
+ * @property {Object} [extra_meta]
389
+ * @property {string} [article_id]
466
390
  */
467
391
 
468
392
  /**
469
- * @typedef GeoLocation
470
- * @property {number} [latitude]
471
- * @property {number} [longitude]
393
+ * @typedef UpdateCartRequest
394
+ * @property {string} operation
395
+ * @property {UpdateProductCart[]} [items]
472
396
  */
473
397
 
474
398
  /**
475
- * @typedef GetAddressesResponse
476
- * @property {Address[]} [address]
477
- * @property {boolean} [pii_masking]
399
+ * @typedef UpdateCartDetailResponse
400
+ * @property {CartDetailResponse} [cart]
401
+ * @property {string} [message]
402
+ * @property {boolean} [success] - True if all items are added successfully.
403
+ * False if partially added or not added.
478
404
  */
479
405
 
480
406
  /**
481
- * @typedef GetCouponResponse
482
- * @property {Coupon[]} [available_coupon_list]
483
- * @property {PageCoupon} [page]
407
+ * @typedef CartItemCountResponse
408
+ * @property {number} [user_cart_items_count] - Item count present in cart
484
409
  */
485
410
 
486
411
  /**
487
- * @typedef GetShareCartLinkRequest
488
- * @property {string} [id] - Cart uid for generating sharing
489
- * @property {Object} [meta] - Staff, Ordering store or any other data. This
490
- * data will be used to generate link as well as sent as shared details.
412
+ * @typedef PageCoupon
413
+ * @property {boolean} [has_previous]
414
+ * @property {number} [current]
415
+ * @property {number} [total]
416
+ * @property {number} [total_item_count]
417
+ * @property {boolean} [has_next]
491
418
  */
492
419
 
493
420
  /**
494
- * @typedef GetShareCartLinkResponse
495
- * @property {string} [share_url] - Short shareable final url
496
- * @property {string} [token] - Short url unique id
421
+ * @typedef Coupon
422
+ * @property {number} [max_discount_value]
423
+ * @property {string} [coupon_code]
424
+ * @property {string} [message]
425
+ * @property {boolean} [is_applied]
426
+ * @property {string} [coupon_type]
427
+ * @property {string} [sub_title]
428
+ * @property {number} [coupon_value]
429
+ * @property {boolean} [is_applicable]
430
+ * @property {string} [description]
431
+ * @property {number} [minimum_cart_value]
432
+ * @property {string} [title]
433
+ * @property {string} [expires_on]
497
434
  */
498
435
 
499
436
  /**
500
- * @typedef GiftDetail
501
- * @property {string} [gift_message]
502
- * @property {boolean} [is_gift_applied]
437
+ * @typedef GetCouponResponse
438
+ * @property {PageCoupon} [page]
439
+ * @property {Coupon[]} [available_coupon_list]
503
440
  */
504
441
 
505
442
  /**
506
- * @typedef LoyaltyPoints
507
- * @property {number} [applicable]
508
- * @property {string} [description]
509
- * @property {boolean} [is_applied]
510
- * @property {number} [total]
443
+ * @typedef ApplyCouponRequest
444
+ * @property {string} coupon_code - Coupon code to be applied
511
445
  */
512
446
 
513
447
  /**
514
- * @typedef OfferItem
515
- * @property {boolean} [auto_applied] - Whether offer discount is auto applied in cart
516
- * @property {boolean} [best] - Is true for best offer from all offers present
517
- * for all sellers
518
- * @property {number} [margin] - Percentage value of discount
519
- * @property {OfferPrice} [price]
520
- * @property {number} [quantity] - Quantity on which offer is applicable
521
- * @property {number} [total] - Total price of offer quantity with discount
522
- * @property {string} [type] - Offer type
448
+ * @typedef OfferSeller
449
+ * @property {number} [uid] - Seller id
450
+ * @property {string} [name]
523
451
  */
524
452
 
525
453
  /**
526
454
  * @typedef OfferPrice
527
- * @property {number} [bulk_effective] - Discounted per unit price for current
528
- * offer object
529
- * @property {string} [currency_code] - Currency code for all amounts
530
- * @property {string} [currency_symbol] - Currency symbol for currency
531
455
  * @property {number} [effective] - Current per unit price of product after
532
456
  * existing deductions
457
+ * @property {string} [currency_code] - Currency code for all amounts
458
+ * @property {string} [currency_symbol] - Currency symbol for currency
533
459
  * @property {number} [marked] - Original price of product
460
+ * @property {number} [bulk_effective] - Discounted per unit price for current
461
+ * offer object
534
462
  */
535
463
 
536
464
  /**
537
- * @typedef OfferSeller
538
- * @property {string} [name]
539
- * @property {number} [uid] - Seller id
465
+ * @typedef OfferItem
466
+ * @property {number} [margin] - Percentage value of discount
467
+ * @property {number} [quantity] - Quantity on which offer is applicable
468
+ * @property {number} [total] - Total price of offer quantity with discount
469
+ * @property {boolean} [best] - Is true for best offer from all offers present
470
+ * for all sellers
471
+ * @property {string} [type] - Offer type
472
+ * @property {OfferPrice} [price]
473
+ * @property {boolean} [auto_applied] - Whether offer discount is auto applied in cart
540
474
  */
541
475
 
542
476
  /**
543
- * @typedef Ownership
544
- * @property {string} [payable_by] - Promo amount bearable party
545
- * @property {string} [payable_category] - Promo amount payable category
477
+ * @typedef BulkPriceOffer
478
+ * @property {OfferSeller} [seller]
479
+ * @property {OfferItem[]} [offers]
546
480
  */
547
481
 
548
482
  /**
549
- * @typedef PageCoupon
550
- * @property {number} [current]
551
- * @property {boolean} [has_next]
552
- * @property {boolean} [has_previous]
553
- * @property {number} [total]
554
- * @property {number} [total_item_count]
483
+ * @typedef BulkPriceResponse
484
+ * @property {BulkPriceOffer[]} [data] - Consist of offers from multiple seller
555
485
  */
556
486
 
557
487
  /**
558
- * @typedef PaymentCouponValidate
559
- * @property {CouponValidity} [coupon_validity]
560
- * @property {string} [message]
561
- * @property {boolean} success
488
+ * @typedef RewardPointRequest
489
+ * @property {boolean} points
562
490
  */
563
491
 
564
492
  /**
565
- * @typedef PaymentSelectionLock
566
- * @property {string} [default_options]
567
- * @property {boolean} [enabled]
568
- * @property {string} [payment_identifier]
493
+ * @typedef GeoLocation
494
+ * @property {number} [latitude]
495
+ * @property {number} [longitude]
569
496
  */
570
497
 
571
498
  /**
572
- * @typedef PickupStoreDetail
573
- * @property {string} [address]
574
- * @property {string} [address_type]
499
+ * @typedef Address
500
+ * @property {Object} [meta]
501
+ * @property {string} [country_code]
502
+ * @property {string} [country_iso_code]
503
+ * @property {string} [country]
504
+ * @property {string} [id]
505
+ * @property {string} [checkout_mode]
506
+ * @property {string} [created_by_user_id]
575
507
  * @property {string} [area]
576
- * @property {string} [area_code]
577
- * @property {string} [area_code_slug]
508
+ * @property {boolean} [is_active]
578
509
  * @property {string} [city]
579
- * @property {string} [country]
510
+ * @property {string} [address_type]
511
+ * @property {string} [state]
512
+ * @property {boolean} [is_default_address]
513
+ * @property {Object} [_custom_json]
514
+ * @property {string} [country_phone_code]
515
+ * @property {string} [area_code_slug]
516
+ * @property {string} [area_code]
580
517
  * @property {string} [email]
581
- * @property {number} [id]
582
- * @property {string} [landmark]
518
+ * @property {Object} [google_map_point]
519
+ * @property {GeoLocation} [geo_location]
520
+ * @property {string} [address]
521
+ * @property {string[]} [tags]
583
522
  * @property {string} [name]
523
+ * @property {string} [landmark]
524
+ * @property {string} [user_id]
584
525
  * @property {string} [phone]
585
- * @property {number} [pincode]
586
- * @property {string} [state]
587
- * @property {string} [store_code]
588
- * @property {number} [uid]
589
526
  */
590
527
 
591
528
  /**
592
- * @typedef ProductAction
593
- * @property {ActionQuery} [query]
594
- * @property {string} [type]
595
- * @property {string} [url]
529
+ * @typedef GetAddressesResponse
530
+ * @property {boolean} [pii_masking]
531
+ * @property {Address[]} [address]
596
532
  */
597
533
 
598
534
  /**
599
- * @typedef ProductArticle
600
- * @property {Object} [_custom_json]
601
- * @property {Object} [cart_item_meta]
602
- * @property {Object} [extra_meta]
603
- * @property {Object} [gift_card]
604
- * @property {Object} [identifier]
605
- * @property {boolean} [is_gift_visible]
606
- * @property {Object} [meta]
607
- * @property {number} [mto_quantity]
608
- * @property {Object} [parent_item_identifiers]
609
- * @property {ArticlePriceInfo} [price]
610
- * @property {string[]} [product_group_tags]
611
- * @property {number} [quantity]
612
- * @property {BaseInfo} [seller]
613
- * @property {string} [seller_identifier]
614
- * @property {string} [size]
615
- * @property {StoreInfo} [store]
616
- * @property {string[]} [tags] - A list of article tags
617
- * @property {string} [type]
618
- * @property {string} [uid]
535
+ * @typedef SaveAddressResponse
536
+ * @property {boolean} [is_default_address]
537
+ * @property {boolean} [success]
538
+ * @property {string} [id]
619
539
  */
620
540
 
621
541
  /**
622
- * @typedef ProductAvailability
623
- * @property {ProductAvailabilitySize[]} [available_sizes]
624
- * @property {boolean} [deliverable]
625
- * @property {boolean} [is_valid]
626
- * @property {number} [other_store_quantity]
627
- * @property {boolean} [out_of_stock]
628
- * @property {string[]} [sizes]
542
+ * @typedef UpdateAddressResponse
543
+ * @property {boolean} [is_updated]
544
+ * @property {boolean} [is_default_address]
545
+ * @property {boolean} [success]
546
+ * @property {string} [id]
629
547
  */
630
548
 
631
549
  /**
632
- * @typedef ProductAvailabilitySize
633
- * @property {string} [display]
634
- * @property {boolean} [is_available]
635
- * @property {string} [value]
550
+ * @typedef DeleteAddressResponse
551
+ * @property {boolean} [is_deleted]
552
+ * @property {string} [id]
636
553
  */
637
554
 
638
555
  /**
639
- * @typedef ProductImage
640
- * @property {string} [aspect_ratio]
641
- * @property {string} [secure_url]
642
- * @property {string} [url]
556
+ * @typedef SelectCartAddressRequest
557
+ * @property {string} [billing_address_id]
558
+ * @property {string} [cart_id]
559
+ * @property {string} [id]
643
560
  */
644
561
 
645
562
  /**
646
- * @typedef ProductPrice
647
- * @property {number} [add_on]
648
- * @property {string} [currency_code]
649
- * @property {string} [currency_symbol]
650
- * @property {number} [effective]
651
- * @property {number} [marked]
652
- * @property {number} [selling]
563
+ * @typedef UpdateCartPaymentRequest
564
+ * @property {string} [payment_identifier]
565
+ * @property {string} [aggregator_name]
566
+ * @property {string} [address_id]
567
+ * @property {string} [merchant_code]
568
+ * @property {string} [payment_mode]
569
+ * @property {string} [id]
653
570
  */
654
571
 
655
572
  /**
656
- * @typedef ProductPriceInfo
657
- * @property {ProductPrice} [base]
658
- * @property {ProductPrice} [converted]
573
+ * @typedef CouponValidity
574
+ * @property {number} [discount]
575
+ * @property {boolean} [valid]
576
+ * @property {boolean} [next_validation_required]
577
+ * @property {string} [display_message_en]
578
+ * @property {string} [code]
579
+ * @property {string} [title]
659
580
  */
660
581
 
661
582
  /**
662
- * @typedef PromiseFormatted
663
- * @property {string} [max]
664
- * @property {string} [min]
583
+ * @typedef PaymentCouponValidate
584
+ * @property {string} [message]
585
+ * @property {boolean} success
586
+ * @property {CouponValidity} [coupon_validity]
665
587
  */
666
588
 
667
589
  /**
668
- * @typedef PromiseISOFormat
669
- * @property {string} [max] - Max promise in ISO format.
670
- * @property {string} [min] - Min Promise in ISO format.
590
+ * @typedef ShipmentResponse
591
+ * @property {number} [shipments]
592
+ * @property {string} [fulfillment_type]
593
+ * @property {ShipmentPromise} [promise]
594
+ * @property {string} [dp_id]
595
+ * @property {string} [box_type]
596
+ * @property {Object} [dp_options]
597
+ * @property {CartProductInfo[]} [items]
598
+ * @property {string} [order_type]
599
+ * @property {string} [shipment_type]
600
+ * @property {number} [fulfillment_id]
671
601
  */
672
602
 
673
603
  /**
674
- * @typedef PromiseTimestamp
675
- * @property {number} [max]
676
- * @property {number} [min]
604
+ * @typedef CartShipmentsResponse
605
+ * @property {string} [comment]
606
+ * @property {boolean} [restrict_checkout]
607
+ * @property {string} [message]
608
+ * @property {boolean} [buy_now]
609
+ * @property {string} [coupon_text]
610
+ * @property {string} [last_modified]
611
+ * @property {number} [cart_id]
612
+ * @property {CartBreakup} [breakup_values]
613
+ * @property {boolean} [is_valid]
614
+ * @property {string} [delivery_charge_info]
615
+ * @property {string} [id]
616
+ * @property {PaymentSelectionLock} [payment_selection_lock]
617
+ * @property {string} [gstin]
618
+ * @property {ShipmentResponse[]} [shipments]
619
+ * @property {boolean} [error]
620
+ * @property {ShipmentPromise} [delivery_promise]
621
+ * @property {string} [uid]
622
+ * @property {string} [checkout_mode]
623
+ * @property {CartCurrency} [currency]
677
624
  */
678
625
 
679
626
  /**
680
- * @typedef PromoMeta
681
- * @property {string} [message]
627
+ * @typedef UpdateCartShipmentItem
628
+ * @property {number} [quantity] - Quantity of product in shipment
629
+ * @property {string} shipment_type - Shipment delivery type
630
+ * @property {string} article_uid - Article mongo id
682
631
  */
683
632
 
684
633
  /**
685
- * @typedef RawBreakup
686
- * @property {number} [cod_charge]
687
- * @property {number} [convenience_fee]
688
- * @property {number} [coupon]
689
- * @property {number} [delivery_charge]
690
- * @property {number} [discount]
691
- * @property {number} [fynd_cash]
692
- * @property {number} [gift_card]
693
- * @property {number} [gst_charges]
694
- * @property {number} [mrp_total]
695
- * @property {number} [subtotal]
696
- * @property {number} [total]
697
- * @property {number} [vog]
698
- * @property {number} [you_saved]
634
+ * @typedef UpdateCartShipmentRequest
635
+ * @property {UpdateCartShipmentItem[]} shipments
699
636
  */
700
637
 
701
638
  /**
702
- * @typedef RewardPointRequest
703
- * @property {boolean} points
639
+ * @typedef StaffCheckout
640
+ * @property {string} first_name
641
+ * @property {string} user
642
+ * @property {string} [employee_code]
643
+ * @property {string} _id
644
+ * @property {string} last_name
704
645
  */
705
646
 
706
647
  /**
707
- * @typedef SaveAddressResponse
648
+ * @typedef CustomerDetails
649
+ * @property {string} mobile
650
+ * @property {string} [name]
651
+ * @property {string} [email]
652
+ */
653
+
654
+ /**
655
+ * @typedef CartCheckoutCustomMeta
656
+ * @property {string} value
657
+ * @property {string} key
658
+ */
659
+
660
+ /**
661
+ * @typedef Files
662
+ * @property {string[]} values
663
+ * @property {string} key
664
+ */
665
+
666
+ /**
667
+ * @typedef CartPosCheckoutDetailRequest
668
+ * @property {Object} [meta]
669
+ * @property {number} [pick_at_store_uid]
670
+ * @property {Object} [billing_address]
671
+ * @property {boolean} [payment_auto_confirm]
672
+ * @property {string} [callback_url]
673
+ * @property {Object} [delivery_address]
674
+ * @property {string} [merchant_code]
675
+ * @property {string} order_type
708
676
  * @property {string} [id]
709
- * @property {boolean} [is_default_address]
710
- * @property {boolean} [success]
677
+ * @property {StaffCheckout} [staff]
678
+ * @property {Object} [customer_details] - Customer details
679
+ * @property {string} [address_id]
680
+ * @property {string} [aggregator]
681
+ * @property {Object} [payment_params]
682
+ * @property {string} [billing_address_id]
683
+ * @property {string} payment_mode
684
+ * @property {boolean} [pos]
685
+ * @property {Object} [extra_meta]
686
+ * @property {CartCheckoutCustomMeta[]} [custom_meta]
687
+ * @property {string} [payment_identifier]
688
+ * @property {number} [ordering_store]
689
+ * @property {Files[]} [files] - List of file url
711
690
  */
712
691
 
713
692
  /**
714
- * @typedef SelectCartAddressRequest
715
- * @property {string} [billing_address_id]
716
- * @property {string} [cart_id]
693
+ * @typedef CheckCart
694
+ * @property {string} [comment]
695
+ * @property {number} [delivery_charges]
696
+ * @property {string} [coupon_text]
697
+ * @property {string} [last_modified]
698
+ * @property {boolean} [is_valid]
699
+ * @property {string} [cod_message]
700
+ * @property {boolean} [success]
717
701
  * @property {string} [id]
718
- */
719
-
720
- /**
721
- * @typedef SharedCart
722
- * @property {CartBreakup} [breakup_values]
702
+ * @property {string} [uid]
703
+ * @property {string} [checkout_mode]
704
+ * @property {string} [error_message]
705
+ * @property {Object[]} [store_emps]
706
+ * @property {string} [store_code]
707
+ * @property {boolean} [restrict_checkout]
708
+ * @property {string} [message]
723
709
  * @property {boolean} [buy_now]
710
+ * @property {boolean} [cod_available]
724
711
  * @property {number} [cart_id]
725
- * @property {string} [checkout_mode]
726
- * @property {string} [comment]
727
- * @property {string} [coupon_text]
728
- * @property {CartCurrency} [currency]
712
+ * @property {CartBreakup} [breakup_values]
713
+ * @property {string} [order_id]
714
+ * @property {number} [cod_charges]
729
715
  * @property {string} [delivery_charge_info]
730
- * @property {ShipmentPromise} [delivery_promise]
716
+ * @property {string} [user_type]
717
+ * @property {PaymentSelectionLock} [payment_selection_lock]
731
718
  * @property {string} [gstin]
732
- * @property {string} [id]
733
- * @property {boolean} [is_valid]
719
+ * @property {ShipmentPromise} [delivery_promise]
734
720
  * @property {CartProductInfo[]} [items]
735
- * @property {string} [last_modified]
736
- * @property {string} [message]
737
- * @property {PaymentSelectionLock} [payment_selection_lock]
738
- * @property {boolean} [restrict_checkout]
739
- * @property {SharedCartDetails} [shared_cart_details]
740
- * @property {string} [uid]
741
- */
742
-
743
- /**
744
- * @typedef SharedCartDetails
745
- * @property {string} [created_on]
746
- * @property {Object} [meta] - Meta data sent while generating share cart link
747
- * @property {Object} [source] - Share link device and other source information
748
- * @property {string} [token] - Short link id
749
- * @property {Object} [user] - User details of who generated share link
721
+ * @property {CartCurrency} [currency]
722
+ * @property {number} [delivery_charge_order_value]
750
723
  */
751
724
 
752
725
  /**
753
- * @typedef SharedCartResponse
754
- * @property {SharedCart} [cart]
755
- * @property {string} [error]
726
+ * @typedef CartCheckoutResponse
727
+ * @property {CheckCart} [cart]
728
+ * @property {string} [app_intercept_url]
729
+ * @property {string} [callback_url]
730
+ * @property {string} [message]
731
+ * @property {Object} [data]
732
+ * @property {string} [order_id]
733
+ * @property {boolean} [success]
734
+ * @property {string} [payment_confirm_url]
756
735
  */
757
736
 
758
737
  /**
759
- * @typedef ShipmentPromise
760
- * @property {PromiseFormatted} [formatted]
761
- * @property {PromiseISOFormat} [iso]
762
- * @property {PromiseTimestamp} [timestamp]
738
+ * @typedef GiftDetail
739
+ * @property {string} [gift_message]
740
+ * @property {boolean} [is_gift_applied]
763
741
  */
764
742
 
765
743
  /**
766
- * @typedef ShipmentResponse
767
- * @property {string} [box_type]
768
- * @property {string} [dp_id]
769
- * @property {Object} [dp_options]
770
- * @property {number} [fulfillment_id]
771
- * @property {string} [fulfillment_type]
772
- * @property {CartProductInfo[]} [items]
773
- * @property {string} [order_type]
774
- * @property {ShipmentPromise} [promise]
775
- * @property {string} [shipment_type]
776
- * @property {number} [shipments]
744
+ * @typedef ArticleGiftDetail
745
+ * @property {GiftDetail} [article_id]
777
746
  */
778
747
 
779
748
  /**
780
- * @typedef StaffCheckout
781
- * @property {string} _id
782
- * @property {string} [employee_code]
783
- * @property {string} first_name
784
- * @property {string} last_name
785
- * @property {string} user
749
+ * @typedef CartMetaRequest
750
+ * @property {string} [comment]
751
+ * @property {string} [gstin]
752
+ * @property {Object} [pick_up_customer_details] - Customer contact details for
753
+ * customer pickup at store
754
+ * @property {string} [checkout_mode]
755
+ * @property {ArticleGiftDetail} [gift_details]
756
+ * @property {Object} [delivery_slots]
786
757
  */
787
758
 
788
759
  /**
789
- * @typedef StoreDetailsResponse
790
- * @property {PickupStoreDetail[]} [items]
760
+ * @typedef CartMetaResponse
761
+ * @property {string} [message]
762
+ * @property {boolean} [is_valid]
791
763
  */
792
764
 
793
765
  /**
794
- * @typedef StoreInfo
795
- * @property {string} [name]
796
- * @property {string} [store_code]
797
- * @property {number} [uid]
766
+ * @typedef CartMetaMissingResponse
767
+ * @property {string[]} [errors]
798
768
  */
799
769
 
800
770
  /**
801
- * @typedef Tags
802
- * @property {Object} [tags]
771
+ * @typedef CartDeliveryModesResponse
772
+ * @property {string[]} [available_modes] - Available delivery modes
773
+ * @property {number[]} [pickup_stores] - Store pick up available store uids
803
774
  */
804
775
 
805
776
  /**
806
- * @typedef UpdateAddressResponse
807
- * @property {string} [id]
808
- * @property {boolean} [is_default_address]
809
- * @property {boolean} [is_updated]
810
- * @property {boolean} [success]
777
+ * @typedef PickupStoreDetail
778
+ * @property {string} [city]
779
+ * @property {string} [address_type]
780
+ * @property {string} [address]
781
+ * @property {string} [state]
782
+ * @property {string} [store_code]
783
+ * @property {number} [uid]
784
+ * @property {number} [pincode]
785
+ * @property {string} [area_code_slug]
786
+ * @property {string} [area_code]
787
+ * @property {string} [email]
788
+ * @property {string} [name]
789
+ * @property {string} [landmark]
790
+ * @property {string} [area]
791
+ * @property {string} [country]
792
+ * @property {string} [phone]
793
+ * @property {number} [id]
811
794
  */
812
795
 
813
796
  /**
814
- * @typedef UpdateCartDetailResponse
815
- * @property {CartDetailResponse} [cart]
816
- * @property {string} [message]
817
- * @property {boolean} [success] - True if all items are added successfully.
818
- * False if partially added or not added.
797
+ * @typedef StoreDetailsResponse
798
+ * @property {PickupStoreDetail[]} [items]
819
799
  */
820
800
 
821
801
  /**
822
- * @typedef UpdateCartPaymentRequest
823
- * @property {string} [address_id]
824
- * @property {string} [aggregator_name]
825
- * @property {string} [id]
826
- * @property {string} [merchant_code]
827
- * @property {string} [payment_identifier]
828
- * @property {string} [payment_mode]
802
+ * @typedef GetShareCartLinkRequest
803
+ * @property {Object} [meta] - Staff, Ordering store or any other data. This
804
+ * data will be used to generate link as well as sent as shared details.
805
+ * @property {string} [id] - Cart uid for generating sharing
829
806
  */
830
807
 
831
808
  /**
832
- * @typedef UpdateCartRequest
833
- * @property {UpdateProductCart[]} [items]
834
- * @property {string} operation
809
+ * @typedef GetShareCartLinkResponse
810
+ * @property {string} [share_url] - Short shareable final url
811
+ * @property {string} [token] - Short url unique id
835
812
  */
836
813
 
837
814
  /**
838
- * @typedef UpdateCartShipmentItem
839
- * @property {string} article_uid - Article mongo id
840
- * @property {number} [quantity] - Quantity of product in shipment
841
- * @property {string} shipment_type - Shipment delivery type
815
+ * @typedef SharedCartDetails
816
+ * @property {Object} [meta] - Meta data sent while generating share cart link
817
+ * @property {Object} [user] - User details of who generated share link
818
+ * @property {string} [created_on]
819
+ * @property {string} [token] - Short link id
820
+ * @property {Object} [source] - Share link device and other source information
842
821
  */
843
822
 
844
823
  /**
845
- * @typedef UpdateCartShipmentRequest
846
- * @property {UpdateCartShipmentItem[]} shipments
824
+ * @typedef SharedCart
825
+ * @property {string} [comment]
826
+ * @property {string} [coupon_text]
827
+ * @property {string} [last_modified]
828
+ * @property {SharedCartDetails} [shared_cart_details]
829
+ * @property {boolean} [is_valid]
830
+ * @property {string} [id]
831
+ * @property {string} [uid]
832
+ * @property {string} [checkout_mode]
833
+ * @property {boolean} [restrict_checkout]
834
+ * @property {string} [message]
835
+ * @property {boolean} [buy_now]
836
+ * @property {number} [cart_id]
837
+ * @property {CartBreakup} [breakup_values]
838
+ * @property {string} [delivery_charge_info]
839
+ * @property {PaymentSelectionLock} [payment_selection_lock]
840
+ * @property {string} [gstin]
841
+ * @property {ShipmentPromise} [delivery_promise]
842
+ * @property {CartProductInfo[]} [items]
843
+ * @property {CartCurrency} [currency]
847
844
  */
848
845
 
849
846
  /**
850
- * @typedef UpdateProductCart
851
- * @property {Object} [_custom_json]
852
- * @property {string} [article_id]
853
- * @property {Object} [extra_meta]
854
- * @property {CartProductIdentifer} identifiers
855
- * @property {number} [item_id]
856
- * @property {number} [item_index]
857
- * @property {string} [item_size]
858
- * @property {Object} [meta]
859
- * @property {Object} [parent_item_identifiers]
860
- * @property {number} [quantity]
847
+ * @typedef SharedCartResponse
848
+ * @property {string} [error]
849
+ * @property {SharedCart} [cart]
861
850
  */
862
851
 
863
852
  class PosCartApplicationModel {
864
- /** @returns {ActionQuery} */
865
- static ActionQuery() {
866
- return Joi.object({
867
- product_slug: Joi.array().items(Joi.string().allow("")),
868
- });
869
- }
870
-
871
- /** @returns {AddCartDetailResponse} */
872
- static AddCartDetailResponse() {
873
- return Joi.object({
874
- cart: PosCartApplicationModel.CartDetailResponse(),
875
- message: Joi.string().allow(""),
876
- partial: Joi.boolean(),
877
- success: Joi.boolean(),
878
- });
879
- }
880
-
881
- /** @returns {AddCartRequest} */
882
- static AddCartRequest() {
883
- return Joi.object({
884
- items: Joi.array().items(PosCartApplicationModel.AddProductCart()),
885
- new_cart: Joi.boolean(),
886
- });
887
- }
888
-
889
- /** @returns {AddProductCart} */
890
- static AddProductCart() {
891
- return Joi.object({
892
- _custom_json: Joi.any(),
893
- article_assignment: Joi.any(),
894
- article_id: Joi.string().allow(""),
895
- display: Joi.string().allow(""),
896
- extra_meta: Joi.any(),
897
- item_id: Joi.number(),
898
- item_size: Joi.string().allow(""),
899
- meta: Joi.any(),
900
- parent_item_identifiers: Joi.array().items(
901
- Joi.object().pattern(/\S/, Joi.string().allow(""))
902
- ),
903
- pos: Joi.boolean(),
904
- product_group_tags: Joi.array().items(Joi.string().allow("").allow(null)),
905
- quantity: Joi.number(),
906
- seller_id: Joi.number(),
907
- store_id: Joi.number(),
853
+ /** @returns {BuyRules} */
854
+ static BuyRules() {
855
+ return Joi.object({
856
+ cart_conditions: Joi.any(),
857
+ item_criteria: Joi.any(),
908
858
  });
909
859
  }
910
860
 
911
- /** @returns {Address} */
912
- static Address() {
861
+ /** @returns {DiscountRulesApp} */
862
+ static DiscountRulesApp() {
913
863
  return Joi.object({
914
- _custom_json: Joi.any(),
915
- address: Joi.string().allow(""),
916
- address_type: Joi.string().allow(""),
917
- area: Joi.string().allow(""),
918
- area_code: Joi.string().allow(""),
919
- area_code_slug: Joi.string().allow(""),
920
- checkout_mode: Joi.string().allow(""),
921
- city: Joi.string().allow(""),
922
- country: Joi.string().allow(""),
923
- country_code: Joi.string().allow(""),
924
- country_iso_code: Joi.string().allow(""),
925
- country_phone_code: Joi.string().allow(""),
926
- created_by_user_id: Joi.string().allow(""),
927
- email: Joi.string().allow(""),
928
- geo_location: PosCartApplicationModel.GeoLocation(),
929
- google_map_point: Joi.any(),
930
- id: Joi.string().allow(""),
931
- is_active: Joi.boolean(),
932
- is_default_address: Joi.boolean(),
933
- landmark: Joi.string().allow(""),
934
- meta: Joi.any(),
935
- name: Joi.string().allow(""),
936
- phone: Joi.string().allow(""),
937
- sector: Joi.string().allow(""),
938
- state: Joi.string().allow(""),
939
- state_code: Joi.string().allow(""),
940
- tags: Joi.array().items(Joi.string().allow("")),
941
- user_id: Joi.string().allow(""),
864
+ matched_buy_rules: Joi.array().items(Joi.string().allow("")),
865
+ offer: Joi.any(),
866
+ item_criteria: Joi.any(),
867
+ raw_offer: Joi.any(),
868
+ });
869
+ }
870
+
871
+ /** @returns {FreeGiftItem} */
872
+ static FreeGiftItem() {
873
+ return Joi.object({
874
+ item_slug: Joi.string().allow(""),
875
+ item_price_details: Joi.any(),
876
+ item_images_url: Joi.array().items(Joi.string().allow("")),
877
+ item_name: Joi.string().allow(""),
878
+ item_id: Joi.number(),
879
+ item_brand_name: Joi.string().allow(""),
942
880
  });
943
881
  }
944
882
 
945
883
  /** @returns {AppliedFreeArticles} */
946
884
  static AppliedFreeArticles() {
947
885
  return Joi.object({
886
+ quantity: Joi.number(),
887
+ parent_item_identifier: Joi.string().allow(""),
948
888
  article_id: Joi.string().allow(""),
949
889
  free_gift_item_details: PosCartApplicationModel.FreeGiftItem(),
950
- parent_item_identifier: Joi.string().allow(""),
951
- quantity: Joi.number(),
890
+ });
891
+ }
892
+
893
+ /** @returns {Ownership} */
894
+ static Ownership() {
895
+ return Joi.object({
896
+ payable_category: Joi.string().allow(""),
897
+ payable_by: Joi.string().allow(""),
952
898
  });
953
899
  }
954
900
 
955
901
  /** @returns {AppliedPromotion} */
956
902
  static AppliedPromotion() {
957
903
  return Joi.object({
958
- amount: Joi.number(),
959
- applied_free_articles: Joi.array().items(
960
- PosCartApplicationModel.AppliedFreeArticles()
961
- ),
962
- article_quantity: Joi.number(),
904
+ promotion_name: Joi.string().allow(""),
905
+ mrp_promotion: Joi.boolean(),
963
906
  buy_rules: Joi.array().items(PosCartApplicationModel.BuyRules()),
964
- currency: PosCartApplicationModel.CartCurrency(),
907
+ promotion_type: Joi.string().allow(""),
908
+ article_quantity: Joi.number(),
909
+ amount: Joi.number(),
965
910
  discount_rules: Joi.array().items(
966
911
  PosCartApplicationModel.DiscountRulesApp()
967
912
  ),
968
- mrp_promotion: Joi.boolean(),
969
913
  offer_text: Joi.string().allow(""),
970
- ownership: PosCartApplicationModel.Ownership(),
971
914
  promo_id: Joi.string().allow(""),
915
+ applied_free_articles: Joi.array().items(
916
+ PosCartApplicationModel.AppliedFreeArticles()
917
+ ),
918
+ ownership: PosCartApplicationModel.Ownership(),
972
919
  promotion_group: Joi.string().allow(""),
973
- promotion_name: Joi.string().allow(""),
974
- promotion_type: Joi.string().allow(""),
975
920
  });
976
921
  }
977
922
 
978
- /** @returns {ApplyCouponRequest} */
979
- static ApplyCouponRequest() {
923
+ /** @returns {LoyaltyPoints} */
924
+ static LoyaltyPoints() {
980
925
  return Joi.object({
981
- coupon_code: Joi.string().allow("").required(),
926
+ description: Joi.string().allow(""),
927
+ is_applied: Joi.boolean(),
928
+ applicable: Joi.number(),
929
+ total: Joi.number(),
982
930
  });
983
931
  }
984
932
 
985
- /** @returns {ArticleGiftDetail} */
986
- static ArticleGiftDetail() {
933
+ /** @returns {RawBreakup} */
934
+ static RawBreakup() {
987
935
  return Joi.object({
988
- article_id: PosCartApplicationModel.GiftDetail(),
936
+ discount: Joi.number(),
937
+ you_saved: Joi.number(),
938
+ mrp_total: Joi.number(),
939
+ gst_charges: Joi.number(),
940
+ total: Joi.number(),
941
+ vog: Joi.number(),
942
+ coupon: Joi.number(),
943
+ subtotal: Joi.number(),
944
+ delivery_charge: Joi.number(),
945
+ cod_charge: Joi.number(),
946
+ fynd_cash: Joi.number(),
947
+ gift_card: Joi.number(),
948
+ convenience_fee: Joi.number(),
989
949
  });
990
950
  }
991
951
 
992
- /** @returns {ArticlePriceInfo} */
993
- static ArticlePriceInfo() {
952
+ /** @returns {DisplayBreakup} */
953
+ static DisplayBreakup() {
994
954
  return Joi.object({
995
- base: PosCartApplicationModel.BasePrice(),
996
- converted: PosCartApplicationModel.BasePrice(),
955
+ currency_code: Joi.string().allow(""),
956
+ currency_symbol: Joi.string().allow(""),
957
+ display: Joi.string().allow(""),
958
+ message: Joi.array().items(Joi.string().allow("")),
959
+ key: Joi.string().allow(""),
960
+ value: Joi.number(),
997
961
  });
998
962
  }
999
963
 
1000
- /** @returns {BaseInfo} */
1001
- static BaseInfo() {
964
+ /** @returns {CouponBreakup} */
965
+ static CouponBreakup() {
1002
966
  return Joi.object({
1003
- name: Joi.string().allow(""),
1004
- uid: Joi.number(),
967
+ max_discount_value: Joi.number(),
968
+ message: Joi.string().allow(""),
969
+ is_applied: Joi.boolean(),
970
+ uid: Joi.string().allow(""),
971
+ type: Joi.string().allow(""),
972
+ coupon_type: Joi.string().allow("").allow(null),
973
+ sub_title: Joi.string().allow("").allow(null),
974
+ coupon_value: Joi.number(),
975
+ description: Joi.string().allow("").allow(null),
976
+ code: Joi.string().allow(""),
977
+ minimum_cart_value: Joi.number(),
978
+ value: Joi.number(),
979
+ title: Joi.string().allow("").allow(null),
1005
980
  });
1006
981
  }
1007
982
 
1008
- /** @returns {BasePrice} */
1009
- static BasePrice() {
983
+ /** @returns {CartBreakup} */
984
+ static CartBreakup() {
1010
985
  return Joi.object({
1011
- currency_code: Joi.string().allow(""),
1012
- currency_symbol: Joi.string().allow(""),
1013
- effective: Joi.number(),
1014
- marked: Joi.number(),
986
+ loyalty_points: PosCartApplicationModel.LoyaltyPoints(),
987
+ raw: PosCartApplicationModel.RawBreakup(),
988
+ display: Joi.array().items(PosCartApplicationModel.DisplayBreakup()),
989
+ coupon: PosCartApplicationModel.CouponBreakup(),
1015
990
  });
1016
991
  }
1017
992
 
1018
- /** @returns {BulkPriceOffer} */
1019
- static BulkPriceOffer() {
993
+ /** @returns {PaymentSelectionLock} */
994
+ static PaymentSelectionLock() {
1020
995
  return Joi.object({
1021
- offers: Joi.array().items(PosCartApplicationModel.OfferItem()),
1022
- seller: PosCartApplicationModel.OfferSeller(),
996
+ default_options: Joi.string().allow(""),
997
+ enabled: Joi.boolean(),
998
+ payment_identifier: Joi.string().allow(""),
1023
999
  });
1024
1000
  }
1025
1001
 
1026
- /** @returns {BulkPriceResponse} */
1027
- static BulkPriceResponse() {
1002
+ /** @returns {PromiseTimestamp} */
1003
+ static PromiseTimestamp() {
1028
1004
  return Joi.object({
1029
- data: Joi.array().items(PosCartApplicationModel.BulkPriceOffer()),
1005
+ max: Joi.number(),
1006
+ min: Joi.number(),
1030
1007
  });
1031
1008
  }
1032
1009
 
1033
- /** @returns {BuyRules} */
1034
- static BuyRules() {
1010
+ /** @returns {PromiseFormatted} */
1011
+ static PromiseFormatted() {
1035
1012
  return Joi.object({
1036
- cart_conditions: Joi.any(),
1037
- item_criteria: Joi.any(),
1013
+ max: Joi.string().allow(""),
1014
+ min: Joi.string().allow(""),
1038
1015
  });
1039
1016
  }
1040
1017
 
1041
- /** @returns {CartBreakup} */
1042
- static CartBreakup() {
1018
+ /** @returns {ShipmentPromise} */
1019
+ static ShipmentPromise() {
1043
1020
  return Joi.object({
1044
- coupon: PosCartApplicationModel.CouponBreakup(),
1045
- display: Joi.array().items(PosCartApplicationModel.DisplayBreakup()),
1046
- loyalty_points: PosCartApplicationModel.LoyaltyPoints(),
1047
- raw: PosCartApplicationModel.RawBreakup(),
1021
+ timestamp: PosCartApplicationModel.PromiseTimestamp(),
1022
+ formatted: PosCartApplicationModel.PromiseFormatted(),
1048
1023
  });
1049
1024
  }
1050
1025
 
1051
- /** @returns {CartCheckoutCustomMeta} */
1052
- static CartCheckoutCustomMeta() {
1026
+ /** @returns {StoreInfo} */
1027
+ static StoreInfo() {
1053
1028
  return Joi.object({
1054
- key: Joi.string().allow("").required(),
1055
- value: Joi.string().allow("").required(),
1029
+ uid: Joi.number(),
1030
+ store_code: Joi.string().allow(""),
1031
+ name: Joi.string().allow(""),
1056
1032
  });
1057
1033
  }
1058
1034
 
1059
- /** @returns {CartCheckoutResponse} */
1060
- static CartCheckoutResponse() {
1035
+ /** @returns {BaseInfo} */
1036
+ static BaseInfo() {
1061
1037
  return Joi.object({
1062
- app_intercept_url: Joi.string().allow(""),
1063
- callback_url: Joi.string().allow(""),
1064
- cart: PosCartApplicationModel.CheckCart(),
1065
- data: Joi.any(),
1066
- message: Joi.string().allow(""),
1067
- order_id: Joi.string().allow(""),
1068
- payment_confirm_url: Joi.string().allow(""),
1069
- success: Joi.boolean(),
1038
+ uid: Joi.number(),
1039
+ name: Joi.string().allow(""),
1070
1040
  });
1071
1041
  }
1072
1042
 
1073
- /** @returns {CartCurrency} */
1074
- static CartCurrency() {
1043
+ /** @returns {BasePrice} */
1044
+ static BasePrice() {
1075
1045
  return Joi.object({
1076
- code: Joi.string().allow(""),
1077
- symbol: Joi.string().allow(""),
1046
+ effective: Joi.number(),
1047
+ currency_code: Joi.string().allow(""),
1048
+ currency_symbol: Joi.string().allow(""),
1049
+ marked: Joi.number(),
1078
1050
  });
1079
1051
  }
1080
1052
 
1081
- /** @returns {CartDeliveryModesResponse} */
1082
- static CartDeliveryModesResponse() {
1053
+ /** @returns {ArticlePriceInfo} */
1054
+ static ArticlePriceInfo() {
1083
1055
  return Joi.object({
1084
- available_modes: Joi.array().items(Joi.string().allow("")),
1085
- pickup_stores: Joi.array().items(Joi.number()),
1056
+ converted: PosCartApplicationModel.BasePrice(),
1057
+ base: PosCartApplicationModel.BasePrice(),
1086
1058
  });
1087
1059
  }
1088
1060
 
1089
- /** @returns {CartDetailResponse} */
1090
- static CartDetailResponse() {
1061
+ /** @returns {ProductArticle} */
1062
+ static ProductArticle() {
1091
1063
  return Joi.object({
1092
- applied_promo_details: Joi.array().items(
1093
- PosCartApplicationModel.AppliedPromotion()
1094
- ),
1095
- breakup_values: PosCartApplicationModel.CartBreakup(),
1096
- buy_now: Joi.boolean(),
1097
- checkout_mode: Joi.string().allow(""),
1098
- comment: Joi.string().allow(""),
1099
- coupon_text: Joi.string().allow(""),
1100
- currency: PosCartApplicationModel.CartCurrency(),
1101
- delivery_charge_info: Joi.string().allow(""),
1102
- delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1103
- gstin: Joi.string().allow(""),
1104
- id: Joi.string().allow(""),
1105
- is_valid: Joi.boolean(),
1106
- items: Joi.array().items(PosCartApplicationModel.CartProductInfo()),
1107
- last_modified: Joi.string().allow(""),
1108
- message: Joi.string().allow(""),
1109
- pan_config: Joi.any(),
1110
- pan_no: Joi.string().allow(""),
1111
- payment_selection_lock: PosCartApplicationModel.PaymentSelectionLock(),
1112
- restrict_checkout: Joi.boolean(),
1064
+ meta: Joi.any(),
1065
+ store: PosCartApplicationModel.StoreInfo(),
1066
+ _custom_json: Joi.any(),
1067
+ seller_identifier: Joi.string().allow(""),
1068
+ identifier: Joi.any(),
1069
+ quantity: Joi.number(),
1070
+ seller: PosCartApplicationModel.BaseInfo(),
1071
+ mto_quantity: Joi.number(),
1072
+ uid: Joi.string().allow(""),
1073
+ cart_item_meta: Joi.any(),
1074
+ type: Joi.string().allow(""),
1075
+ price: PosCartApplicationModel.ArticlePriceInfo(),
1076
+ parent_item_identifiers: Joi.any(),
1077
+ size: Joi.string().allow(""),
1078
+ extra_meta: Joi.any(),
1079
+ gift_card: Joi.any(),
1080
+ product_group_tags: Joi.array().items(Joi.string().allow("")),
1081
+ is_gift_visible: Joi.boolean(),
1113
1082
  });
1114
1083
  }
1115
1084
 
1116
- /** @returns {CartItemCountResponse} */
1117
- static CartItemCountResponse() {
1085
+ /** @returns {Tags} */
1086
+ static Tags() {
1118
1087
  return Joi.object({
1119
- user_cart_items_count: Joi.number(),
1088
+ tags: Joi.any(),
1120
1089
  });
1121
1090
  }
1122
1091
 
1123
- /** @returns {CartMetaMissingResponse} */
1124
- static CartMetaMissingResponse() {
1092
+ /** @returns {CategoryInfo} */
1093
+ static CategoryInfo() {
1125
1094
  return Joi.object({
1126
- errors: Joi.array().items(Joi.string().allow("")),
1095
+ uid: Joi.number(),
1096
+ name: Joi.string().allow(""),
1127
1097
  });
1128
1098
  }
1129
1099
 
1130
- /** @returns {CartMetaRequest} */
1131
- static CartMetaRequest() {
1100
+ /** @returns {ProductImage} */
1101
+ static ProductImage() {
1132
1102
  return Joi.object({
1133
- checkout_mode: Joi.string().allow(""),
1134
- comment: Joi.string().allow(""),
1135
- delivery_slots: Joi.any(),
1136
- gift_details: PosCartApplicationModel.ArticleGiftDetail(),
1137
- gstin: Joi.string().allow(""),
1138
- pick_up_customer_details: Joi.any(),
1103
+ aspect_ratio: Joi.string().allow(""),
1104
+ url: Joi.string().allow(""),
1105
+ secure_url: Joi.string().allow(""),
1139
1106
  });
1140
1107
  }
1141
1108
 
1142
- /** @returns {CartMetaResponse} */
1143
- static CartMetaResponse() {
1109
+ /** @returns {ActionQuery} */
1110
+ static ActionQuery() {
1144
1111
  return Joi.object({
1145
- is_valid: Joi.boolean(),
1146
- message: Joi.string().allow(""),
1112
+ product_slug: Joi.array().items(Joi.string().allow("")),
1147
1113
  });
1148
1114
  }
1149
1115
 
1150
- /** @returns {CartPosCheckoutDetailRequest} */
1151
- static CartPosCheckoutDetailRequest() {
1116
+ /** @returns {ProductAction} */
1117
+ static ProductAction() {
1152
1118
  return Joi.object({
1153
- address_id: Joi.string().allow(""),
1154
- aggregator: Joi.string().allow(""),
1155
- billing_address: Joi.any(),
1156
- billing_address_id: Joi.string().allow(""),
1157
- callback_url: Joi.string().allow("").allow(null),
1158
- custom_meta: Joi.array().items(
1159
- PosCartApplicationModel.CartCheckoutCustomMeta()
1160
- ),
1161
- customer_details: Joi.any().allow(null),
1162
- delivery_address: Joi.any(),
1163
- extra_meta: Joi.any(),
1164
- files: Joi.array().items(PosCartApplicationModel.Files()),
1165
- id: Joi.string().allow("").allow(null),
1166
- merchant_code: Joi.string().allow(""),
1167
- meta: Joi.any(),
1168
- order_type: Joi.string().allow("").required(),
1169
- ordering_store: Joi.number().allow(null),
1170
- payment_auto_confirm: Joi.boolean(),
1171
- payment_identifier: Joi.string().allow("").allow(null),
1172
- payment_mode: Joi.string().allow("").required(),
1173
- payment_params: Joi.any().allow(null),
1174
- pick_at_store_uid: Joi.number().allow(null),
1175
- pos: Joi.boolean(),
1176
- staff: PosCartApplicationModel.StaffCheckout(),
1119
+ query: PosCartApplicationModel.ActionQuery(),
1120
+ url: Joi.string().allow(""),
1121
+ type: Joi.string().allow(""),
1177
1122
  });
1178
1123
  }
1179
1124
 
1180
1125
  /** @returns {CartProduct} */
1181
1126
  static CartProduct() {
1182
1127
  return Joi.object({
1128
+ teaser_tag: PosCartApplicationModel.Tags(),
1183
1129
  _custom_json: Joi.any(),
1184
- action: PosCartApplicationModel.ProductAction(),
1185
- brand: PosCartApplicationModel.BaseInfo(),
1186
1130
  categories: Joi.array().items(PosCartApplicationModel.CategoryInfo()),
1187
- images: Joi.array().items(PosCartApplicationModel.ProductImage()),
1188
1131
  item_code: Joi.string().allow("").allow(null),
1189
- name: Joi.string().allow(""),
1190
- slug: Joi.string().allow(""),
1191
1132
  tags: Joi.array().items(Joi.string().allow("")),
1192
- teaser_tag: PosCartApplicationModel.Tags(),
1193
- type: Joi.string().allow(""),
1194
1133
  uid: Joi.number(),
1134
+ type: Joi.string().allow(""),
1135
+ images: Joi.array().items(PosCartApplicationModel.ProductImage()),
1136
+ name: Joi.string().allow(""),
1137
+ slug: Joi.string().allow(""),
1138
+ action: PosCartApplicationModel.ProductAction(),
1139
+ brand: PosCartApplicationModel.BaseInfo(),
1195
1140
  });
1196
1141
  }
1197
1142
 
1198
- /** @returns {CartProductIdentifer} */
1199
- static CartProductIdentifer() {
1143
+ /** @returns {ProductPrice} */
1144
+ static ProductPrice() {
1200
1145
  return Joi.object({
1201
- identifier: Joi.string().allow(""),
1146
+ effective: Joi.number(),
1147
+ currency_code: Joi.string().allow(""),
1148
+ currency_symbol: Joi.string().allow(""),
1149
+ marked: Joi.number(),
1150
+ selling: Joi.number(),
1151
+ add_on: Joi.number(),
1202
1152
  });
1203
1153
  }
1204
1154
 
1205
- /** @returns {CartProductInfo} */
1206
- static CartProductInfo() {
1155
+ /** @returns {ProductPriceInfo} */
1156
+ static ProductPriceInfo() {
1207
1157
  return Joi.object({
1208
- article: PosCartApplicationModel.ProductArticle(),
1209
- availability: PosCartApplicationModel.ProductAvailability(),
1210
- bulk_offer: Joi.any(),
1211
- coupon: PosCartApplicationModel.CouponDetails(),
1212
- coupon_message: Joi.string().allow(""),
1213
- custom_order: Joi.any(),
1214
- delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1215
- discount: Joi.string().allow(""),
1216
- identifiers: PosCartApplicationModel.CartProductIdentifer().required(),
1217
- is_set: Joi.boolean(),
1218
- key: Joi.string().allow(""),
1219
- message: Joi.string().allow(""),
1220
- moq: Joi.any(),
1221
- parent_item_identifiers: Joi.any(),
1222
- price: PosCartApplicationModel.ProductPriceInfo(),
1223
- price_per_unit: PosCartApplicationModel.ProductPriceInfo(),
1224
- product: PosCartApplicationModel.CartProduct(),
1225
- promo_meta: PosCartApplicationModel.PromoMeta(),
1226
- promotions_applied: Joi.array().items(
1227
- PosCartApplicationModel.AppliedPromotion()
1228
- ),
1229
- quantity: Joi.number(),
1158
+ converted: PosCartApplicationModel.ProductPrice(),
1159
+ base: PosCartApplicationModel.ProductPrice(),
1230
1160
  });
1231
1161
  }
1232
1162
 
1233
- /** @returns {CartShipmentsResponse} */
1234
- static CartShipmentsResponse() {
1163
+ /** @returns {CouponDetails} */
1164
+ static CouponDetails() {
1165
+ return Joi.object({
1166
+ discount_total_quantity: Joi.number(),
1167
+ discount_single_quantity: Joi.number(),
1168
+ code: Joi.string().allow(""),
1169
+ });
1170
+ }
1171
+
1172
+ /** @returns {PromoMeta} */
1173
+ static PromoMeta() {
1235
1174
  return Joi.object({
1236
- breakup_values: PosCartApplicationModel.CartBreakup(),
1237
- buy_now: Joi.boolean(),
1238
- cart_id: Joi.number(),
1239
- checkout_mode: Joi.string().allow(""),
1240
- comment: Joi.string().allow(""),
1241
- coupon_text: Joi.string().allow(""),
1242
- currency: PosCartApplicationModel.CartCurrency(),
1243
- delivery_charge_info: Joi.string().allow(""),
1244
- delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1245
- error: Joi.boolean(),
1246
- gstin: Joi.string().allow(""),
1247
- id: Joi.string().allow(""),
1248
- is_valid: Joi.boolean(),
1249
- last_modified: Joi.string().allow(""),
1250
1175
  message: Joi.string().allow(""),
1251
- payment_selection_lock: PosCartApplicationModel.PaymentSelectionLock(),
1252
- restrict_checkout: Joi.boolean(),
1253
- shipments: Joi.array().items(PosCartApplicationModel.ShipmentResponse()),
1254
- uid: Joi.string().allow(""),
1255
1176
  });
1256
1177
  }
1257
1178
 
1258
- /** @returns {CategoryInfo} */
1259
- static CategoryInfo() {
1179
+ /** @returns {ProductAvailabilitySize} */
1180
+ static ProductAvailabilitySize() {
1260
1181
  return Joi.object({
1261
- name: Joi.string().allow(""),
1262
- uid: Joi.number(),
1182
+ is_available: Joi.boolean(),
1183
+ value: Joi.string().allow(""),
1184
+ display: Joi.string().allow(""),
1263
1185
  });
1264
1186
  }
1265
1187
 
1266
- /** @returns {CheckCart} */
1267
- static CheckCart() {
1188
+ /** @returns {ProductAvailability} */
1189
+ static ProductAvailability() {
1268
1190
  return Joi.object({
1269
- breakup_values: PosCartApplicationModel.CartBreakup(),
1270
- buy_now: Joi.boolean(),
1271
- cart_id: Joi.number(),
1272
- checkout_mode: Joi.string().allow(""),
1273
- cod_available: Joi.boolean(),
1274
- cod_charges: Joi.number(),
1275
- cod_message: Joi.string().allow(""),
1276
- comment: Joi.string().allow(""),
1277
- coupon_text: Joi.string().allow(""),
1278
- currency: PosCartApplicationModel.CartCurrency(),
1279
- delivery_charge_info: Joi.string().allow(""),
1280
- delivery_charge_order_value: Joi.number(),
1281
- delivery_charges: Joi.number(),
1282
- delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1283
- error_message: Joi.string().allow(""),
1284
- gstin: Joi.string().allow(""),
1285
- id: Joi.string().allow(""),
1191
+ available_sizes: Joi.array().items(
1192
+ PosCartApplicationModel.ProductAvailabilitySize()
1193
+ ),
1194
+ other_store_quantity: Joi.number(),
1195
+ deliverable: Joi.boolean(),
1196
+ out_of_stock: Joi.boolean(),
1286
1197
  is_valid: Joi.boolean(),
1287
- items: Joi.array().items(PosCartApplicationModel.CartProductInfo()),
1288
- last_modified: Joi.string().allow(""),
1289
- message: Joi.string().allow(""),
1290
- order_id: Joi.string().allow(""),
1291
- payment_selection_lock: PosCartApplicationModel.PaymentSelectionLock(),
1292
- restrict_checkout: Joi.boolean(),
1293
- store_code: Joi.string().allow(""),
1294
- store_emps: Joi.array().items(Joi.any()),
1295
- success: Joi.boolean(),
1296
- uid: Joi.string().allow(""),
1297
- user_type: Joi.string().allow(""),
1198
+ sizes: Joi.array().items(Joi.string().allow("")),
1298
1199
  });
1299
1200
  }
1300
1201
 
1301
- /** @returns {Coupon} */
1302
- static Coupon() {
1202
+ /** @returns {CartProductIdentifer} */
1203
+ static CartProductIdentifer() {
1303
1204
  return Joi.object({
1304
- coupon_code: Joi.string().allow(""),
1305
- coupon_type: Joi.string().allow("").allow(null),
1306
- coupon_value: Joi.number(),
1307
- description: Joi.string().allow("").allow(null),
1308
- expires_on: Joi.string().allow(""),
1309
- is_applicable: Joi.boolean(),
1310
- is_applied: Joi.boolean(),
1311
- max_discount_value: Joi.number(),
1312
- message: Joi.string().allow(""),
1313
- minimum_cart_value: Joi.number(),
1314
- sub_title: Joi.string().allow(""),
1315
- title: Joi.string().allow(""),
1205
+ identifier: Joi.string().allow(""),
1316
1206
  });
1317
1207
  }
1318
1208
 
1319
- /** @returns {CouponBreakup} */
1320
- static CouponBreakup() {
1209
+ /** @returns {CartProductInfo} */
1210
+ static CartProductInfo() {
1321
1211
  return Joi.object({
1322
- code: Joi.string().allow(""),
1323
- coupon_type: Joi.string().allow("").allow(null),
1324
- coupon_value: Joi.number(),
1325
- description: Joi.string().allow("").allow(null),
1326
- is_applied: Joi.boolean(),
1327
- max_discount_value: Joi.number(),
1212
+ custom_order: Joi.any(),
1213
+ article: PosCartApplicationModel.ProductArticle(),
1214
+ product: PosCartApplicationModel.CartProduct(),
1215
+ quantity: Joi.number(),
1216
+ moq: Joi.any(),
1217
+ promotions_applied: Joi.array().items(
1218
+ PosCartApplicationModel.AppliedPromotion()
1219
+ ),
1220
+ price_per_unit: PosCartApplicationModel.ProductPriceInfo(),
1221
+ key: Joi.string().allow(""),
1222
+ price: PosCartApplicationModel.ProductPriceInfo(),
1223
+ parent_item_identifiers: Joi.any(),
1224
+ is_set: Joi.boolean(),
1225
+ coupon_message: Joi.string().allow(""),
1328
1226
  message: Joi.string().allow(""),
1329
- minimum_cart_value: Joi.number(),
1330
- sub_title: Joi.string().allow("").allow(null),
1331
- title: Joi.string().allow("").allow(null),
1332
- type: Joi.string().allow(""),
1333
- uid: Joi.string().allow(""),
1334
- value: Joi.number(),
1227
+ coupon: PosCartApplicationModel.CouponDetails(),
1228
+ discount: Joi.string().allow(""),
1229
+ bulk_offer: Joi.any(),
1230
+ promo_meta: PosCartApplicationModel.PromoMeta(),
1231
+ delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1232
+ availability: PosCartApplicationModel.ProductAvailability(),
1233
+ identifiers: PosCartApplicationModel.CartProductIdentifer().required(),
1335
1234
  });
1336
1235
  }
1337
1236
 
1338
- /** @returns {CouponDetails} */
1339
- static CouponDetails() {
1237
+ /** @returns {CartCurrency} */
1238
+ static CartCurrency() {
1340
1239
  return Joi.object({
1240
+ symbol: Joi.string().allow(""),
1341
1241
  code: Joi.string().allow(""),
1342
- discount_single_quantity: Joi.number(),
1343
- discount_total_quantity: Joi.number(),
1344
- });
1345
- }
1346
-
1347
- /** @returns {CouponValidity} */
1348
- static CouponValidity() {
1349
- return Joi.object({
1350
- code: Joi.string().allow("").allow(null),
1351
- discount: Joi.number(),
1352
- display_message_en: Joi.string().allow("").allow(null),
1353
- next_validation_required: Joi.boolean().allow(null),
1354
- title: Joi.string().allow(""),
1355
- valid: Joi.boolean(),
1356
- });
1357
- }
1358
-
1359
- /** @returns {CustomerDetails} */
1360
- static CustomerDetails() {
1361
- return Joi.object({
1362
- email: Joi.string().allow("").allow(null),
1363
- mobile: Joi.string().allow("").required(),
1364
- name: Joi.string().allow(""),
1365
1242
  });
1366
1243
  }
1367
1244
 
1368
- /** @returns {DeleteAddressResponse} */
1369
- static DeleteAddressResponse() {
1245
+ /** @returns {CartDetailResponse} */
1246
+ static CartDetailResponse() {
1370
1247
  return Joi.object({
1248
+ comment: Joi.string().allow(""),
1249
+ coupon_text: Joi.string().allow(""),
1250
+ last_modified: Joi.string().allow(""),
1251
+ pan_config: Joi.any(),
1252
+ is_valid: Joi.boolean(),
1371
1253
  id: Joi.string().allow(""),
1372
- is_deleted: Joi.boolean(),
1254
+ applied_promo_details: Joi.array().items(
1255
+ PosCartApplicationModel.AppliedPromotion()
1256
+ ),
1257
+ checkout_mode: Joi.string().allow(""),
1258
+ restrict_checkout: Joi.boolean(),
1259
+ message: Joi.string().allow(""),
1260
+ buy_now: Joi.boolean(),
1261
+ breakup_values: PosCartApplicationModel.CartBreakup(),
1262
+ delivery_charge_info: Joi.string().allow(""),
1263
+ payment_selection_lock: PosCartApplicationModel.PaymentSelectionLock(),
1264
+ gstin: Joi.string().allow(""),
1265
+ delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1266
+ pan_no: Joi.string().allow(""),
1267
+ items: Joi.array().items(PosCartApplicationModel.CartProductInfo()),
1268
+ currency: PosCartApplicationModel.CartCurrency(),
1373
1269
  });
1374
1270
  }
1375
1271
 
1376
- /** @returns {DiscountRulesApp} */
1377
- static DiscountRulesApp() {
1272
+ /** @returns {AddProductCart} */
1273
+ static AddProductCart() {
1378
1274
  return Joi.object({
1379
- item_criteria: Joi.any(),
1380
- matched_buy_rules: Joi.array().items(Joi.string().allow("")),
1381
- offer: Joi.any(),
1382
- raw_offer: Joi.any(),
1275
+ seller_id: Joi.number(),
1276
+ _custom_json: Joi.any(),
1277
+ meta: Joi.any(),
1278
+ display: Joi.string().allow(""),
1279
+ quantity: Joi.number(),
1280
+ item_size: Joi.string().allow(""),
1281
+ item_id: Joi.number(),
1282
+ store_id: Joi.number(),
1283
+ pos: Joi.boolean(),
1284
+ parent_item_identifiers: Joi.array().items(
1285
+ Joi.object().pattern(/\S/, Joi.string().allow(""))
1286
+ ),
1287
+ extra_meta: Joi.any(),
1288
+ product_group_tags: Joi.array().items(Joi.string().allow("").allow(null)),
1289
+ article_assignment: Joi.any(),
1290
+ article_id: Joi.string().allow(""),
1383
1291
  });
1384
1292
  }
1385
1293
 
1386
- /** @returns {DisplayBreakup} */
1387
- static DisplayBreakup() {
1294
+ /** @returns {AddCartRequest} */
1295
+ static AddCartRequest() {
1388
1296
  return Joi.object({
1389
- currency_code: Joi.string().allow(""),
1390
- currency_symbol: Joi.string().allow(""),
1391
- display: Joi.string().allow(""),
1392
- key: Joi.string().allow(""),
1393
- message: Joi.array().items(Joi.string().allow("")),
1394
- value: Joi.number(),
1297
+ items: Joi.array().items(PosCartApplicationModel.AddProductCart()),
1298
+ new_cart: Joi.boolean(),
1395
1299
  });
1396
1300
  }
1397
1301
 
1398
- /** @returns {Files} */
1399
- static Files() {
1302
+ /** @returns {AddCartDetailResponse} */
1303
+ static AddCartDetailResponse() {
1400
1304
  return Joi.object({
1401
- key: Joi.string().allow("").required(),
1402
- values: Joi.array().items(Joi.string().allow("")).required(),
1305
+ cart: PosCartApplicationModel.CartDetailResponse(),
1306
+ message: Joi.string().allow(""),
1307
+ partial: Joi.boolean(),
1308
+ success: Joi.boolean(),
1403
1309
  });
1404
1310
  }
1405
1311
 
1406
- /** @returns {FreeGiftItem} */
1407
- static FreeGiftItem() {
1312
+ /** @returns {UpdateProductCart} */
1313
+ static UpdateProductCart() {
1408
1314
  return Joi.object({
1409
- item_brand_name: Joi.string().allow(""),
1315
+ meta: Joi.any(),
1316
+ _custom_json: Joi.any(),
1317
+ quantity: Joi.number(),
1318
+ item_size: Joi.string().allow(""),
1410
1319
  item_id: Joi.number(),
1411
- item_images_url: Joi.array().items(Joi.string().allow("")),
1412
- item_name: Joi.string().allow(""),
1413
- item_price_details: Joi.any(),
1414
- item_slug: Joi.string().allow(""),
1320
+ item_index: Joi.number(),
1321
+ identifiers: PosCartApplicationModel.CartProductIdentifer().required(),
1322
+ parent_item_identifiers: Joi.any(),
1323
+ extra_meta: Joi.any(),
1324
+ article_id: Joi.string().allow(""),
1415
1325
  });
1416
1326
  }
1417
1327
 
1418
- /** @returns {GeoLocation} */
1419
- static GeoLocation() {
1328
+ /** @returns {UpdateCartRequest} */
1329
+ static UpdateCartRequest() {
1420
1330
  return Joi.object({
1421
- latitude: Joi.number(),
1422
- longitude: Joi.number(),
1331
+ operation: Joi.string().allow("").required(),
1332
+ items: Joi.array().items(PosCartApplicationModel.UpdateProductCart()),
1423
1333
  });
1424
1334
  }
1425
1335
 
1426
- /** @returns {GetAddressesResponse} */
1427
- static GetAddressesResponse() {
1336
+ /** @returns {UpdateCartDetailResponse} */
1337
+ static UpdateCartDetailResponse() {
1428
1338
  return Joi.object({
1429
- address: Joi.array().items(PosCartApplicationModel.Address()),
1430
- pii_masking: Joi.boolean(),
1339
+ cart: PosCartApplicationModel.CartDetailResponse(),
1340
+ message: Joi.string().allow(""),
1341
+ success: Joi.boolean(),
1431
1342
  });
1432
1343
  }
1433
1344
 
1434
- /** @returns {GetCouponResponse} */
1435
- static GetCouponResponse() {
1345
+ /** @returns {CartItemCountResponse} */
1346
+ static CartItemCountResponse() {
1436
1347
  return Joi.object({
1437
- available_coupon_list: Joi.array().items(
1438
- PosCartApplicationModel.Coupon()
1439
- ),
1440
- page: PosCartApplicationModel.PageCoupon(),
1348
+ user_cart_items_count: Joi.number(),
1441
1349
  });
1442
1350
  }
1443
1351
 
1444
- /** @returns {GetShareCartLinkRequest} */
1445
- static GetShareCartLinkRequest() {
1352
+ /** @returns {PageCoupon} */
1353
+ static PageCoupon() {
1446
1354
  return Joi.object({
1447
- id: Joi.string().allow(""),
1448
- meta: Joi.any(),
1355
+ has_previous: Joi.boolean(),
1356
+ current: Joi.number(),
1357
+ total: Joi.number(),
1358
+ total_item_count: Joi.number(),
1359
+ has_next: Joi.boolean(),
1449
1360
  });
1450
1361
  }
1451
1362
 
1452
- /** @returns {GetShareCartLinkResponse} */
1453
- static GetShareCartLinkResponse() {
1363
+ /** @returns {Coupon} */
1364
+ static Coupon() {
1454
1365
  return Joi.object({
1455
- share_url: Joi.string().allow(""),
1456
- token: Joi.string().allow(""),
1366
+ max_discount_value: Joi.number(),
1367
+ coupon_code: Joi.string().allow(""),
1368
+ message: Joi.string().allow(""),
1369
+ is_applied: Joi.boolean(),
1370
+ coupon_type: Joi.string().allow("").allow(null),
1371
+ sub_title: Joi.string().allow(""),
1372
+ coupon_value: Joi.number(),
1373
+ is_applicable: Joi.boolean(),
1374
+ description: Joi.string().allow("").allow(null),
1375
+ minimum_cart_value: Joi.number(),
1376
+ title: Joi.string().allow(""),
1377
+ expires_on: Joi.string().allow(""),
1457
1378
  });
1458
1379
  }
1459
1380
 
1460
- /** @returns {GiftDetail} */
1461
- static GiftDetail() {
1381
+ /** @returns {GetCouponResponse} */
1382
+ static GetCouponResponse() {
1462
1383
  return Joi.object({
1463
- gift_message: Joi.string().allow(""),
1464
- is_gift_applied: Joi.boolean(),
1384
+ page: PosCartApplicationModel.PageCoupon(),
1385
+ available_coupon_list: Joi.array().items(
1386
+ PosCartApplicationModel.Coupon()
1387
+ ),
1465
1388
  });
1466
1389
  }
1467
1390
 
1468
- /** @returns {LoyaltyPoints} */
1469
- static LoyaltyPoints() {
1391
+ /** @returns {ApplyCouponRequest} */
1392
+ static ApplyCouponRequest() {
1470
1393
  return Joi.object({
1471
- applicable: Joi.number(),
1472
- description: Joi.string().allow(""),
1473
- is_applied: Joi.boolean(),
1474
- total: Joi.number(),
1394
+ coupon_code: Joi.string().allow("").required(),
1475
1395
  });
1476
1396
  }
1477
1397
 
1478
- /** @returns {OfferItem} */
1479
- static OfferItem() {
1398
+ /** @returns {OfferSeller} */
1399
+ static OfferSeller() {
1480
1400
  return Joi.object({
1481
- auto_applied: Joi.boolean(),
1482
- best: Joi.boolean(),
1483
- margin: Joi.number(),
1484
- price: PosCartApplicationModel.OfferPrice(),
1485
- quantity: Joi.number(),
1486
- total: Joi.number(),
1487
- type: Joi.string().allow(""),
1401
+ uid: Joi.number(),
1402
+ name: Joi.string().allow(""),
1488
1403
  });
1489
1404
  }
1490
1405
 
1491
1406
  /** @returns {OfferPrice} */
1492
1407
  static OfferPrice() {
1493
1408
  return Joi.object({
1494
- bulk_effective: Joi.number(),
1409
+ effective: Joi.number(),
1495
1410
  currency_code: Joi.string().allow(""),
1496
1411
  currency_symbol: Joi.string().allow(""),
1497
- effective: Joi.number(),
1498
1412
  marked: Joi.number(),
1413
+ bulk_effective: Joi.number(),
1499
1414
  });
1500
1415
  }
1501
1416
 
1502
- /** @returns {OfferSeller} */
1503
- static OfferSeller() {
1417
+ /** @returns {OfferItem} */
1418
+ static OfferItem() {
1504
1419
  return Joi.object({
1505
- name: Joi.string().allow(""),
1506
- uid: Joi.number(),
1420
+ margin: Joi.number(),
1421
+ quantity: Joi.number(),
1422
+ total: Joi.number(),
1423
+ best: Joi.boolean(),
1424
+ type: Joi.string().allow(""),
1425
+ price: PosCartApplicationModel.OfferPrice(),
1426
+ auto_applied: Joi.boolean(),
1507
1427
  });
1508
1428
  }
1509
1429
 
1510
- /** @returns {Ownership} */
1511
- static Ownership() {
1430
+ /** @returns {BulkPriceOffer} */
1431
+ static BulkPriceOffer() {
1512
1432
  return Joi.object({
1513
- payable_by: Joi.string().allow(""),
1514
- payable_category: Joi.string().allow(""),
1433
+ seller: PosCartApplicationModel.OfferSeller(),
1434
+ offers: Joi.array().items(PosCartApplicationModel.OfferItem()),
1515
1435
  });
1516
1436
  }
1517
1437
 
1518
- /** @returns {PageCoupon} */
1519
- static PageCoupon() {
1438
+ /** @returns {BulkPriceResponse} */
1439
+ static BulkPriceResponse() {
1520
1440
  return Joi.object({
1521
- current: Joi.number(),
1522
- has_next: Joi.boolean(),
1523
- has_previous: Joi.boolean(),
1524
- total: Joi.number(),
1525
- total_item_count: Joi.number(),
1441
+ data: Joi.array().items(PosCartApplicationModel.BulkPriceOffer()),
1526
1442
  });
1527
1443
  }
1528
1444
 
1529
- /** @returns {PaymentCouponValidate} */
1530
- static PaymentCouponValidate() {
1445
+ /** @returns {RewardPointRequest} */
1446
+ static RewardPointRequest() {
1531
1447
  return Joi.object({
1532
- coupon_validity: PosCartApplicationModel.CouponValidity(),
1533
- message: Joi.string().allow(""),
1534
- success: Joi.boolean().required(),
1448
+ points: Joi.boolean().required(),
1535
1449
  });
1536
1450
  }
1537
1451
 
1538
- /** @returns {PaymentSelectionLock} */
1539
- static PaymentSelectionLock() {
1452
+ /** @returns {GeoLocation} */
1453
+ static GeoLocation() {
1540
1454
  return Joi.object({
1541
- default_options: Joi.string().allow(""),
1542
- enabled: Joi.boolean(),
1543
- payment_identifier: Joi.string().allow(""),
1455
+ latitude: Joi.number(),
1456
+ longitude: Joi.number(),
1544
1457
  });
1545
1458
  }
1546
1459
 
1547
- /** @returns {PickupStoreDetail} */
1548
- static PickupStoreDetail() {
1460
+ /** @returns {Address} */
1461
+ static Address() {
1549
1462
  return Joi.object({
1550
- address: Joi.string().allow(""),
1551
- address_type: Joi.string().allow(""),
1463
+ meta: Joi.any(),
1464
+ country_code: Joi.string().allow(""),
1465
+ country_iso_code: Joi.string().allow(""),
1466
+ country: Joi.string().allow(""),
1467
+ id: Joi.string().allow(""),
1468
+ checkout_mode: Joi.string().allow(""),
1469
+ created_by_user_id: Joi.string().allow(""),
1552
1470
  area: Joi.string().allow(""),
1553
- area_code: Joi.string().allow(""),
1554
- area_code_slug: Joi.string().allow(""),
1471
+ is_active: Joi.boolean(),
1555
1472
  city: Joi.string().allow(""),
1556
- country: Joi.string().allow(""),
1473
+ address_type: Joi.string().allow(""),
1474
+ state: Joi.string().allow(""),
1475
+ is_default_address: Joi.boolean(),
1476
+ _custom_json: Joi.any(),
1477
+ country_phone_code: Joi.string().allow(""),
1478
+ area_code_slug: Joi.string().allow(""),
1479
+ area_code: Joi.string().allow(""),
1557
1480
  email: Joi.string().allow(""),
1558
- id: Joi.number(),
1559
- landmark: Joi.string().allow(""),
1481
+ google_map_point: Joi.any(),
1482
+ geo_location: PosCartApplicationModel.GeoLocation(),
1483
+ address: Joi.string().allow(""),
1484
+ tags: Joi.array().items(Joi.string().allow("")),
1560
1485
  name: Joi.string().allow(""),
1486
+ landmark: Joi.string().allow(""),
1487
+ user_id: Joi.string().allow(""),
1561
1488
  phone: Joi.string().allow(""),
1562
- pincode: Joi.number(),
1563
- state: Joi.string().allow(""),
1564
- store_code: Joi.string().allow(""),
1565
- uid: Joi.number(),
1566
1489
  });
1567
1490
  }
1568
1491
 
1569
- /** @returns {ProductAction} */
1570
- static ProductAction() {
1492
+ /** @returns {GetAddressesResponse} */
1493
+ static GetAddressesResponse() {
1571
1494
  return Joi.object({
1572
- query: PosCartApplicationModel.ActionQuery(),
1573
- type: Joi.string().allow(""),
1574
- url: Joi.string().allow(""),
1495
+ pii_masking: Joi.boolean(),
1496
+ address: Joi.array().items(PosCartApplicationModel.Address()),
1575
1497
  });
1576
1498
  }
1577
1499
 
1578
- /** @returns {ProductArticle} */
1579
- static ProductArticle() {
1500
+ /** @returns {SaveAddressResponse} */
1501
+ static SaveAddressResponse() {
1580
1502
  return Joi.object({
1581
- _custom_json: Joi.any(),
1582
- cart_item_meta: Joi.any(),
1583
- extra_meta: Joi.any(),
1584
- gift_card: Joi.any(),
1585
- identifier: Joi.any(),
1586
- is_gift_visible: Joi.boolean(),
1587
- meta: Joi.any(),
1588
- mto_quantity: Joi.number(),
1589
- parent_item_identifiers: Joi.any(),
1590
- price: PosCartApplicationModel.ArticlePriceInfo(),
1591
- product_group_tags: Joi.array().items(Joi.string().allow("")),
1592
- quantity: Joi.number(),
1593
- seller: PosCartApplicationModel.BaseInfo(),
1594
- seller_identifier: Joi.string().allow(""),
1595
- size: Joi.string().allow(""),
1596
- store: PosCartApplicationModel.StoreInfo(),
1597
- tags: Joi.array().items(Joi.string().allow("")),
1598
- type: Joi.string().allow(""),
1599
- uid: Joi.string().allow(""),
1503
+ is_default_address: Joi.boolean(),
1504
+ success: Joi.boolean(),
1505
+ id: Joi.string().allow(""),
1600
1506
  });
1601
1507
  }
1602
1508
 
1603
- /** @returns {ProductAvailability} */
1604
- static ProductAvailability() {
1509
+ /** @returns {UpdateAddressResponse} */
1510
+ static UpdateAddressResponse() {
1605
1511
  return Joi.object({
1606
- available_sizes: Joi.array().items(
1607
- PosCartApplicationModel.ProductAvailabilitySize()
1608
- ),
1609
- deliverable: Joi.boolean(),
1610
- is_valid: Joi.boolean(),
1611
- other_store_quantity: Joi.number(),
1612
- out_of_stock: Joi.boolean(),
1613
- sizes: Joi.array().items(Joi.string().allow("")),
1512
+ is_updated: Joi.boolean(),
1513
+ is_default_address: Joi.boolean(),
1514
+ success: Joi.boolean(),
1515
+ id: Joi.string().allow(""),
1614
1516
  });
1615
1517
  }
1616
1518
 
1617
- /** @returns {ProductAvailabilitySize} */
1618
- static ProductAvailabilitySize() {
1519
+ /** @returns {DeleteAddressResponse} */
1520
+ static DeleteAddressResponse() {
1619
1521
  return Joi.object({
1620
- display: Joi.string().allow(""),
1621
- is_available: Joi.boolean(),
1622
- value: Joi.string().allow(""),
1522
+ is_deleted: Joi.boolean(),
1523
+ id: Joi.string().allow(""),
1623
1524
  });
1624
1525
  }
1625
1526
 
1626
- /** @returns {ProductImage} */
1627
- static ProductImage() {
1527
+ /** @returns {SelectCartAddressRequest} */
1528
+ static SelectCartAddressRequest() {
1628
1529
  return Joi.object({
1629
- aspect_ratio: Joi.string().allow(""),
1630
- secure_url: Joi.string().allow(""),
1631
- url: Joi.string().allow(""),
1530
+ billing_address_id: Joi.string().allow(""),
1531
+ cart_id: Joi.string().allow(""),
1532
+ id: Joi.string().allow(""),
1632
1533
  });
1633
1534
  }
1634
1535
 
1635
- /** @returns {ProductPrice} */
1636
- static ProductPrice() {
1536
+ /** @returns {UpdateCartPaymentRequest} */
1537
+ static UpdateCartPaymentRequest() {
1637
1538
  return Joi.object({
1638
- add_on: Joi.number(),
1639
- currency_code: Joi.string().allow(""),
1640
- currency_symbol: Joi.string().allow(""),
1641
- effective: Joi.number(),
1642
- marked: Joi.number(),
1643
- selling: Joi.number(),
1539
+ payment_identifier: Joi.string().allow("").allow(null),
1540
+ aggregator_name: Joi.string().allow(""),
1541
+ address_id: Joi.string().allow(""),
1542
+ merchant_code: Joi.string().allow(""),
1543
+ payment_mode: Joi.string().allow(""),
1544
+ id: Joi.string().allow(""),
1644
1545
  });
1645
1546
  }
1646
1547
 
1647
- /** @returns {ProductPriceInfo} */
1648
- static ProductPriceInfo() {
1548
+ /** @returns {CouponValidity} */
1549
+ static CouponValidity() {
1649
1550
  return Joi.object({
1650
- base: PosCartApplicationModel.ProductPrice(),
1651
- converted: PosCartApplicationModel.ProductPrice(),
1551
+ discount: Joi.number(),
1552
+ valid: Joi.boolean(),
1553
+ next_validation_required: Joi.boolean().allow(null),
1554
+ display_message_en: Joi.string().allow("").allow(null),
1555
+ code: Joi.string().allow("").allow(null),
1556
+ title: Joi.string().allow(""),
1652
1557
  });
1653
1558
  }
1654
1559
 
1655
- /** @returns {PromiseFormatted} */
1656
- static PromiseFormatted() {
1560
+ /** @returns {PaymentCouponValidate} */
1561
+ static PaymentCouponValidate() {
1657
1562
  return Joi.object({
1658
- max: Joi.string().allow(""),
1659
- min: Joi.string().allow(""),
1563
+ message: Joi.string().allow(""),
1564
+ success: Joi.boolean().required(),
1565
+ coupon_validity: PosCartApplicationModel.CouponValidity(),
1660
1566
  });
1661
1567
  }
1662
1568
 
1663
- /** @returns {PromiseISOFormat} */
1664
- static PromiseISOFormat() {
1569
+ /** @returns {ShipmentResponse} */
1570
+ static ShipmentResponse() {
1665
1571
  return Joi.object({
1666
- max: Joi.string().allow(""),
1667
- min: Joi.string().allow(""),
1572
+ shipments: Joi.number(),
1573
+ fulfillment_type: Joi.string().allow(""),
1574
+ promise: PosCartApplicationModel.ShipmentPromise(),
1575
+ dp_id: Joi.string().allow("").allow(null),
1576
+ box_type: Joi.string().allow("").allow(null),
1577
+ dp_options: Joi.any().allow(null),
1578
+ items: Joi.array().items(PosCartApplicationModel.CartProductInfo()),
1579
+ order_type: Joi.string().allow(""),
1580
+ shipment_type: Joi.string().allow(""),
1581
+ fulfillment_id: Joi.number(),
1668
1582
  });
1669
1583
  }
1670
1584
 
1671
- /** @returns {PromiseTimestamp} */
1672
- static PromiseTimestamp() {
1585
+ /** @returns {CartShipmentsResponse} */
1586
+ static CartShipmentsResponse() {
1673
1587
  return Joi.object({
1674
- max: Joi.number(),
1675
- min: Joi.number(),
1588
+ comment: Joi.string().allow(""),
1589
+ restrict_checkout: Joi.boolean(),
1590
+ message: Joi.string().allow(""),
1591
+ buy_now: Joi.boolean(),
1592
+ coupon_text: Joi.string().allow(""),
1593
+ last_modified: Joi.string().allow(""),
1594
+ cart_id: Joi.number(),
1595
+ breakup_values: PosCartApplicationModel.CartBreakup(),
1596
+ is_valid: Joi.boolean(),
1597
+ delivery_charge_info: Joi.string().allow(""),
1598
+ id: Joi.string().allow(""),
1599
+ payment_selection_lock: PosCartApplicationModel.PaymentSelectionLock(),
1600
+ gstin: Joi.string().allow(""),
1601
+ shipments: Joi.array().items(PosCartApplicationModel.ShipmentResponse()),
1602
+ error: Joi.boolean(),
1603
+ delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1604
+ uid: Joi.string().allow(""),
1605
+ checkout_mode: Joi.string().allow(""),
1606
+ currency: PosCartApplicationModel.CartCurrency(),
1676
1607
  });
1677
1608
  }
1678
1609
 
1679
- /** @returns {PromoMeta} */
1680
- static PromoMeta() {
1610
+ /** @returns {UpdateCartShipmentItem} */
1611
+ static UpdateCartShipmentItem() {
1681
1612
  return Joi.object({
1682
- message: Joi.string().allow(""),
1613
+ quantity: Joi.number(),
1614
+ shipment_type: Joi.string().allow("").required(),
1615
+ article_uid: Joi.string().allow("").required(),
1683
1616
  });
1684
1617
  }
1685
1618
 
1686
- /** @returns {RawBreakup} */
1687
- static RawBreakup() {
1619
+ /** @returns {UpdateCartShipmentRequest} */
1620
+ static UpdateCartShipmentRequest() {
1688
1621
  return Joi.object({
1689
- cod_charge: Joi.number(),
1690
- convenience_fee: Joi.number(),
1691
- coupon: Joi.number(),
1692
- delivery_charge: Joi.number(),
1693
- discount: Joi.number(),
1694
- fynd_cash: Joi.number(),
1695
- gift_card: Joi.number(),
1696
- gst_charges: Joi.number(),
1697
- mrp_total: Joi.number(),
1698
- subtotal: Joi.number(),
1699
- total: Joi.number(),
1700
- vog: Joi.number(),
1701
- you_saved: Joi.number(),
1622
+ shipments: Joi.array()
1623
+ .items(PosCartApplicationModel.UpdateCartShipmentItem())
1624
+ .required(),
1702
1625
  });
1703
1626
  }
1704
1627
 
1705
- /** @returns {RewardPointRequest} */
1706
- static RewardPointRequest() {
1628
+ /** @returns {StaffCheckout} */
1629
+ static StaffCheckout() {
1707
1630
  return Joi.object({
1708
- points: Joi.boolean().required(),
1631
+ first_name: Joi.string().allow("").required(),
1632
+ user: Joi.string().allow("").required(),
1633
+ employee_code: Joi.string().allow(""),
1634
+ _id: Joi.string().allow("").required(),
1635
+ last_name: Joi.string().allow("").required(),
1709
1636
  });
1710
1637
  }
1711
1638
 
1712
- /** @returns {SaveAddressResponse} */
1713
- static SaveAddressResponse() {
1639
+ /** @returns {CustomerDetails} */
1640
+ static CustomerDetails() {
1714
1641
  return Joi.object({
1715
- id: Joi.string().allow(""),
1716
- is_default_address: Joi.boolean(),
1717
- success: Joi.boolean(),
1642
+ mobile: Joi.string().allow("").required(),
1643
+ name: Joi.string().allow(""),
1644
+ email: Joi.string().allow("").allow(null),
1718
1645
  });
1719
1646
  }
1720
1647
 
1721
- /** @returns {SelectCartAddressRequest} */
1722
- static SelectCartAddressRequest() {
1648
+ /** @returns {CartCheckoutCustomMeta} */
1649
+ static CartCheckoutCustomMeta() {
1650
+ return Joi.object({
1651
+ value: Joi.string().allow("").required(),
1652
+ key: Joi.string().allow("").required(),
1653
+ });
1654
+ }
1655
+
1656
+ /** @returns {Files} */
1657
+ static Files() {
1658
+ return Joi.object({
1659
+ values: Joi.array().items(Joi.string().allow("")).required(),
1660
+ key: Joi.string().allow("").required(),
1661
+ });
1662
+ }
1663
+
1664
+ /** @returns {CartPosCheckoutDetailRequest} */
1665
+ static CartPosCheckoutDetailRequest() {
1723
1666
  return Joi.object({
1667
+ meta: Joi.any(),
1668
+ pick_at_store_uid: Joi.number().allow(null),
1669
+ billing_address: Joi.any(),
1670
+ payment_auto_confirm: Joi.boolean(),
1671
+ callback_url: Joi.string().allow("").allow(null),
1672
+ delivery_address: Joi.any(),
1673
+ merchant_code: Joi.string().allow(""),
1674
+ order_type: Joi.string().allow("").required(),
1675
+ id: Joi.string().allow("").allow(null),
1676
+ staff: PosCartApplicationModel.StaffCheckout(),
1677
+ customer_details: Joi.any().allow(null),
1678
+ address_id: Joi.string().allow(""),
1679
+ aggregator: Joi.string().allow(""),
1680
+ payment_params: Joi.any().allow(null),
1724
1681
  billing_address_id: Joi.string().allow(""),
1725
- cart_id: Joi.string().allow(""),
1726
- id: Joi.string().allow(""),
1682
+ payment_mode: Joi.string().allow("").required(),
1683
+ pos: Joi.boolean(),
1684
+ extra_meta: Joi.any(),
1685
+ custom_meta: Joi.array().items(
1686
+ PosCartApplicationModel.CartCheckoutCustomMeta()
1687
+ ),
1688
+ payment_identifier: Joi.string().allow("").allow(null),
1689
+ ordering_store: Joi.number().allow(null),
1690
+ files: Joi.array().items(PosCartApplicationModel.Files()),
1727
1691
  });
1728
1692
  }
1729
1693
 
1730
- /** @returns {SharedCart} */
1731
- static SharedCart() {
1694
+ /** @returns {CheckCart} */
1695
+ static CheckCart() {
1732
1696
  return Joi.object({
1733
- breakup_values: PosCartApplicationModel.CartBreakup(),
1734
- buy_now: Joi.boolean(),
1735
- cart_id: Joi.number(),
1736
- checkout_mode: Joi.string().allow(""),
1737
1697
  comment: Joi.string().allow(""),
1698
+ delivery_charges: Joi.number(),
1738
1699
  coupon_text: Joi.string().allow(""),
1739
- currency: PosCartApplicationModel.CartCurrency(),
1740
- delivery_charge_info: Joi.string().allow(""),
1741
- delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1742
- gstin: Joi.string().allow(""),
1743
- id: Joi.string().allow(""),
1744
- is_valid: Joi.boolean(),
1745
- items: Joi.array().items(PosCartApplicationModel.CartProductInfo()),
1746
1700
  last_modified: Joi.string().allow(""),
1701
+ is_valid: Joi.boolean(),
1702
+ cod_message: Joi.string().allow(""),
1703
+ success: Joi.boolean(),
1704
+ id: Joi.string().allow(""),
1705
+ uid: Joi.string().allow(""),
1706
+ checkout_mode: Joi.string().allow(""),
1707
+ error_message: Joi.string().allow(""),
1708
+ store_emps: Joi.array().items(Joi.any()),
1709
+ store_code: Joi.string().allow(""),
1710
+ restrict_checkout: Joi.boolean(),
1747
1711
  message: Joi.string().allow(""),
1712
+ buy_now: Joi.boolean(),
1713
+ cod_available: Joi.boolean(),
1714
+ cart_id: Joi.number(),
1715
+ breakup_values: PosCartApplicationModel.CartBreakup(),
1716
+ order_id: Joi.string().allow(""),
1717
+ cod_charges: Joi.number(),
1718
+ delivery_charge_info: Joi.string().allow(""),
1719
+ user_type: Joi.string().allow(""),
1748
1720
  payment_selection_lock: PosCartApplicationModel.PaymentSelectionLock(),
1749
- restrict_checkout: Joi.boolean(),
1750
- shared_cart_details: PosCartApplicationModel.SharedCartDetails(),
1751
- uid: Joi.string().allow(""),
1752
- });
1753
- }
1754
-
1755
- /** @returns {SharedCartDetails} */
1756
- static SharedCartDetails() {
1757
- return Joi.object({
1758
- created_on: Joi.string().allow(""),
1759
- meta: Joi.any(),
1760
- source: Joi.any(),
1761
- token: Joi.string().allow(""),
1762
- user: Joi.any(),
1721
+ gstin: Joi.string().allow(""),
1722
+ delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1723
+ items: Joi.array().items(PosCartApplicationModel.CartProductInfo()),
1724
+ currency: PosCartApplicationModel.CartCurrency(),
1725
+ delivery_charge_order_value: Joi.number(),
1763
1726
  });
1764
1727
  }
1765
1728
 
1766
- /** @returns {SharedCartResponse} */
1767
- static SharedCartResponse() {
1729
+ /** @returns {CartCheckoutResponse} */
1730
+ static CartCheckoutResponse() {
1768
1731
  return Joi.object({
1769
- cart: PosCartApplicationModel.SharedCart(),
1770
- error: Joi.string().allow(""),
1732
+ cart: PosCartApplicationModel.CheckCart(),
1733
+ app_intercept_url: Joi.string().allow(""),
1734
+ callback_url: Joi.string().allow(""),
1735
+ message: Joi.string().allow(""),
1736
+ data: Joi.any(),
1737
+ order_id: Joi.string().allow(""),
1738
+ success: Joi.boolean(),
1739
+ payment_confirm_url: Joi.string().allow(""),
1771
1740
  });
1772
1741
  }
1773
1742
 
1774
- /** @returns {ShipmentPromise} */
1775
- static ShipmentPromise() {
1743
+ /** @returns {GiftDetail} */
1744
+ static GiftDetail() {
1776
1745
  return Joi.object({
1777
- formatted: PosCartApplicationModel.PromiseFormatted(),
1778
- iso: PosCartApplicationModel.PromiseISOFormat(),
1779
- timestamp: PosCartApplicationModel.PromiseTimestamp(),
1746
+ gift_message: Joi.string().allow(""),
1747
+ is_gift_applied: Joi.boolean(),
1780
1748
  });
1781
1749
  }
1782
1750
 
1783
- /** @returns {ShipmentResponse} */
1784
- static ShipmentResponse() {
1751
+ /** @returns {ArticleGiftDetail} */
1752
+ static ArticleGiftDetail() {
1785
1753
  return Joi.object({
1786
- box_type: Joi.string().allow("").allow(null),
1787
- dp_id: Joi.string().allow("").allow(null),
1788
- dp_options: Joi.any().allow(null),
1789
- fulfillment_id: Joi.number(),
1790
- fulfillment_type: Joi.string().allow(""),
1791
- items: Joi.array().items(PosCartApplicationModel.CartProductInfo()),
1792
- order_type: Joi.string().allow(""),
1793
- promise: PosCartApplicationModel.ShipmentPromise(),
1794
- shipment_type: Joi.string().allow(""),
1795
- shipments: Joi.number(),
1754
+ article_id: PosCartApplicationModel.GiftDetail(),
1796
1755
  });
1797
1756
  }
1798
1757
 
1799
- /** @returns {StaffCheckout} */
1800
- static StaffCheckout() {
1758
+ /** @returns {CartMetaRequest} */
1759
+ static CartMetaRequest() {
1801
1760
  return Joi.object({
1802
- _id: Joi.string().allow("").required(),
1803
- employee_code: Joi.string().allow(""),
1804
- first_name: Joi.string().allow("").required(),
1805
- last_name: Joi.string().allow("").required(),
1806
- user: Joi.string().allow("").required(),
1761
+ comment: Joi.string().allow(""),
1762
+ gstin: Joi.string().allow(""),
1763
+ pick_up_customer_details: Joi.any(),
1764
+ checkout_mode: Joi.string().allow(""),
1765
+ gift_details: PosCartApplicationModel.ArticleGiftDetail(),
1766
+ delivery_slots: Joi.any(),
1807
1767
  });
1808
1768
  }
1809
1769
 
1810
- /** @returns {StoreDetailsResponse} */
1811
- static StoreDetailsResponse() {
1770
+ /** @returns {CartMetaResponse} */
1771
+ static CartMetaResponse() {
1812
1772
  return Joi.object({
1813
- items: Joi.array().items(PosCartApplicationModel.PickupStoreDetail()),
1773
+ message: Joi.string().allow(""),
1774
+ is_valid: Joi.boolean(),
1814
1775
  });
1815
1776
  }
1816
1777
 
1817
- /** @returns {StoreInfo} */
1818
- static StoreInfo() {
1778
+ /** @returns {CartMetaMissingResponse} */
1779
+ static CartMetaMissingResponse() {
1819
1780
  return Joi.object({
1820
- name: Joi.string().allow(""),
1821
- store_code: Joi.string().allow(""),
1822
- uid: Joi.number(),
1781
+ errors: Joi.array().items(Joi.string().allow("")),
1823
1782
  });
1824
1783
  }
1825
1784
 
1826
- /** @returns {Tags} */
1827
- static Tags() {
1785
+ /** @returns {CartDeliveryModesResponse} */
1786
+ static CartDeliveryModesResponse() {
1828
1787
  return Joi.object({
1829
- tags: Joi.any(),
1788
+ available_modes: Joi.array().items(Joi.string().allow("")),
1789
+ pickup_stores: Joi.array().items(Joi.number()),
1830
1790
  });
1831
1791
  }
1832
1792
 
1833
- /** @returns {UpdateAddressResponse} */
1834
- static UpdateAddressResponse() {
1793
+ /** @returns {PickupStoreDetail} */
1794
+ static PickupStoreDetail() {
1835
1795
  return Joi.object({
1836
- id: Joi.string().allow(""),
1837
- is_default_address: Joi.boolean(),
1838
- is_updated: Joi.boolean(),
1839
- success: Joi.boolean(),
1796
+ city: Joi.string().allow(""),
1797
+ address_type: Joi.string().allow(""),
1798
+ address: Joi.string().allow(""),
1799
+ state: Joi.string().allow(""),
1800
+ store_code: Joi.string().allow(""),
1801
+ uid: Joi.number(),
1802
+ pincode: Joi.number(),
1803
+ area_code_slug: Joi.string().allow(""),
1804
+ area_code: Joi.string().allow(""),
1805
+ email: Joi.string().allow(""),
1806
+ name: Joi.string().allow(""),
1807
+ landmark: Joi.string().allow(""),
1808
+ area: Joi.string().allow(""),
1809
+ country: Joi.string().allow(""),
1810
+ phone: Joi.string().allow(""),
1811
+ id: Joi.number(),
1840
1812
  });
1841
1813
  }
1842
1814
 
1843
- /** @returns {UpdateCartDetailResponse} */
1844
- static UpdateCartDetailResponse() {
1815
+ /** @returns {StoreDetailsResponse} */
1816
+ static StoreDetailsResponse() {
1845
1817
  return Joi.object({
1846
- cart: PosCartApplicationModel.CartDetailResponse(),
1847
- message: Joi.string().allow(""),
1848
- success: Joi.boolean(),
1818
+ items: Joi.array().items(PosCartApplicationModel.PickupStoreDetail()),
1849
1819
  });
1850
1820
  }
1851
1821
 
1852
- /** @returns {UpdateCartPaymentRequest} */
1853
- static UpdateCartPaymentRequest() {
1822
+ /** @returns {GetShareCartLinkRequest} */
1823
+ static GetShareCartLinkRequest() {
1854
1824
  return Joi.object({
1855
- address_id: Joi.string().allow(""),
1856
- aggregator_name: Joi.string().allow(""),
1825
+ meta: Joi.any(),
1857
1826
  id: Joi.string().allow(""),
1858
- merchant_code: Joi.string().allow(""),
1859
- payment_identifier: Joi.string().allow("").allow(null),
1860
- payment_mode: Joi.string().allow(""),
1861
1827
  });
1862
1828
  }
1863
1829
 
1864
- /** @returns {UpdateCartRequest} */
1865
- static UpdateCartRequest() {
1830
+ /** @returns {GetShareCartLinkResponse} */
1831
+ static GetShareCartLinkResponse() {
1866
1832
  return Joi.object({
1867
- items: Joi.array().items(PosCartApplicationModel.UpdateProductCart()),
1868
- operation: Joi.string().allow("").required(),
1833
+ share_url: Joi.string().allow(""),
1834
+ token: Joi.string().allow(""),
1869
1835
  });
1870
1836
  }
1871
1837
 
1872
- /** @returns {UpdateCartShipmentItem} */
1873
- static UpdateCartShipmentItem() {
1838
+ /** @returns {SharedCartDetails} */
1839
+ static SharedCartDetails() {
1874
1840
  return Joi.object({
1875
- article_uid: Joi.string().allow("").required(),
1876
- quantity: Joi.number(),
1877
- shipment_type: Joi.string().allow("").required(),
1841
+ meta: Joi.any(),
1842
+ user: Joi.any(),
1843
+ created_on: Joi.string().allow(""),
1844
+ token: Joi.string().allow(""),
1845
+ source: Joi.any(),
1878
1846
  });
1879
1847
  }
1880
1848
 
1881
- /** @returns {UpdateCartShipmentRequest} */
1882
- static UpdateCartShipmentRequest() {
1849
+ /** @returns {SharedCart} */
1850
+ static SharedCart() {
1883
1851
  return Joi.object({
1884
- shipments: Joi.array()
1885
- .items(PosCartApplicationModel.UpdateCartShipmentItem())
1886
- .required(),
1852
+ comment: Joi.string().allow(""),
1853
+ coupon_text: Joi.string().allow(""),
1854
+ last_modified: Joi.string().allow(""),
1855
+ shared_cart_details: PosCartApplicationModel.SharedCartDetails(),
1856
+ is_valid: Joi.boolean(),
1857
+ id: Joi.string().allow(""),
1858
+ uid: Joi.string().allow(""),
1859
+ checkout_mode: Joi.string().allow(""),
1860
+ restrict_checkout: Joi.boolean(),
1861
+ message: Joi.string().allow(""),
1862
+ buy_now: Joi.boolean(),
1863
+ cart_id: Joi.number(),
1864
+ breakup_values: PosCartApplicationModel.CartBreakup(),
1865
+ delivery_charge_info: Joi.string().allow(""),
1866
+ payment_selection_lock: PosCartApplicationModel.PaymentSelectionLock(),
1867
+ gstin: Joi.string().allow(""),
1868
+ delivery_promise: PosCartApplicationModel.ShipmentPromise(),
1869
+ items: Joi.array().items(PosCartApplicationModel.CartProductInfo()),
1870
+ currency: PosCartApplicationModel.CartCurrency(),
1887
1871
  });
1888
1872
  }
1889
1873
 
1890
- /** @returns {UpdateProductCart} */
1891
- static UpdateProductCart() {
1874
+ /** @returns {SharedCartResponse} */
1875
+ static SharedCartResponse() {
1892
1876
  return Joi.object({
1893
- _custom_json: Joi.any(),
1894
- article_id: Joi.string().allow(""),
1895
- extra_meta: Joi.any(),
1896
- identifiers: PosCartApplicationModel.CartProductIdentifer().required(),
1897
- item_id: Joi.number(),
1898
- item_index: Joi.number(),
1899
- item_size: Joi.string().allow(""),
1900
- meta: Joi.any(),
1901
- parent_item_identifiers: Joi.any(),
1902
- quantity: Joi.number(),
1877
+ error: Joi.string().allow(""),
1878
+ cart: PosCartApplicationModel.SharedCart(),
1903
1879
  });
1904
1880
  }
1905
1881
  }