@gofynd/fdk-client-javascript 1.4.15-beta.6 → 1.4.16-beta.1
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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/sdk/application/ApplicationClient.d.ts +2 -0
- package/sdk/application/ApplicationClient.js +2 -0
- package/sdk/application/Cart/CartApplicationClient.d.ts +68 -48
- package/sdk/application/Cart/CartApplicationClient.js +130 -27
- package/sdk/application/Catalog/CatalogApplicationClient.d.ts +59 -58
- package/sdk/application/Catalog/CatalogApplicationClient.js +30 -29
- package/sdk/application/Common/CommonApplicationClient.d.ts +2 -2
- package/sdk/application/Common/CommonApplicationClient.js +1 -1
- package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +20 -20
- package/sdk/application/Configuration/ConfigurationApplicationClient.js +10 -10
- package/sdk/application/Content/ContentApplicationClient.d.ts +19 -30
- package/sdk/application/Content/ContentApplicationClient.js +40 -60
- package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +8 -8
- package/sdk/application/FileStorage/FileStorageApplicationClient.js +7 -7
- package/sdk/application/Finance/FinanceApplicationClient.d.ts +29 -0
- package/sdk/application/Finance/FinanceApplicationClient.js +126 -0
- package/sdk/application/Lead/LeadApplicationClient.d.ts +2 -2
- package/sdk/application/Lead/LeadApplicationClient.js +1 -1
- package/sdk/application/Logistic/LogisticApplicationClient.d.ts +35 -15
- package/sdk/application/Logistic/LogisticApplicationClient.js +118 -8
- package/sdk/application/Order/OrderApplicationClient.d.ts +22 -12
- package/sdk/application/Order/OrderApplicationClient.js +62 -8
- package/sdk/application/Payment/PaymentApplicationClient.d.ts +87 -87
- package/sdk/application/Payment/PaymentApplicationClient.js +65 -46
- package/sdk/application/Rewards/RewardsApplicationClient.d.ts +13 -13
- package/sdk/application/Rewards/RewardsApplicationClient.js +7 -7
- package/sdk/application/Theme/ThemeApplicationClient.d.ts +2 -2
- package/sdk/application/Theme/ThemeApplicationClient.js +4 -2
- package/sdk/application/User/UserApplicationClient.d.ts +10 -10
- package/sdk/application/User/UserApplicationClient.js +6 -6
- package/sdk/application/Webhook/WebhookApplicationClient.d.ts +4 -4
- package/sdk/application/Webhook/WebhookApplicationClient.js +3 -3
- package/sdk/partner/FileStorage/FileStoragePartnerClient.d.ts +86 -12
- package/sdk/partner/FileStorage/FileStoragePartnerClient.js +582 -24
- package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +116 -19
- package/sdk/partner/FileStorage/FileStoragePartnerModel.js +121 -14
- package/sdk/partner/FileStorage/FileStoragePartnerValidator.d.ts +8 -1
- package/sdk/partner/FileStorage/FileStoragePartnerValidator.js +51 -4
- package/sdk/partner/Lead/LeadPartnerClient.d.ts +2 -2
- package/sdk/partner/Lead/LeadPartnerClient.js +2 -2
- package/sdk/partner/Lead/LeadPartnerModel.d.ts +5 -5
- package/sdk/partner/Lead/LeadPartnerModel.js +15 -15
- package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +126 -20
- package/sdk/partner/Logistics/LogisticsPartnerClient.js +970 -20
- package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +1200 -167
- package/sdk/partner/Logistics/LogisticsPartnerModel.js +571 -160
- package/sdk/partner/Logistics/LogisticsPartnerValidator.d.ts +10 -0
- package/sdk/partner/Logistics/LogisticsPartnerValidator.js +121 -7
- package/sdk/partner/Theme/ThemePartnerClient.d.ts +8 -10
- package/sdk/partner/Theme/ThemePartnerClient.js +14 -16
- package/sdk/partner/Theme/ThemePartnerModel.d.ts +96 -37
- package/sdk/partner/Theme/ThemePartnerModel.js +90 -36
- package/sdk/partner/Theme/ThemePartnerValidator.js +4 -4
- package/sdk/partner/Webhook/WebhookPartnerClient.d.ts +28 -18
- package/sdk/partner/Webhook/WebhookPartnerClient.js +103 -18
- package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +612 -179
- package/sdk/partner/Webhook/WebhookPartnerModel.js +253 -150
- package/sdk/partner/Webhook/WebhookPartnerValidator.d.ts +1 -0
- package/sdk/partner/Webhook/WebhookPartnerValidator.js +11 -3
- package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.d.ts +5 -4
- package/sdk/platform/Analytics/AnalyticsPlatformApplicationClient.js +14 -8
- package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +59 -9
- package/sdk/platform/Analytics/AnalyticsPlatformModel.js +40 -4
- package/sdk/platform/AuditTrail/AuditTrailPlatformClient.d.ts +2 -32
- package/sdk/platform/AuditTrail/AuditTrailPlatformClient.js +3 -243
- package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +11 -130
- package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +12 -152
- package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.d.ts +1 -39
- package/sdk/platform/AuditTrail/AuditTrailPlatformValidator.js +0 -35
- package/sdk/platform/Billing/BillingPlatformClient.d.ts +12 -12
- package/sdk/platform/Billing/BillingPlatformClient.js +15 -15
- package/sdk/platform/Billing/BillingPlatformModel.d.ts +443 -388
- package/sdk/platform/Billing/BillingPlatformModel.js +280 -263
- package/sdk/platform/Billing/BillingPlatformValidator.d.ts +16 -18
- package/sdk/platform/Billing/BillingPlatformValidator.js +8 -9
- package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +134 -103
- package/sdk/platform/Cart/CartPlatformApplicationClient.js +419 -115
- package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +121 -65
- package/sdk/platform/Cart/CartPlatformApplicationValidator.js +109 -44
- package/sdk/platform/Cart/CartPlatformModel.d.ts +5039 -1300
- package/sdk/platform/Cart/CartPlatformModel.js +1976 -1217
- package/sdk/platform/Catalog/CatalogPlatformApplicationClient.d.ts +209 -183
- package/sdk/platform/Catalog/CatalogPlatformApplicationClient.js +452 -395
- package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.d.ts +185 -142
- package/sdk/platform/Catalog/CatalogPlatformApplicationValidator.js +96 -78
- package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +154 -117
- package/sdk/platform/Catalog/CatalogPlatformClient.js +292 -172
- package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +6941 -2203
- package/sdk/platform/Catalog/CatalogPlatformModel.js +3224 -1687
- package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +72 -31
- package/sdk/platform/Catalog/CatalogPlatformValidator.js +50 -24
- package/sdk/platform/Common/CommonPlatformClient.d.ts +3 -2
- package/sdk/platform/Common/CommonPlatformClient.js +3 -2
- package/sdk/platform/Common/CommonPlatformModel.d.ts +9 -9
- package/sdk/platform/Common/CommonPlatformModel.js +6 -6
- package/sdk/platform/Communication/CommunicationPlatformApplicationClient.d.ts +16 -17
- package/sdk/platform/Communication/CommunicationPlatformApplicationClient.js +16 -17
- package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.d.ts +8 -8
- package/sdk/platform/Communication/CommunicationPlatformApplicationValidator.js +8 -8
- package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +43 -33
- package/sdk/platform/Communication/CommunicationPlatformModel.js +38 -34
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.d.ts +46 -42
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformClient.js +47 -43
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +223 -223
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +210 -212
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.d.ts +12 -12
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformValidator.js +12 -12
- package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.d.ts +46 -33
- package/sdk/platform/Configuration/ConfigurationPlatformApplicationClient.js +67 -54
- package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.d.ts +18 -18
- package/sdk/platform/Configuration/ConfigurationPlatformApplicationValidator.js +18 -18
- package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +45 -24
- package/sdk/platform/Configuration/ConfigurationPlatformClient.js +134 -30
- package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +283 -124
- package/sdk/platform/Configuration/ConfigurationPlatformModel.js +219 -94
- package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +37 -9
- package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +27 -8
- package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +124 -141
- package/sdk/platform/Content/ContentPlatformApplicationClient.js +449 -422
- package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +179 -141
- package/sdk/platform/Content/ContentPlatformApplicationValidator.js +168 -130
- package/sdk/platform/Content/ContentPlatformClient.d.ts +142 -106
- package/sdk/platform/Content/ContentPlatformClient.js +523 -336
- package/sdk/platform/Content/ContentPlatformModel.d.ts +1241 -395
- package/sdk/platform/Content/ContentPlatformModel.js +521 -390
- package/sdk/platform/Content/ContentPlatformValidator.d.ts +168 -117
- package/sdk/platform/Content/ContentPlatformValidator.js +162 -108
- package/sdk/platform/Discount/DiscountPlatformClient.d.ts +14 -12
- package/sdk/platform/Discount/DiscountPlatformClient.js +14 -12
- package/sdk/platform/Discount/DiscountPlatformModel.d.ts +13 -13
- package/sdk/platform/Discount/DiscountPlatformModel.js +12 -12
- package/sdk/platform/Discount/DiscountPlatformValidator.d.ts +2 -2
- package/sdk/platform/Discount/DiscountPlatformValidator.js +2 -2
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.d.ts +94 -36
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationClient.js +462 -60
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.d.ts +62 -15
- package/sdk/platform/FileStorage/FileStoragePlatformApplicationValidator.js +75 -13
- package/sdk/platform/FileStorage/FileStoragePlatformClient.d.ts +19 -19
- package/sdk/platform/FileStorage/FileStoragePlatformClient.js +21 -21
- package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +370 -101
- package/sdk/platform/FileStorage/FileStoragePlatformModel.js +313 -84
- package/sdk/platform/FileStorage/FileStoragePlatformValidator.d.ts +6 -6
- package/sdk/platform/FileStorage/FileStoragePlatformValidator.js +6 -6
- package/sdk/platform/Lead/LeadPlatformClient.d.ts +2 -2
- package/sdk/platform/Lead/LeadPlatformClient.js +2 -2
- package/sdk/platform/Lead/LeadPlatformModel.d.ts +5 -5
- package/sdk/platform/Lead/LeadPlatformModel.js +16 -16
- package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +17 -6
- package/sdk/platform/Order/OrderPlatformApplicationClient.js +85 -7
- package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +95 -24
- package/sdk/platform/Order/OrderPlatformApplicationValidator.js +39 -19
- package/sdk/platform/Order/OrderPlatformClient.d.ts +153 -96
- package/sdk/platform/Order/OrderPlatformClient.js +416 -198
- package/sdk/platform/Order/OrderPlatformModel.d.ts +7602 -1269
- package/sdk/platform/Order/OrderPlatformModel.js +3926 -1269
- package/sdk/platform/Order/OrderPlatformValidator.d.ts +270 -109
- package/sdk/platform/Order/OrderPlatformValidator.js +135 -77
- package/sdk/platform/Partner/PartnerPlatformApplicationClient.d.ts +6 -4
- package/sdk/platform/Partner/PartnerPlatformApplicationClient.js +9 -7
- package/sdk/platform/Partner/PartnerPlatformModel.d.ts +9 -9
- package/sdk/platform/Partner/PartnerPlatformModel.js +8 -8
- package/sdk/platform/Payment/PaymentPlatformApplicationClient.d.ts +93 -105
- package/sdk/platform/Payment/PaymentPlatformApplicationClient.js +129 -141
- package/sdk/platform/Payment/PaymentPlatformApplicationValidator.d.ts +48 -48
- package/sdk/platform/Payment/PaymentPlatformApplicationValidator.js +48 -48
- package/sdk/platform/Payment/PaymentPlatformClient.d.ts +20 -20
- package/sdk/platform/Payment/PaymentPlatformClient.js +20 -20
- package/sdk/platform/Payment/PaymentPlatformModel.d.ts +333 -319
- package/sdk/platform/Payment/PaymentPlatformModel.js +288 -278
- package/sdk/platform/Payment/PaymentPlatformValidator.d.ts +8 -8
- package/sdk/platform/Payment/PaymentPlatformValidator.js +8 -8
- package/sdk/platform/PlatformClient.d.ts +0 -2
- package/sdk/platform/PlatformClient.js +0 -4
- package/sdk/platform/Rewards/RewardsPlatformApplicationClient.d.ts +2 -2
- package/sdk/platform/Rewards/RewardsPlatformApplicationClient.js +2 -2
- package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.d.ts +2 -2
- package/sdk/platform/Rewards/RewardsPlatformApplicationValidator.js +2 -2
- package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +9 -9
- package/sdk/platform/Rewards/RewardsPlatformModel.js +8 -8
- package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +48 -38
- package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +134 -43
- package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.d.ts +46 -17
- package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationValidator.js +34 -14
- package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +38 -44
- package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +56 -62
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1842 -609
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +886 -554
- package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +42 -46
- package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +26 -28
- package/sdk/platform/Share/SharePlatformApplicationClient.d.ts +2 -2
- package/sdk/platform/Share/SharePlatformApplicationClient.js +2 -2
- package/sdk/platform/Share/SharePlatformModel.d.ts +36 -5
- package/sdk/platform/Share/SharePlatformModel.js +27 -4
- package/sdk/platform/Theme/ThemePlatformApplicationClient.d.ts +3 -3
- package/sdk/platform/Theme/ThemePlatformApplicationClient.js +8 -4
- package/sdk/platform/Theme/ThemePlatformApplicationValidator.d.ts +5 -0
- package/sdk/platform/Theme/ThemePlatformApplicationValidator.js +2 -0
- package/sdk/platform/Theme/ThemePlatformModel.d.ts +37 -11
- package/sdk/platform/Theme/ThemePlatformModel.js +33 -15
- package/sdk/platform/User/UserPlatformApplicationClient.d.ts +12 -12
- package/sdk/platform/User/UserPlatformApplicationClient.js +12 -12
- package/sdk/platform/User/UserPlatformApplicationValidator.d.ts +2 -2
- package/sdk/platform/User/UserPlatformApplicationValidator.js +2 -2
- package/sdk/platform/User/UserPlatformModel.d.ts +21 -21
- package/sdk/platform/User/UserPlatformModel.js +23 -23
- package/sdk/platform/Webhook/WebhookPlatformClient.d.ts +25 -78
- package/sdk/platform/Webhook/WebhookPlatformClient.js +75 -470
- package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +720 -427
- package/sdk/platform/Webhook/WebhookPlatformModel.js +410 -386
- package/sdk/platform/Webhook/WebhookPlatformValidator.d.ts +10 -55
- package/sdk/platform/Webhook/WebhookPlatformValidator.js +12 -72
- package/sdk/platform/index.d.ts +0 -1
- package/sdk/platform/index.js +0 -2
- package/sdk/public/Configuration/ConfigurationPublicClient.d.ts +3 -2
- package/sdk/public/Configuration/ConfigurationPublicClient.js +6 -5
- package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +9 -9
- package/sdk/public/Configuration/ConfigurationPublicModel.js +6 -6
- package/sdk/public/Content/ContentPublicClient.d.ts +112 -2
- package/sdk/public/Content/ContentPublicClient.js +895 -8
- package/sdk/public/Content/ContentPublicModel.d.ts +549 -3
- package/sdk/public/Content/ContentPublicModel.js +649 -3
- package/sdk/public/Content/ContentPublicValidator.d.ts +69 -3
- package/sdk/public/Content/ContentPublicValidator.js +88 -2
- package/sdk/public/Webhook/WebhookPublicClient.d.ts +8 -8
- package/sdk/public/Webhook/WebhookPublicClient.js +8 -8
- package/sdk/public/Webhook/WebhookPublicModel.d.ts +21 -21
- package/sdk/public/Webhook/WebhookPublicModel.js +15 -15
- package/sdk/public/Webhook/WebhookPublicValidator.d.ts +4 -4
- package/sdk/public/Webhook/WebhookPublicValidator.js +4 -4
- package/sdk/platform/Finance/FinancePlatformClient.d.ts +0 -320
- package/sdk/platform/Finance/FinancePlatformClient.js +0 -2333
- package/sdk/platform/Finance/FinancePlatformModel.d.ts +0 -2890
- package/sdk/platform/Finance/FinancePlatformModel.js +0 -2148
- package/sdk/platform/Finance/FinancePlatformValidator.d.ts +0 -284
- package/sdk/platform/Finance/FinancePlatformValidator.js +0 -354
|
@@ -2,65 +2,74 @@ const Joi = require("joi");
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @typedef CouponDateMeta
|
|
5
|
-
* @property {string} [modified_on]
|
|
6
|
-
* @property {string} [created_on]
|
|
5
|
+
* @property {string} [modified_on] - Date time format when the coupon last modified
|
|
6
|
+
* @property {string} [created_on] - Date time format when the coupon created
|
|
7
|
+
* @property {string} [approved_on] - Date time format when the coupon approved
|
|
8
|
+
* @property {string} [rejected_on] - Date time format when the coupon rejected
|
|
9
|
+
* @property {string} [reviewed_on] - Date time format when the coupon reviewed
|
|
7
10
|
*/
|
|
8
11
|
|
|
9
12
|
/**
|
|
10
13
|
* @typedef Ownership
|
|
11
|
-
* @property {string} payable_category
|
|
12
|
-
* @property {string} payable_by
|
|
14
|
+
* @property {string} payable_category - Coupon amount payable category
|
|
15
|
+
* @property {string} [payable_by] - Coupon amount bearable party
|
|
13
16
|
*/
|
|
14
17
|
|
|
15
18
|
/**
|
|
16
19
|
* @typedef CouponAuthor
|
|
17
|
-
* @property {string} [created_by]
|
|
18
|
-
* @property {string} [modified_by]
|
|
20
|
+
* @property {string} [created_by] - The user id of user, who has created the coupon
|
|
21
|
+
* @property {string} [modified_by] - The user id of user, who has modified the coupon
|
|
22
|
+
* @property {string} [approved_by] - The user id of user, who has approved the coupon
|
|
23
|
+
* @property {string} [rejected_by] - The user id of user, who has rejected the coupon
|
|
24
|
+
* @property {string} [reviewed_by] - The user id of user, who has reviewed the coupon
|
|
19
25
|
*/
|
|
20
26
|
|
|
21
27
|
/**
|
|
22
28
|
* @typedef State
|
|
23
|
-
* @property {boolean} [is_archived]
|
|
24
|
-
* @property {boolean} [is_display]
|
|
25
|
-
* @property {boolean} [is_public]
|
|
29
|
+
* @property {boolean} [is_archived] - Publish or unpublish the coupon
|
|
30
|
+
* @property {boolean} [is_display] - Coupon needs to display or not
|
|
31
|
+
* @property {boolean} [is_public] - Coupon is publicaly available or not
|
|
26
32
|
*/
|
|
27
33
|
|
|
28
34
|
/**
|
|
29
35
|
* @typedef PaymentAllowValue
|
|
30
|
-
* @property {number} [max]
|
|
36
|
+
* @property {number} [max] - Maximum value need to allow for payment
|
|
31
37
|
*/
|
|
32
38
|
|
|
33
39
|
/**
|
|
34
40
|
* @typedef PaymentModes
|
|
35
|
-
* @property {string[]} [codes]
|
|
36
|
-
*
|
|
37
|
-
* @property {string[]} [
|
|
38
|
-
* @property {string[]} [
|
|
41
|
+
* @property {string[]} [codes] - Identifier used by payment gateway for a given
|
|
42
|
+
* payment mode, e.g. NB_ICIC, PAYTM
|
|
43
|
+
* @property {string[]} [iins] - Debit/Credit card prefix (first 6 digit)
|
|
44
|
+
* @property {string[]} [types] - Card type, e.g. Credit, Debit
|
|
45
|
+
* @property {string[]} [networks] - Credit/Debit card issuer, e.g. VISA,
|
|
46
|
+
* MASTERCARD, RUPAY
|
|
39
47
|
* @property {PaymentAllowValue} [uses]
|
|
40
48
|
*/
|
|
41
49
|
|
|
42
50
|
/**
|
|
43
51
|
* @typedef PriceRange
|
|
44
|
-
* @property {number} [max]
|
|
45
|
-
* @property {number} [min]
|
|
52
|
+
* @property {number} [max] - Max price valid for article in coupon
|
|
53
|
+
* @property {number} [min] - Min price valid for article in coupon
|
|
46
54
|
*/
|
|
47
55
|
|
|
48
56
|
/**
|
|
49
57
|
* @typedef PostOrder
|
|
50
|
-
* @property {boolean} [cancellation_allowed]
|
|
51
|
-
* @property {boolean} [return_allowed]
|
|
58
|
+
* @property {boolean} [cancellation_allowed] - Cancellation allowed in coupon
|
|
59
|
+
* @property {boolean} [return_allowed] - Return allowed in coupon
|
|
52
60
|
*/
|
|
53
61
|
|
|
54
62
|
/**
|
|
55
63
|
* @typedef BulkBundleRestriction
|
|
56
|
-
* @property {boolean} multi_store_allowed
|
|
64
|
+
* @property {boolean} multi_store_allowed - Multi store allowed in bulk bundle
|
|
65
|
+
* coupon or not
|
|
57
66
|
*/
|
|
58
67
|
|
|
59
68
|
/**
|
|
60
69
|
* @typedef UsesRemaining
|
|
61
|
-
* @property {number} [user]
|
|
62
|
-
* @property {number} [total]
|
|
63
|
-
* @property {number} [app]
|
|
70
|
+
* @property {number} [user] - Define total coupon count per user
|
|
71
|
+
* @property {number} [total] - Define total coupon counts
|
|
72
|
+
* @property {number} [app] - Define coupon counts associated with application id
|
|
64
73
|
*/
|
|
65
74
|
|
|
66
75
|
/**
|
|
@@ -71,115 +80,129 @@ const Joi = require("joi");
|
|
|
71
80
|
|
|
72
81
|
/**
|
|
73
82
|
* @typedef Restrictions
|
|
74
|
-
* @property {
|
|
83
|
+
* @property {PaymentModes} [payments]
|
|
75
84
|
* @property {string} [user_type]
|
|
76
85
|
* @property {PriceRange} [price_range]
|
|
77
|
-
* @property {string[]} [platforms]
|
|
86
|
+
* @property {string[]} [platforms] - List of platform on which coupon allowed
|
|
87
|
+
* like web, android
|
|
78
88
|
* @property {PostOrder} [post_order]
|
|
79
89
|
* @property {BulkBundleRestriction} [bulk_bundle]
|
|
80
|
-
* @property {number[]} [user_groups]
|
|
81
|
-
* @property {boolean} [coupon_allowed]
|
|
90
|
+
* @property {number[]} [user_groups] - List of user group on which coupon allowed
|
|
91
|
+
* @property {boolean} [coupon_allowed] - Allow applying normal coupon if bulk
|
|
92
|
+
* coupon is applied
|
|
82
93
|
* @property {UsesRestriction} [uses]
|
|
83
|
-
* @property {number[]} [ordering_stores]
|
|
94
|
+
* @property {number[]} [ordering_stores] - List of store id on which coupon allowed
|
|
84
95
|
*/
|
|
85
96
|
|
|
86
97
|
/**
|
|
87
98
|
* @typedef Validation
|
|
88
|
-
* @property {string[]} [app_id]
|
|
89
|
-
* @property {boolean} [anonymous]
|
|
90
|
-
* @property {string} [user_registered_after]
|
|
99
|
+
* @property {string[]} [app_id] - List of sales channel's application id
|
|
100
|
+
* @property {boolean} [anonymous] - Coupon applicable for guest user or not
|
|
101
|
+
* @property {string} [user_registered_after] - Coupon applicable for user which
|
|
102
|
+
* is registered after Date Format
|
|
91
103
|
*/
|
|
92
104
|
|
|
93
105
|
/**
|
|
94
106
|
* @typedef CouponAction
|
|
95
|
-
* @property {string} [action_date]
|
|
96
|
-
* @property {string} [txn_mode]
|
|
107
|
+
* @property {string} [action_date] - Coupon transaction mode's date time format
|
|
108
|
+
* @property {string} [txn_mode] - Coupon transaction mode like cash, coupon etc
|
|
97
109
|
*/
|
|
98
110
|
|
|
99
111
|
/**
|
|
100
112
|
* @typedef CouponSchedule
|
|
101
|
-
* @property {string} [end]
|
|
102
|
-
* @property {string} [start]
|
|
103
|
-
* @property {Object[]} [next_schedule]
|
|
104
|
-
*
|
|
105
|
-
* @property {
|
|
113
|
+
* @property {string} [end] - The end date of coupon
|
|
114
|
+
* @property {string} [start] - The start date of coupon
|
|
115
|
+
* @property {Object[]} [next_schedule] - List of date time, which we will
|
|
116
|
+
* schedule the promotion
|
|
117
|
+
* @property {string} [cron] - Schedule the cron to run your job periodically
|
|
118
|
+
* @property {string} [status] - Coupon status like draft, review
|
|
119
|
+
* @property {number} [duration] - Time in minutes for execution
|
|
106
120
|
*/
|
|
107
121
|
|
|
108
122
|
/**
|
|
109
123
|
* @typedef Rule
|
|
110
|
-
* @property {number} [key]
|
|
111
|
-
*
|
|
112
|
-
* @property {number} [
|
|
113
|
-
* @property {number} [
|
|
114
|
-
* @property {number} [
|
|
124
|
+
* @property {number} [key] - Key defines the number of product should be buy
|
|
125
|
+
* for applicability of cart
|
|
126
|
+
* @property {number} [value] - Value defines discount percentage in coupon
|
|
127
|
+
* @property {number} [max] - Max defines maximum number of discount amount in coupon
|
|
128
|
+
* @property {number} [discount_qty] - Discount_qty defines free quantity as
|
|
129
|
+
* discount in coupon
|
|
130
|
+
* @property {number} [min] - Min defines minimum number of discount amount in coupon
|
|
115
131
|
*/
|
|
116
132
|
|
|
117
133
|
/**
|
|
118
134
|
* @typedef DisplayMetaDict
|
|
119
|
-
* @property {string} [title]
|
|
120
|
-
* @property {string} [subtitle]
|
|
135
|
+
* @property {string} [title] - Coupon title which is used to display
|
|
136
|
+
* @property {string} [subtitle] - Coupon sub title which is used to display
|
|
121
137
|
*/
|
|
122
138
|
|
|
123
139
|
/**
|
|
124
140
|
* @typedef DisplayMeta
|
|
125
|
-
* @property {string} [title]
|
|
141
|
+
* @property {string} [title] - Coupon title which is used to display
|
|
126
142
|
* @property {DisplayMetaDict} [auto]
|
|
127
143
|
* @property {DisplayMetaDict} [apply]
|
|
128
144
|
* @property {DisplayMetaDict} [remove]
|
|
129
|
-
* @property {string} [subtitle]
|
|
130
|
-
* @property {string} [description]
|
|
145
|
+
* @property {string} [subtitle] - Coupon sub title which is used to display
|
|
146
|
+
* @property {string} [description] - Detail about the offers in coupon
|
|
131
147
|
*/
|
|
132
148
|
|
|
133
149
|
/**
|
|
134
150
|
* @typedef Identifier
|
|
135
|
-
* @property {number[]} [brand_id]
|
|
136
|
-
* @property {string[]} [email_domain]
|
|
137
|
-
* @property {number[]} [company_id]
|
|
138
|
-
* @property {number[]} [store_id]
|
|
139
|
-
* @property {string[]} [collection_id]
|
|
140
|
-
* @property {number[]} [item_id]
|
|
141
|
-
* @property {string[]} [user_id]
|
|
142
|
-
* @property {number[]} [category_id]
|
|
143
|
-
* @property {string[]} [article_id]
|
|
144
|
-
* @property {number[]} [exclude_brand_id]
|
|
151
|
+
* @property {number[]} [brand_id] - List of brand id available for coupon
|
|
152
|
+
* @property {string[]} [email_domain] - List of email domain available for coupon
|
|
153
|
+
* @property {number[]} [company_id] - List of company id available for coupon
|
|
154
|
+
* @property {number[]} [store_id] - List of store id available for coupon
|
|
155
|
+
* @property {string[]} [collection_id] - List of collection id available for coupon
|
|
156
|
+
* @property {number[]} [item_id] - List of item id available for coupon
|
|
157
|
+
* @property {string[]} [user_id] - List of user id available for coupon
|
|
158
|
+
* @property {number[]} [category_id] - List of category id available for coupon
|
|
159
|
+
* @property {string[]} [article_id] - List of article id available for coupon
|
|
160
|
+
* @property {number[]} [exclude_brand_id] - List of brand id should not be
|
|
161
|
+
* available for coupon
|
|
145
162
|
*/
|
|
146
163
|
|
|
147
164
|
/**
|
|
148
165
|
* @typedef Validity
|
|
149
|
-
* @property {number} [priority]
|
|
166
|
+
* @property {number} [priority] - Priority of coupon to show in list
|
|
150
167
|
*/
|
|
151
168
|
|
|
152
169
|
/**
|
|
153
170
|
* @typedef RuleDefinition
|
|
154
|
-
* @property {string} [currency_code]
|
|
155
|
-
* @property {boolean} [auto_apply]
|
|
156
|
-
* @property {string} type
|
|
157
|
-
* @property {boolean} [is_exact]
|
|
158
|
-
*
|
|
159
|
-
* @property {string}
|
|
160
|
-
*
|
|
161
|
-
* @property {string
|
|
171
|
+
* @property {string} [currency_code] - Currency code like INR
|
|
172
|
+
* @property {boolean} [auto_apply] - Coupon should be auto apply or not
|
|
173
|
+
* @property {string} [type] - Type of coupon like absolute, percentage etc.
|
|
174
|
+
* @property {boolean} [is_exact] - Flag is true then use coupon applicable
|
|
175
|
+
* articles for calculation
|
|
176
|
+
* @property {string} [applicable_on] - Coupon will be applicable on either
|
|
177
|
+
* amount or quantity
|
|
178
|
+
* @property {string} [calculate_on] - Article Price on which coupon calculated
|
|
179
|
+
* like effective price or marked price
|
|
180
|
+
* @property {string} [value_type] - Define the type of coupon value
|
|
181
|
+
* @property {string[]} [scope] - List of item level rule applicable for coupon
|
|
162
182
|
*/
|
|
163
183
|
|
|
164
184
|
/**
|
|
165
185
|
* @typedef CouponAdd
|
|
166
186
|
* @property {CouponDateMeta} [date_meta]
|
|
167
|
-
* @property {Ownership} ownership
|
|
187
|
+
* @property {Ownership} [ownership]
|
|
168
188
|
* @property {CouponAuthor} [author]
|
|
169
189
|
* @property {State} [state]
|
|
170
190
|
* @property {Restrictions} [restrictions]
|
|
171
191
|
* @property {Validation} [validation]
|
|
172
192
|
* @property {CouponAction} [action]
|
|
173
|
-
* @property {string
|
|
193
|
+
* @property {string} [coupon_type] - The type of coupon like bulk or single
|
|
194
|
+
* @property {string} [coupon_prefix] - Bulk coupon code prefix string
|
|
195
|
+
* @property {number} [coupon_counts] - Counts of bulk coupon
|
|
196
|
+
* @property {string[]} [tags] - List of tags specify to platform
|
|
174
197
|
* @property {CouponSchedule} [_schedule]
|
|
175
|
-
* @property {Rule[]} rule
|
|
176
|
-
* @property {DisplayMeta} display_meta
|
|
177
|
-
* @property {string} code
|
|
178
|
-
* @property {string} type_slug
|
|
179
|
-
* @property {Identifier} identifiers
|
|
180
|
-
* @property {Validity} validity
|
|
181
|
-
* @property {RuleDefinition} rule_definition
|
|
182
|
-
* @property {string} [_id] -
|
|
198
|
+
* @property {Rule[]} [rule]
|
|
199
|
+
* @property {DisplayMeta} [display_meta]
|
|
200
|
+
* @property {string} code - Unique code of coupon
|
|
201
|
+
* @property {string} type_slug - The type slug of coupon discount
|
|
202
|
+
* @property {Identifier} [identifiers]
|
|
203
|
+
* @property {Validity} [validity]
|
|
204
|
+
* @property {RuleDefinition} [rule_definition]
|
|
205
|
+
* @property {string} [_id] - Unique identifier of coupon
|
|
183
206
|
*/
|
|
184
207
|
|
|
185
208
|
/**
|
|
@@ -194,42 +217,46 @@ const Joi = require("joi");
|
|
|
194
217
|
*/
|
|
195
218
|
|
|
196
219
|
/**
|
|
197
|
-
* @typedef
|
|
198
|
-
* @property {CouponAdd[]} [items]
|
|
220
|
+
* @typedef CouponsResult
|
|
221
|
+
* @property {CouponAdd[]} [items] - Coupons list for sales channel
|
|
199
222
|
* @property {Page} [page]
|
|
200
223
|
*/
|
|
201
224
|
|
|
202
225
|
/**
|
|
203
226
|
* @typedef SuccessMessage
|
|
204
|
-
* @property {boolean} [success]
|
|
205
|
-
* @property {string} [message]
|
|
227
|
+
* @property {boolean} [success] - Whether the request was successful (true/false).
|
|
228
|
+
* @property {string} [message] - Response message needs to display
|
|
206
229
|
*/
|
|
207
230
|
|
|
208
231
|
/**
|
|
209
|
-
* @typedef
|
|
210
|
-
* @property {boolean} [success]
|
|
211
|
-
* @property {string} [message]
|
|
212
|
-
* @property {string} [error]
|
|
232
|
+
* @typedef OperationErrorResult
|
|
233
|
+
* @property {boolean} [success] - Whether the request was successful (true/false).
|
|
234
|
+
* @property {string} [message] - Response message needs to display
|
|
235
|
+
* @property {string} [error] - Response error message in detail
|
|
213
236
|
*/
|
|
214
237
|
|
|
215
238
|
/**
|
|
216
239
|
* @typedef CouponUpdate
|
|
217
240
|
* @property {CouponDateMeta} [date_meta]
|
|
218
|
-
* @property {Ownership} ownership
|
|
241
|
+
* @property {Ownership} [ownership]
|
|
219
242
|
* @property {CouponAuthor} [author]
|
|
220
243
|
* @property {State} [state]
|
|
221
244
|
* @property {Restrictions} [restrictions]
|
|
222
245
|
* @property {Validation} [validation]
|
|
223
246
|
* @property {CouponAction} [action]
|
|
224
|
-
* @property {string[]} [tags]
|
|
247
|
+
* @property {string[]} [tags] - List of tags specify to platform
|
|
225
248
|
* @property {CouponSchedule} [_schedule]
|
|
226
|
-
* @property {Rule[]} rule
|
|
227
|
-
* @property {DisplayMeta} display_meta
|
|
228
|
-
* @property {string} code
|
|
229
|
-
* @property {string}
|
|
230
|
-
* @property {
|
|
231
|
-
* @property {
|
|
232
|
-
* @property {
|
|
249
|
+
* @property {Rule[]} [rule]
|
|
250
|
+
* @property {DisplayMeta} [display_meta]
|
|
251
|
+
* @property {string} code - Unique code that is used to apply coupon
|
|
252
|
+
* @property {string} [coupon_type] - The type of coupon like bulk or single
|
|
253
|
+
* @property {string} [coupon_prefix] - Bulk coupon code prefix string
|
|
254
|
+
* @property {number} [coupon_counts] - Counts of culk coupon
|
|
255
|
+
* @property {string} [reason] - Coupon rejection reason added by reviewer
|
|
256
|
+
* @property {string} type_slug - The type slug of coupon discount
|
|
257
|
+
* @property {Identifier} [identifiers]
|
|
258
|
+
* @property {Validity} [validity]
|
|
259
|
+
* @property {RuleDefinition} [rule_definition]
|
|
233
260
|
*/
|
|
234
261
|
|
|
235
262
|
/**
|
|
@@ -238,110 +265,149 @@ const Joi = require("joi");
|
|
|
238
265
|
* @property {CouponSchedule} [schedule]
|
|
239
266
|
*/
|
|
240
267
|
|
|
268
|
+
/**
|
|
269
|
+
* @typedef CouponCreateResult
|
|
270
|
+
* @property {boolean} [success] - Whether the request was successful (true/false)
|
|
271
|
+
* @property {string} [message] - Create coupon response message that can shown
|
|
272
|
+
* to creator user
|
|
273
|
+
* @property {string} [_id] - Unique identifier for coupon created
|
|
274
|
+
*/
|
|
275
|
+
|
|
241
276
|
/**
|
|
242
277
|
* @typedef DisplayMeta1
|
|
243
|
-
* @property {string} [description]
|
|
244
|
-
* @property {string} [offer_label]
|
|
245
|
-
* @property {string} [name]
|
|
246
|
-
* @property {string} [offer_text]
|
|
278
|
+
* @property {string} [description] - Define details about the offer in promotion
|
|
279
|
+
* @property {string} [offer_label] - Offer label of promotion that needs to display
|
|
280
|
+
* @property {string} [name] - Name of promotion that needs to display
|
|
281
|
+
* @property {string} [offer_text] - Promotion offer text used to display
|
|
247
282
|
*/
|
|
248
283
|
|
|
249
284
|
/**
|
|
250
285
|
* @typedef Ownership1
|
|
251
|
-
* @property {string} payable_category
|
|
252
|
-
* @property {string} payable_by
|
|
286
|
+
* @property {string} [payable_category] - Promotion amount payable category
|
|
287
|
+
* @property {string} [payable_by] - Promotion amount bearable party
|
|
253
288
|
*/
|
|
254
289
|
|
|
255
290
|
/**
|
|
256
291
|
* @typedef CompareObject
|
|
257
|
-
* @property {number} [equals]
|
|
258
|
-
* @property {number} [greater_than]
|
|
259
|
-
*
|
|
260
|
-
* @property {number} [
|
|
261
|
-
*
|
|
292
|
+
* @property {number} [equals] - Nummeric value must be equal to cart level rules
|
|
293
|
+
* @property {number} [greater_than] - Nummeric value must be greater than cart
|
|
294
|
+
* level rules
|
|
295
|
+
* @property {number} [less_than_equals] - Nummeric value must be less than or
|
|
296
|
+
* equal to cart level rules
|
|
297
|
+
* @property {number} [less_than] - Nummeric value must be less than cart level rules
|
|
298
|
+
* @property {number} [greater_than_equals] - Nummeric value must be greater
|
|
299
|
+
* than or equal to cart level rules
|
|
300
|
+
*/
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* @typedef ItemSizeMapping
|
|
304
|
+
* @property {Object} [item_size_mapping] - Item size mapping in promotion
|
|
262
305
|
*/
|
|
263
306
|
|
|
264
307
|
/**
|
|
265
308
|
* @typedef ItemCriteria
|
|
266
309
|
* @property {CompareObject} [cart_quantity]
|
|
267
|
-
* @property {string[]} [available_zones]
|
|
268
|
-
*
|
|
269
|
-
* @property {number[]} [
|
|
270
|
-
*
|
|
310
|
+
* @property {string[]} [available_zones] - List of all zones on which promotion
|
|
311
|
+
* is applicable
|
|
312
|
+
* @property {number[]} [item_exclude_company] - List of all company id on which
|
|
313
|
+
* promotion is not applicable
|
|
314
|
+
* @property {number[]} [item_id] - List of all item ids on which promotion is applicable
|
|
315
|
+
* @property {number[]} [item_l1_category] - List of all L1 category on which
|
|
316
|
+
* promotion is applicable
|
|
271
317
|
* @property {CompareObject} [cart_total]
|
|
272
318
|
* @property {CompareObject} [cart_unique_item_quantity]
|
|
273
319
|
* @property {CompareObject} [cart_unique_item_amount]
|
|
274
|
-
* @property {number[]} [item_exclude_id]
|
|
275
|
-
*
|
|
276
|
-
* @property {
|
|
277
|
-
*
|
|
278
|
-
* @property {number[]} [
|
|
279
|
-
*
|
|
280
|
-
* @property {
|
|
281
|
-
*
|
|
282
|
-
* @property {number[]} [
|
|
283
|
-
*
|
|
284
|
-
* @property {
|
|
285
|
-
*
|
|
320
|
+
* @property {number[]} [item_exclude_id] - List of all item ids on which
|
|
321
|
+
* promotion is not applicable
|
|
322
|
+
* @property {boolean} [all_items] - Boolean flag set true to applicable the
|
|
323
|
+
* promotion for all products
|
|
324
|
+
* @property {number[]} [item_exclude_l1_category] - List of all item ids on
|
|
325
|
+
* which promotion is not applicable
|
|
326
|
+
* @property {string[]} [item_size] - List of all item sizes on which promotion
|
|
327
|
+
* is applicable
|
|
328
|
+
* @property {number[]} [item_store] - List of all item store ids on which
|
|
329
|
+
* promotion is applicable
|
|
330
|
+
* @property {string[]} [item_exclude_sku] - List of all item sku on which
|
|
331
|
+
* promotion is not applicable
|
|
332
|
+
* @property {number[]} [item_department] - List of all departments ids on which
|
|
333
|
+
* promotion is applicable
|
|
334
|
+
* @property {number[]} [item_exclude_store] - List of all item store ids on
|
|
335
|
+
* which promotion is not applicable
|
|
336
|
+
* @property {number[]} [item_brand] - List of all brand ids on which promotion
|
|
337
|
+
* is applicable
|
|
338
|
+
* @property {number[]} [item_exclude_department] - List of all department ids
|
|
339
|
+
* on which promotion is not applicable
|
|
340
|
+
* @property {number[]} [item_exclude_category] - List of all L3 category on
|
|
341
|
+
* which promotion is not applicable
|
|
342
|
+
* @property {number[]} [item_category] - List of all L3 category on which
|
|
343
|
+
* promotion is applicable
|
|
286
344
|
* @property {string[]} [buy_rules]
|
|
287
|
-
* @property {number[]} [item_exclude_brand]
|
|
288
|
-
*
|
|
289
|
-
* @property {number[]} [
|
|
290
|
-
*
|
|
291
|
-
* @property {number[]} [
|
|
292
|
-
*
|
|
345
|
+
* @property {number[]} [item_exclude_brand] - List of all brand ids on which
|
|
346
|
+
* promotion is not applicable
|
|
347
|
+
* @property {number[]} [item_l2_category] - List of all L2 category on which
|
|
348
|
+
* promotion is applicable
|
|
349
|
+
* @property {number[]} [item_company] - List of all company ids on which
|
|
350
|
+
* promotion is applicable
|
|
351
|
+
* @property {string[]} [item_tags] - List of all product tags on which
|
|
352
|
+
* promotion is applicable
|
|
353
|
+
* @property {number[]} [item_exclude_l2_category] - List of all L2 category on
|
|
354
|
+
* which promotion is not applicable
|
|
355
|
+
* @property {string[]} [item_sku] - List of all item sku on which promotion is applicable
|
|
293
356
|
*/
|
|
294
357
|
|
|
295
358
|
/**
|
|
296
359
|
* @typedef DiscountOffer
|
|
297
|
-
* @property {number} [max_discount_amount]
|
|
298
|
-
* @property {number} [discount_price]
|
|
299
|
-
* @property {boolean} [apportion_discount]
|
|
300
|
-
* @property {boolean} [partial_can_ret]
|
|
301
|
-
* @property {number} [max_usage_per_transaction]
|
|
302
|
-
*
|
|
303
|
-
* @property {
|
|
304
|
-
* @property {
|
|
305
|
-
* @property {number} [
|
|
306
|
-
* @property {number} [
|
|
360
|
+
* @property {number} [max_discount_amount] - Maximum discount amount in promotion
|
|
361
|
+
* @property {number} [discount_price] - Discount price in promotion
|
|
362
|
+
* @property {boolean} [apportion_discount] - Flag to distribute discount for each article
|
|
363
|
+
* @property {boolean} [partial_can_ret] - Flag indicated return the product partially
|
|
364
|
+
* @property {number} [max_usage_per_transaction] - Maximum usage per
|
|
365
|
+
* transaction in promotion
|
|
366
|
+
* @property {number} [min_offer_quantity] - Minimum quantity of offer in promotion
|
|
367
|
+
* @property {string} [code] - Unique code of promotion
|
|
368
|
+
* @property {number} [discount_amount] - Discount amount in promotion
|
|
369
|
+
* @property {number} [discount_percentage] - Discount percentage in promotion
|
|
370
|
+
* @property {number} [max_offer_quantity] - Maximum quantity of product in promotion
|
|
307
371
|
*/
|
|
308
372
|
|
|
309
373
|
/**
|
|
310
374
|
* @typedef DiscountRule
|
|
311
|
-
* @property {string} discount_type
|
|
312
|
-
* @property {string} buy_condition
|
|
375
|
+
* @property {string} discount_type - The type of discount in promotion
|
|
376
|
+
* @property {string} buy_condition - Promotion buy rules in offer level
|
|
313
377
|
* @property {ItemCriteria} item_criteria
|
|
378
|
+
* @property {ItemSizeMapping} [meta]
|
|
314
379
|
* @property {DiscountOffer} offer
|
|
315
380
|
*/
|
|
316
381
|
|
|
317
382
|
/**
|
|
318
383
|
* @typedef PaymentAllowValue1
|
|
319
|
-
* @property {number} [max]
|
|
384
|
+
* @property {number} [max] - Maximum value need to allow for payment in promotion
|
|
320
385
|
*/
|
|
321
386
|
|
|
322
387
|
/**
|
|
323
388
|
* @typedef PromotionPaymentModes
|
|
324
|
-
* @property {string} type
|
|
389
|
+
* @property {string} [type] - Define the type of payment
|
|
325
390
|
* @property {PaymentAllowValue1} [uses]
|
|
326
|
-
* @property {string[]} [codes]
|
|
391
|
+
* @property {string[]} [codes] - List of codes associated with payment options
|
|
327
392
|
*/
|
|
328
393
|
|
|
329
394
|
/**
|
|
330
395
|
* @typedef UserRegistered
|
|
331
|
-
* @property {string} [end]
|
|
332
|
-
* @property {string} [start]
|
|
396
|
+
* @property {string} [end] - End date time format till the user is registerd
|
|
397
|
+
* @property {string} [start] - Start date time format when user is registerd
|
|
333
398
|
*/
|
|
334
399
|
|
|
335
400
|
/**
|
|
336
401
|
* @typedef PostOrder1
|
|
337
|
-
* @property {boolean} [cancellation_allowed]
|
|
338
|
-
*
|
|
402
|
+
* @property {boolean} [cancellation_allowed] - Cancellation allowed in
|
|
403
|
+
* promotion after order
|
|
404
|
+
* @property {boolean} [return_allowed] - Return allowed in promotion after order
|
|
339
405
|
*/
|
|
340
406
|
|
|
341
407
|
/**
|
|
342
408
|
* @typedef UsesRemaining1
|
|
343
|
-
* @property {number} [user]
|
|
344
|
-
* @property {number} [total]
|
|
409
|
+
* @property {number} [user] - Define total promotion count per user
|
|
410
|
+
* @property {number} [total] - Define total promotions count
|
|
345
411
|
*/
|
|
346
412
|
|
|
347
413
|
/**
|
|
@@ -352,62 +418,75 @@ const Joi = require("joi");
|
|
|
352
418
|
|
|
353
419
|
/**
|
|
354
420
|
* @typedef Restrictions1
|
|
355
|
-
* @property {
|
|
421
|
+
* @property {PaymentModes} [payments]
|
|
356
422
|
* @property {UserRegistered} [user_registered]
|
|
357
|
-
* @property {string[]} [platforms]
|
|
423
|
+
* @property {string[]} [platforms] - List of platform on which promotion is
|
|
424
|
+
* applicable like android, ios
|
|
358
425
|
* @property {PostOrder1} [post_order]
|
|
359
|
-
* @property {number[]} [user_groups]
|
|
360
|
-
*
|
|
361
|
-
* @property {
|
|
362
|
-
* @property {
|
|
363
|
-
*
|
|
364
|
-
* @property {
|
|
426
|
+
* @property {number[]} [user_groups] - List of user groups on which promotion
|
|
427
|
+
* is applicable
|
|
428
|
+
* @property {number} [order_quantity] - Prmomotion max order count
|
|
429
|
+
* @property {boolean} [anonymous_users] - Set true, if promotion is applicable
|
|
430
|
+
* for guest user
|
|
431
|
+
* @property {string[]} [user_id] - List of user id on which promotion is applicable
|
|
432
|
+
* @property {UsesRestriction1} [uses]
|
|
433
|
+
* @property {number[]} [ordering_stores] - List of store id on which promotion
|
|
434
|
+
* is applicable
|
|
365
435
|
*/
|
|
366
436
|
|
|
367
437
|
/**
|
|
368
438
|
* @typedef PromotionSchedule
|
|
369
|
-
* @property {string} end
|
|
370
|
-
* @property {string} start
|
|
371
|
-
* @property {
|
|
372
|
-
* @property {
|
|
373
|
-
* @property {
|
|
374
|
-
*
|
|
439
|
+
* @property {string} [end] - Then end date of promotion till valid
|
|
440
|
+
* @property {string} [start] - Then start date of promotion is valid
|
|
441
|
+
* @property {string} [status] - Promotion status like draft, review
|
|
442
|
+
* @property {boolean} [published] - The status of promotion is published or not
|
|
443
|
+
* @property {Object[]} [next_schedule] - List of date time, which we will
|
|
444
|
+
* schedule the promotion
|
|
445
|
+
* @property {string} [cron] - Schedule the cron to run your job periodically
|
|
446
|
+
* @property {number} [duration] - Time in minutes for execution
|
|
375
447
|
*/
|
|
376
448
|
|
|
377
449
|
/**
|
|
378
450
|
* @typedef PromotionAction
|
|
379
|
-
* @property {string} action_date
|
|
380
|
-
* @property {string} action_type
|
|
451
|
+
* @property {string} [action_date] - Date time format in promotion
|
|
452
|
+
* @property {string} [action_type] - The action type of promotion
|
|
381
453
|
*/
|
|
382
454
|
|
|
383
455
|
/**
|
|
384
456
|
* @typedef PromotionAuthor
|
|
385
|
-
* @property {string} [created_by]
|
|
386
|
-
* @property {string} [modified_by]
|
|
457
|
+
* @property {string} [created_by] - The user id of user, who has created the promotion
|
|
458
|
+
* @property {string} [modified_by] - The user id of user, who has modified the promotion
|
|
459
|
+
* @property {string} [approved_by] - The user id of user, who has approved the promotion
|
|
460
|
+
* @property {string} [rejected_by] - The user id of user, who has rejected the promotion
|
|
461
|
+
* @property {string} [reviewed_by] - The user id of user, who has reviewed the promotion
|
|
387
462
|
*/
|
|
388
463
|
|
|
389
464
|
/**
|
|
390
465
|
* @typedef Visibility
|
|
391
|
-
* @property {boolean} coupon_list
|
|
392
|
-
* @property {boolean} pdp
|
|
466
|
+
* @property {boolean} [coupon_list] - Flag to show promotion on Coupon list
|
|
467
|
+
* @property {boolean} [pdp] - Flag to show promotion on PDP page
|
|
393
468
|
*/
|
|
394
469
|
|
|
395
470
|
/**
|
|
396
471
|
* @typedef PromotionDateMeta
|
|
397
|
-
* @property {string} [modified_on]
|
|
398
|
-
* @property {string} [created_on]
|
|
472
|
+
* @property {string} [modified_on] - Date time format when the promotion last modified
|
|
473
|
+
* @property {string} [created_on] - Date time format when the promotion created
|
|
474
|
+
* @property {string} [approved_on] - Date time format when the promotion approved
|
|
475
|
+
* @property {string} [rejected_on] - Date time format when the promotion rejected
|
|
476
|
+
* @property {string} [reviewed_on] - Date time format when the promotion reviewed
|
|
399
477
|
*/
|
|
400
478
|
|
|
401
479
|
/**
|
|
402
480
|
* @typedef PromotionListItem
|
|
403
481
|
* @property {boolean} [stackable] - Allows more than one promotion to get
|
|
404
482
|
* combined benefits
|
|
405
|
-
* @property {string} [calculate_on] -
|
|
406
|
-
*
|
|
483
|
+
* @property {string} [calculate_on] - Article Price on which promotion
|
|
484
|
+
* calculated like effective price or marked price. Only available for
|
|
485
|
+
* Contract pricing and Ladder pricing promotion type
|
|
407
486
|
* @property {string} [apply_exclusive] - Doesn't allow other promotion after
|
|
408
487
|
* current promotion applied on cart or article
|
|
409
488
|
* @property {string} promo_group - Group into which promotion fall
|
|
410
|
-
* @property {string} mode - Promotion mode
|
|
489
|
+
* @property {string} mode - Promotion mode, like coupon or promotion
|
|
411
490
|
* @property {boolean} [apply_all_discount] - Prevents more than one promotion discounts
|
|
412
491
|
* @property {DisplayMeta1} display_meta
|
|
413
492
|
* @property {Ownership1} ownership
|
|
@@ -416,81 +495,159 @@ const Joi = require("joi");
|
|
|
416
495
|
* promotion will be applied
|
|
417
496
|
* @property {Restrictions1} [restrictions]
|
|
418
497
|
* @property {string} [currency] - Currency used for promotion
|
|
419
|
-
* @property {
|
|
498
|
+
* @property {boolean} [is_processed] - Flag to verify if promotion is ready to
|
|
499
|
+
* be applied on cart and ready to update promotion
|
|
500
|
+
* @property {string} [code] - Unique code of promotion
|
|
420
501
|
* @property {PromotionSchedule} [_schedule]
|
|
421
502
|
* @property {PromotionAction} [post_order_action]
|
|
422
503
|
* @property {number} [apply_priority] - Priority based on which promotion are
|
|
423
504
|
* applied on articles
|
|
424
505
|
* @property {PromotionAuthor} [author]
|
|
425
506
|
* @property {Visibility} [visiblility]
|
|
426
|
-
* @property {string} application_id -
|
|
427
|
-
* @property {
|
|
507
|
+
* @property {string} application_id - Application id in which promotion will be used
|
|
508
|
+
* @property {ItemCriteria} buy_rules
|
|
428
509
|
* @property {Object} [_custom_json] - Custom data stored in promotion
|
|
429
510
|
* @property {PromotionDateMeta} [date_meta]
|
|
430
|
-
* @property {string} [_id] -
|
|
431
|
-
* @property {string[]} [tags]
|
|
511
|
+
* @property {string} [_id] - Unique identifier of promotion
|
|
512
|
+
* @property {string[]} [tags] - List of tags on which promotion is applicable
|
|
432
513
|
*/
|
|
433
514
|
|
|
434
515
|
/**
|
|
435
|
-
* @typedef
|
|
436
|
-
* @property {PromotionListItem[]} [items]
|
|
516
|
+
* @typedef PromotionsResult
|
|
517
|
+
* @property {PromotionListItem[]} [items] - List of promotions
|
|
437
518
|
* @property {Page} [page]
|
|
438
519
|
*/
|
|
439
520
|
|
|
440
521
|
/**
|
|
441
522
|
* @typedef PromotionAdd
|
|
442
|
-
* @property {boolean} [stackable]
|
|
443
|
-
* @property {string} [calculate_on] -
|
|
444
|
-
*
|
|
445
|
-
*
|
|
446
|
-
* @property {string}
|
|
447
|
-
*
|
|
448
|
-
* @property {
|
|
449
|
-
* @property {
|
|
450
|
-
* @property {
|
|
451
|
-
* @property {
|
|
452
|
-
* @property {
|
|
523
|
+
* @property {boolean} [stackable] - Boolean value set true to apply other promotions also
|
|
524
|
+
* @property {string} [calculate_on] - Article Price on which promotion
|
|
525
|
+
* calculated like effective price or marked price. Only available for
|
|
526
|
+
* Contract pricing and Ladder pricing promotion type
|
|
527
|
+
* @property {string} [apply_exclusive] - Promotion should apply on either
|
|
528
|
+
* article or cart.
|
|
529
|
+
* @property {string} promo_group - The type of promotion group
|
|
530
|
+
* @property {string} mode - Promotion mode, like coupon or promotion
|
|
531
|
+
* @property {boolean} [apply_all_discount] - True means to apply all discount offers
|
|
532
|
+
* @property {DisplayMeta1} [display_meta]
|
|
533
|
+
* @property {Ownership1} [ownership]
|
|
534
|
+
* @property {string} promotion_type - Type of promotion
|
|
535
|
+
* @property {DiscountRule[]} [discount_rules] - List of discount offers and
|
|
536
|
+
* their applicable conditions
|
|
453
537
|
* @property {Restrictions1} [restrictions]
|
|
454
|
-
* @property {string} [currency]
|
|
455
|
-
* @property {string} [code]
|
|
538
|
+
* @property {string} [currency] - Promotion Currency code like INR
|
|
539
|
+
* @property {string} [code] - Promotion unique code
|
|
456
540
|
* @property {PromotionSchedule} [_schedule]
|
|
457
541
|
* @property {PromotionAction} [post_order_action]
|
|
458
|
-
* @property {number} [apply_priority]
|
|
542
|
+
* @property {number} [apply_priority] - Promotion applicable priority
|
|
459
543
|
* @property {PromotionAuthor} [author]
|
|
460
544
|
* @property {Visibility} [visiblility]
|
|
461
|
-
* @property {string} application_id
|
|
462
|
-
* @property {
|
|
463
|
-
* @property {Object} [_custom_json]
|
|
545
|
+
* @property {string} application_id - Current application id of sales channel
|
|
546
|
+
* @property {ItemCriteria} [buy_rules]
|
|
547
|
+
* @property {Object} [_custom_json] - Set extra properties in promotion
|
|
464
548
|
* @property {PromotionDateMeta} [date_meta]
|
|
465
|
-
* @property {string[]} [tags]
|
|
549
|
+
* @property {string[]} [tags] - List of tags applicable for promotion
|
|
550
|
+
*/
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* @typedef PromotionAddResult
|
|
554
|
+
* @property {boolean} [stackable] - Boolean value set true to apply other promotions also
|
|
555
|
+
* @property {string} [calculate_on] - Article Price on which promotion
|
|
556
|
+
* calculated like effective price or marked price. Only available for
|
|
557
|
+
* Contract pricing and Ladder pricing promotion type
|
|
558
|
+
* @property {string} [apply_exclusive] - Promotion should apply on either
|
|
559
|
+
* article or cart.
|
|
560
|
+
* @property {string} promo_group - The type of promotion group
|
|
561
|
+
* @property {string} mode - Promotion mode, like coupon or promotion
|
|
562
|
+
* @property {boolean} [is_processed] - Flag to verify if promotion is ready to
|
|
563
|
+
* be applied on cart and ready to update promotion
|
|
564
|
+
* @property {boolean} [apply_all_discount] - True means to apply all discount offers
|
|
565
|
+
* @property {DisplayMeta1} [display_meta]
|
|
566
|
+
* @property {Ownership1} [ownership]
|
|
567
|
+
* @property {string} promotion_type - Type of promotion
|
|
568
|
+
* @property {DiscountRule[]} [discount_rules] - List of discount offers and
|
|
569
|
+
* their applicable conditions
|
|
570
|
+
* @property {Restrictions1} [restrictions]
|
|
571
|
+
* @property {string} [currency] - Promotion Currency code like INR
|
|
572
|
+
* @property {string} [code] - Promotion unique code
|
|
573
|
+
* @property {PromotionSchedule} [_schedule]
|
|
574
|
+
* @property {PromotionAction} [post_order_action]
|
|
575
|
+
* @property {number} [apply_priority] - Promotion applicable priority
|
|
576
|
+
* @property {PromotionAuthor} [author]
|
|
577
|
+
* @property {Visibility} [visiblility]
|
|
578
|
+
* @property {string} application_id - Current application id of sales channel
|
|
579
|
+
* @property {ItemCriteria} [buy_rules]
|
|
580
|
+
* @property {Object} [_custom_json] - Set extra properties in promotion
|
|
581
|
+
* @property {PromotionDateMeta} [date_meta]
|
|
582
|
+
* @property {string[]} [tags] - List of tags applicable for promotion
|
|
466
583
|
*/
|
|
467
584
|
|
|
468
585
|
/**
|
|
469
586
|
* @typedef PromotionUpdate
|
|
470
|
-
* @property {boolean} [stackable]
|
|
471
|
-
* @property {string} [calculate_on] -
|
|
472
|
-
*
|
|
473
|
-
*
|
|
474
|
-
* @property {string}
|
|
475
|
-
*
|
|
476
|
-
* @property {
|
|
477
|
-
* @property {
|
|
478
|
-
* @property {
|
|
479
|
-
* @property {
|
|
480
|
-
* @property {
|
|
587
|
+
* @property {boolean} [stackable] - Set true to apply other promotions in cart
|
|
588
|
+
* @property {string} [calculate_on] - Article Price on which promotion
|
|
589
|
+
* calculated like effective price or marked price. Only available for
|
|
590
|
+
* Contract pricing and Ladder pricing promotion type
|
|
591
|
+
* @property {string} [apply_exclusive] - Promotion should apply on either
|
|
592
|
+
* article or cart.
|
|
593
|
+
* @property {string} [reason] - Promotion rejection reason added by reviewer
|
|
594
|
+
* @property {string} promo_group - The type of promotion group
|
|
595
|
+
* @property {string} mode - Promotion mode
|
|
596
|
+
* @property {boolean} [apply_all_discount] - True means to apply all discount offers
|
|
597
|
+
* @property {DisplayMeta1} [display_meta]
|
|
598
|
+
* @property {Ownership1} [ownership]
|
|
599
|
+
* @property {string} promotion_type - The Promotion type like amount, bogo and
|
|
600
|
+
* percentage etc.
|
|
601
|
+
* @property {DiscountRule[]} [discount_rules] - List of discount offers and
|
|
602
|
+
* their applicable conditions
|
|
481
603
|
* @property {Restrictions1} [restrictions]
|
|
482
|
-
* @property {string} [currency]
|
|
483
|
-
* @property {string} [code]
|
|
604
|
+
* @property {string} [currency] - Promotion Currency code like INR
|
|
605
|
+
* @property {string} [code] - Promotion unique code
|
|
484
606
|
* @property {PromotionSchedule} [_schedule]
|
|
485
607
|
* @property {PromotionAction} [post_order_action]
|
|
486
|
-
* @property {number} [apply_priority]
|
|
608
|
+
* @property {number} [apply_priority] - Promotion applicable priority
|
|
487
609
|
* @property {PromotionAuthor} [author]
|
|
488
610
|
* @property {Visibility} [visiblility]
|
|
489
|
-
* @property {string} application_id
|
|
490
|
-
* @property {
|
|
491
|
-
* @property {Object} [_custom_json]
|
|
611
|
+
* @property {string} application_id - Current application id of sales channel
|
|
612
|
+
* @property {ItemCriteria} [buy_rules]
|
|
613
|
+
* @property {Object} [_custom_json] - Set extra properties in promotion
|
|
492
614
|
* @property {PromotionDateMeta} [date_meta]
|
|
493
|
-
* @property {string[]} [tags]
|
|
615
|
+
* @property {string[]} [tags] - List of tags applicable for promotion
|
|
616
|
+
*/
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* @typedef PromotionUpdateResult
|
|
620
|
+
* @property {boolean} [stackable] - Set true to apply other promotions in cart
|
|
621
|
+
* @property {string} [calculate_on] - Article Price on which promotion
|
|
622
|
+
* calculated like effective price or marked price. Only available for
|
|
623
|
+
* Contract pricing and Ladder pricing promotion type
|
|
624
|
+
* @property {string} [apply_exclusive] - Promotion should apply on either
|
|
625
|
+
* article or cart.
|
|
626
|
+
* @property {string} [reason] - Promotion rejection reason added by reviewer
|
|
627
|
+
* @property {boolean} [is_processed] - Flag to verify if promotion is ready to
|
|
628
|
+
* be applied on cart and ready to update promotion
|
|
629
|
+
* @property {string} promo_group - The type of promotion group
|
|
630
|
+
* @property {string} mode - Promotion mode
|
|
631
|
+
* @property {boolean} [apply_all_discount] - True means to apply all discount offers
|
|
632
|
+
* @property {DisplayMeta1} [display_meta]
|
|
633
|
+
* @property {Ownership1} [ownership]
|
|
634
|
+
* @property {string} promotion_type - The Promotion type like amount, bogo and
|
|
635
|
+
* percentage etc.
|
|
636
|
+
* @property {DiscountRule[]} [discount_rules] - List of discount offers and
|
|
637
|
+
* their applicable conditions
|
|
638
|
+
* @property {Restrictions1} [restrictions]
|
|
639
|
+
* @property {string} [currency] - Promotion Currency code like INR
|
|
640
|
+
* @property {string} [code] - Promotion unique code
|
|
641
|
+
* @property {PromotionSchedule} [_schedule]
|
|
642
|
+
* @property {PromotionAction} [post_order_action]
|
|
643
|
+
* @property {number} [apply_priority] - Promotion applicable priority
|
|
644
|
+
* @property {PromotionAuthor} [author]
|
|
645
|
+
* @property {Visibility} [visiblility]
|
|
646
|
+
* @property {string} application_id - Current application id of sales channel
|
|
647
|
+
* @property {ItemCriteria} [buy_rules]
|
|
648
|
+
* @property {Object} [_custom_json] - Set extra properties in promotion
|
|
649
|
+
* @property {PromotionDateMeta} [date_meta]
|
|
650
|
+
* @property {string[]} [tags] - List of tags applicable for promotion
|
|
494
651
|
*/
|
|
495
652
|
|
|
496
653
|
/**
|
|
@@ -500,56 +657,60 @@ const Joi = require("joi");
|
|
|
500
657
|
*/
|
|
501
658
|
|
|
502
659
|
/**
|
|
503
|
-
* @typedef
|
|
504
|
-
* @property {string} [entity_slug]
|
|
505
|
-
*
|
|
506
|
-
* @property {string} [
|
|
660
|
+
* @typedef ActivePromosResult
|
|
661
|
+
* @property {string} [entity_slug] - A short, human-readable, URL-friendly
|
|
662
|
+
* identifier of Promotion or coupon
|
|
663
|
+
* @property {string} [title] - Name of the promotion or coupon
|
|
664
|
+
* @property {string} [modified_on] - Coupon or promotion modification date
|
|
507
665
|
* @property {string} [example] - Discount offers examples
|
|
508
666
|
* @property {string} [entity_type] - Type of entity to be selected from :
|
|
509
667
|
* ['coupon', 'promotion']
|
|
510
|
-
* @property {string} [created_on] - Coupon creation date
|
|
668
|
+
* @property {string} [created_on] - Coupon or modification creation date
|
|
511
669
|
* @property {boolean} [is_hidden] - If the promo is active or not
|
|
512
|
-
* @property {string} [type] - Coupon type
|
|
670
|
+
* @property {string} [type] - Coupon or promotion type
|
|
513
671
|
* @property {string} [subtitle] - Small description of the current offer
|
|
514
672
|
* @property {string} [description] - The description of the offer in the form of an HTML
|
|
515
673
|
*/
|
|
516
674
|
|
|
517
675
|
/**
|
|
518
676
|
* @typedef Charges
|
|
519
|
-
* @property {number} [charges]
|
|
520
|
-
* @property {number} [threshold]
|
|
677
|
+
* @property {number} [charges] - Delivery chanrges applied on the product of cart
|
|
678
|
+
* @property {number} [threshold] - Threshold of cart value on which the charge
|
|
679
|
+
* should be applied
|
|
521
680
|
*/
|
|
522
681
|
|
|
523
682
|
/**
|
|
524
683
|
* @typedef DeliveryCharges
|
|
525
|
-
* @property {Charges[]} [charges]
|
|
526
|
-
* @property {boolean} [enabled]
|
|
684
|
+
* @property {Charges[]} [charges] - List of delivery changes information of the cart
|
|
685
|
+
* @property {boolean} [enabled] - Enable or disable delivery charge on cart
|
|
527
686
|
*/
|
|
528
687
|
|
|
529
688
|
/**
|
|
530
689
|
* @typedef CartMetaConfigUpdate
|
|
531
|
-
* @property {number} [min_cart_value]
|
|
532
|
-
* @property {number} [max_cart_value]
|
|
533
|
-
* @property {boolean} [bulk_coupons]
|
|
534
|
-
* @property {number} [max_cart_items]
|
|
535
|
-
* @property {string} [gift_display_text]
|
|
690
|
+
* @property {number} [min_cart_value] - Minimum order value to checkout
|
|
691
|
+
* @property {number} [max_cart_value] - Maximum order value to checkout
|
|
692
|
+
* @property {boolean} [bulk_coupons] - Indicates bulk coupon applicable for cart
|
|
693
|
+
* @property {number} [max_cart_items] - Maximum cart items to checkout
|
|
694
|
+
* @property {string} [gift_display_text] - Free gift charges text to show
|
|
536
695
|
* @property {DeliveryCharges} [delivery_charges]
|
|
537
|
-
* @property {boolean} [revenue_engine_coupon]
|
|
538
|
-
*
|
|
539
|
-
* @property {
|
|
696
|
+
* @property {boolean} [revenue_engine_coupon] - It define credit coupon
|
|
697
|
+
* applicable for cart
|
|
698
|
+
* @property {number} [gift_pricing] - Free gift charges per product
|
|
699
|
+
* @property {boolean} [enabled] - Enabled flag for cart configuration
|
|
540
700
|
*/
|
|
541
701
|
|
|
542
702
|
/**
|
|
543
703
|
* @typedef CartMetaConfigAdd
|
|
544
|
-
* @property {number} [min_cart_value]
|
|
545
|
-
* @property {number} [max_cart_value]
|
|
546
|
-
* @property {boolean} [bulk_coupons]
|
|
547
|
-
* @property {number} [max_cart_items]
|
|
548
|
-
* @property {string} [gift_display_text]
|
|
704
|
+
* @property {number} [min_cart_value] - Minimum order value to checkout
|
|
705
|
+
* @property {number} [max_cart_value] - Maximum order value to checkout
|
|
706
|
+
* @property {boolean} [bulk_coupons] - Indicates bulk coupon applicable for cart
|
|
707
|
+
* @property {number} [max_cart_items] - Maximum cart items to checkout
|
|
708
|
+
* @property {string} [gift_display_text] - Free gift charges text to show
|
|
549
709
|
* @property {DeliveryCharges} [delivery_charges]
|
|
550
|
-
* @property {boolean} [revenue_engine_coupon]
|
|
551
|
-
*
|
|
552
|
-
* @property {
|
|
710
|
+
* @property {boolean} [revenue_engine_coupon] - It define credit coupon
|
|
711
|
+
* applicable for cart
|
|
712
|
+
* @property {number} [gift_pricing] - Free gift charges per product
|
|
713
|
+
* @property {boolean} [enabled] - Enabled flag for cart configuration
|
|
553
714
|
*/
|
|
554
715
|
|
|
555
716
|
/**
|
|
@@ -557,10 +718,10 @@ const Joi = require("joi");
|
|
|
557
718
|
* @property {number} [value] - Value of price adjustment for article
|
|
558
719
|
* @property {string} [code] - Code to identify price adjustment on article
|
|
559
720
|
* @property {string} [type] - Type of price adjusment
|
|
560
|
-
* @property {string} article_id -
|
|
721
|
+
* @property {string} article_id - Unique identifier of article
|
|
561
722
|
* @property {number} [quantity] - Total quantity of the article to be
|
|
562
723
|
* considered (currently used only in discount type)
|
|
563
|
-
* @property {Object} [meta] - Meta related to article
|
|
724
|
+
* @property {Object} [meta] - Meta data related to article
|
|
564
725
|
*/
|
|
565
726
|
|
|
566
727
|
/**
|
|
@@ -571,14 +732,14 @@ const Joi = require("joi");
|
|
|
571
732
|
|
|
572
733
|
/**
|
|
573
734
|
* @typedef Collection
|
|
574
|
-
* @property {string} refund_by
|
|
575
|
-
* @property {string} collected_by
|
|
735
|
+
* @property {string} refund_by - Bearable party who is refunding the amount
|
|
736
|
+
* @property {string} collected_by - The party who is collecting the amount
|
|
576
737
|
*/
|
|
577
738
|
|
|
578
739
|
/**
|
|
579
740
|
* @typedef PriceAdjustmentUpdate
|
|
580
741
|
* @property {string} [modified_by] - The entity that modified the field
|
|
581
|
-
* @property {number} value
|
|
742
|
+
* @property {number} value - The amount applied on the cart
|
|
582
743
|
* @property {string} message - The message associated with the price adjustment
|
|
583
744
|
* @property {string} [apply_expiry] - The date and time when the expiry should be applied
|
|
584
745
|
* @property {PriceAdjustmentRestrictions} [restrictions] - Restrictions applied
|
|
@@ -587,7 +748,7 @@ const Joi = require("joi");
|
|
|
587
748
|
* @property {boolean} article_level_distribution - Flag indicating whether the
|
|
588
749
|
* distribution should is done at the article level
|
|
589
750
|
* @property {Collection} collection
|
|
590
|
-
* @property {string} type - Type of price adjusment
|
|
751
|
+
* @property {string} type - Type of price adjusment like charge, mop, discount etc.
|
|
591
752
|
* @property {boolean} [allowed_refund] - Flag indicating whether refunds are
|
|
592
753
|
* allowed (default: False)
|
|
593
754
|
* @property {boolean} is_authenticated - Flag indicating whether the user is
|
|
@@ -595,47 +756,49 @@ const Joi = require("joi");
|
|
|
595
756
|
* @property {Article[]} article_ids - The list of article object in the price adjustment
|
|
596
757
|
* @property {boolean} [auto_remove] - This field if set true will remove mop
|
|
597
758
|
* type price adjustment.
|
|
598
|
-
* @property {Object} [meta]
|
|
599
|
-
* @property {string} cart_id -
|
|
759
|
+
* @property {Object} [meta] - Additional information regarding price adjustment
|
|
760
|
+
* @property {string} cart_id - Unique identifier of the cart
|
|
761
|
+
* @property {DistributionLogic} [distribution_logic]
|
|
600
762
|
*/
|
|
601
763
|
|
|
602
764
|
/**
|
|
603
765
|
* @typedef PriceAdjustment
|
|
604
|
-
* @property {number} value
|
|
766
|
+
* @property {number} value - The amount applied on the cart
|
|
605
767
|
* @property {string} message - The message associated with the price adjustment
|
|
606
768
|
* @property {string} [apply_expiry] - The date and time when the expiry should be applied
|
|
607
|
-
* @property {PriceAdjustmentRestrictions} [restrictions] - This field
|
|
608
|
-
* the restrictions
|
|
609
|
-
*
|
|
769
|
+
* @property {PriceAdjustmentRestrictions} [restrictions] - This field specifies
|
|
770
|
+
* the restrictions for this item or service, such as whether cancellation and
|
|
771
|
+
* return are permitted, except for `charge` type.
|
|
610
772
|
* @property {boolean} article_level_distribution - Flag indicating whether the
|
|
611
773
|
* distribution should is done at the article level
|
|
612
|
-
* @property {string} [id]
|
|
774
|
+
* @property {string} [id] - Unique identifier of Price adjustment
|
|
613
775
|
* @property {Collection} collection
|
|
614
|
-
* @property {string} type - Type of price adjusment
|
|
776
|
+
* @property {string} type - Type of price adjusment like charge, discount, mop etc.
|
|
615
777
|
* @property {boolean} [allowed_refund] - Flag indicating whether refunds are
|
|
616
|
-
* allowed (default: False)
|
|
778
|
+
* allowed (default: False) expect for `charge` type
|
|
617
779
|
* @property {boolean} is_authenticated - Flag indicating whether the user is
|
|
618
780
|
* authenticated
|
|
619
781
|
* @property {Article[]} article_ids - The list of article object in the price adjustment
|
|
620
782
|
* @property {boolean} [auto_remove] - This field if set true will remove mop
|
|
621
783
|
* type price adjustment.
|
|
622
|
-
* @property {Object} [meta]
|
|
623
|
-
* @property {string} cart_id -
|
|
784
|
+
* @property {Object} [meta] - Additional information regarding price adjustment
|
|
785
|
+
* @property {string} cart_id - Unique identifier of the cart
|
|
786
|
+
* @property {DistributionLogic} [distribution_logic]
|
|
624
787
|
*/
|
|
625
788
|
|
|
626
789
|
/**
|
|
627
|
-
* @typedef
|
|
790
|
+
* @typedef PriceAdjustmentResult
|
|
628
791
|
* @property {PriceAdjustment} [data]
|
|
629
792
|
*/
|
|
630
793
|
|
|
631
794
|
/**
|
|
632
|
-
* @typedef
|
|
795
|
+
* @typedef GetPriceAdjustmentResult
|
|
633
796
|
* @property {PriceAdjustment[]} [data]
|
|
634
797
|
*/
|
|
635
798
|
|
|
636
799
|
/**
|
|
637
800
|
* @typedef PriceAdjustmentAdd
|
|
638
|
-
* @property {number} value
|
|
801
|
+
* @property {number} value - The amount applied on the cart
|
|
639
802
|
* @property {string} message - The message associated with the price adjustment
|
|
640
803
|
* @property {string} [apply_expiry] - The date and time when the expiry should be applied
|
|
641
804
|
* @property {PriceAdjustmentRestrictions} [restrictions] - This field accepts
|
|
@@ -651,100 +814,134 @@ const Joi = require("joi");
|
|
|
651
814
|
* @property {boolean} is_authenticated - Flag indicating whether the user is
|
|
652
815
|
* authenticated
|
|
653
816
|
* @property {Article[]} article_ids - The list of article object in the price adjustment
|
|
654
|
-
* @property {Object} [meta]
|
|
655
|
-
* @property {string} cart_id -
|
|
817
|
+
* @property {Object} [meta] - Additional information regarding price adjustment
|
|
818
|
+
* @property {string} cart_id - Unique identifier of the cart
|
|
656
819
|
* @property {boolean} [auto_remove] - This field if set true will remove mop
|
|
657
820
|
* type price adjustment.
|
|
821
|
+
* @property {DistributionLogic} [distribution_logic]
|
|
822
|
+
*/
|
|
823
|
+
|
|
824
|
+
/**
|
|
825
|
+
* @typedef DistributionRule
|
|
826
|
+
* @property {Object} [conditions] - This field defines the distribution conditions
|
|
827
|
+
*/
|
|
828
|
+
|
|
829
|
+
/**
|
|
830
|
+
* @typedef Distribution
|
|
831
|
+
* @property {string} [type] - This field defines the distribution type allowed
|
|
832
|
+
* values('multi', 'single')
|
|
833
|
+
* @property {string} [logic] - This field defines the distribution logic
|
|
834
|
+
* allowed values('apportion', 'weighted', 'equally')
|
|
835
|
+
* @property {DistributionRule} [rule]
|
|
836
|
+
*/
|
|
837
|
+
|
|
838
|
+
/**
|
|
839
|
+
* @typedef DistributionLogic
|
|
840
|
+
* @property {string} [distribution_level] - This field defines the distribution
|
|
841
|
+
* level, currently allowed distribution level is (shipment)
|
|
842
|
+
* @property {Distribution} [distribution]
|
|
658
843
|
*/
|
|
659
844
|
|
|
660
845
|
/**
|
|
661
846
|
* @typedef CartItem
|
|
662
|
-
* @property {number} [quantity]
|
|
663
|
-
* @property {string} product_id
|
|
664
|
-
* @property {string} size
|
|
847
|
+
* @property {number} [quantity] - Quantity of product in cart
|
|
848
|
+
* @property {string} product_id - Unique identifier of product in cart
|
|
849
|
+
* @property {string} size - Size of product in cart
|
|
665
850
|
*/
|
|
666
851
|
|
|
667
852
|
/**
|
|
668
|
-
* @typedef
|
|
669
|
-
* @property {CartItem[]} cart_items
|
|
853
|
+
* @typedef OpenapiCartDetailsCreation
|
|
854
|
+
* @property {CartItem[]} cart_items - List of products in cart
|
|
670
855
|
*/
|
|
671
856
|
|
|
672
857
|
/**
|
|
673
858
|
* @typedef CouponBreakup
|
|
674
|
-
* @property {string} [title]
|
|
675
|
-
*
|
|
676
|
-
* @property {number} [value
|
|
677
|
-
*
|
|
678
|
-
* @property {
|
|
679
|
-
* @property {
|
|
680
|
-
*
|
|
681
|
-
* @property {
|
|
682
|
-
* @property {string} [
|
|
683
|
-
* @property {string} [
|
|
684
|
-
*
|
|
685
|
-
* @property {
|
|
686
|
-
* @property {string} [
|
|
859
|
+
* @property {string} [title] - Coupon Title of the coupon applied denotes name
|
|
860
|
+
* of the coupon
|
|
861
|
+
* @property {number} [max_discount_value] - Maximum discount value of the
|
|
862
|
+
* coupon applied to cart
|
|
863
|
+
* @property {number} [value] - Coupon value of the coupon applied to cart
|
|
864
|
+
* @property {boolean} [is_applied] - Applied flag which denotes if any coupon
|
|
865
|
+
* is applied to cart
|
|
866
|
+
* @property {string} [uid] - Unique identifier of the coupon applied to cart
|
|
867
|
+
* @property {string} [coupon_type] - Type of the coupon applied to cart
|
|
868
|
+
* @property {string} [sub_title] - Coupon subtitle of the coupon applied to
|
|
869
|
+
* cart which is used to display
|
|
870
|
+
* @property {number} [coupon_value] - Value of the coupon applied to cart
|
|
871
|
+
* @property {string} [code] - Coupon code of the coupon applied
|
|
872
|
+
* @property {string} [type] - Type of the coupon applied to cart
|
|
873
|
+
* @property {number} [minimum_cart_value] - Minimum cart value of the coupon
|
|
874
|
+
* applied to cart
|
|
875
|
+
* @property {string} [message] - Coupon message of the coupon applied to cart
|
|
876
|
+
* @property {string} [description] - Coupon description of the coupon applied to cart.
|
|
687
877
|
*/
|
|
688
878
|
|
|
689
879
|
/**
|
|
690
880
|
* @typedef DisplayBreakup
|
|
691
|
-
* @property {string} [key]
|
|
692
|
-
* @property {number} [value]
|
|
693
|
-
* @property {string} [currency_code]
|
|
694
|
-
* @property {string} [currency_symbol]
|
|
695
|
-
* @property {string} [display]
|
|
696
|
-
* @property {string[]} [message]
|
|
881
|
+
* @property {string} [key] - Key of the price like total_mrp, total, subtotal etc
|
|
882
|
+
* @property {number} [value] - Numeric value for the price
|
|
883
|
+
* @property {string} [currency_code] - Currency code for the price
|
|
884
|
+
* @property {string} [currency_symbol] - Currency symbol for the price
|
|
885
|
+
* @property {string} [display] - Display key field that to be shown against the value
|
|
886
|
+
* @property {string[]} [message] - List of message at price level to be displayed
|
|
697
887
|
*/
|
|
698
888
|
|
|
699
889
|
/**
|
|
700
890
|
* @typedef LoyaltyPoints
|
|
701
|
-
* @property {boolean} [is_applied]
|
|
702
|
-
* @property {number} [total]
|
|
703
|
-
* @property {number} [applicable]
|
|
704
|
-
*
|
|
891
|
+
* @property {boolean} [is_applied] - Whether the loyalty points are applied on the cart
|
|
892
|
+
* @property {number} [total] - Total loyalty points available with user
|
|
893
|
+
* @property {number} [applicable] - Whether the loyalty points are applicable
|
|
894
|
+
* for the cart
|
|
895
|
+
* @property {string} [description] - Description for loyalty points
|
|
705
896
|
*/
|
|
706
897
|
|
|
707
898
|
/**
|
|
708
899
|
* @typedef RawBreakup
|
|
709
|
-
* @property {number} [coupon]
|
|
710
|
-
* @property {number} [gst_charges]
|
|
711
|
-
* @property {number} [mrp_total]
|
|
712
|
-
* @property {number} [fynd_cash]
|
|
713
|
-
* @property {number} [vog]
|
|
714
|
-
*
|
|
715
|
-
* @property {number} [
|
|
716
|
-
* @property {number} [
|
|
717
|
-
*
|
|
718
|
-
* @property {number} [
|
|
719
|
-
* @property {number} [
|
|
720
|
-
* @property {number} [
|
|
721
|
-
* @property {number} [
|
|
900
|
+
* @property {number} [coupon] - Coupon amount applied to cart
|
|
901
|
+
* @property {number} [gst_charges] - GST charges applied on cart
|
|
902
|
+
* @property {number} [mrp_total] - Maximum price total amount of all products in cart
|
|
903
|
+
* @property {number} [fynd_cash] - Loyalty points applied on cart
|
|
904
|
+
* @property {number} [vog] - Total value of goods after all discount, coupons
|
|
905
|
+
* and promotion applied of all products in cart
|
|
906
|
+
* @property {number} [gift_card] - Gift cart amount applied on cart
|
|
907
|
+
* @property {number} [cod_charge] - Cod charge value applied to cart. This is
|
|
908
|
+
* applied when user select payment mode as COD
|
|
909
|
+
* @property {number} [total] - Total payable amount by the customer
|
|
910
|
+
* @property {number} [discount] - Discount amount recieved on cart
|
|
911
|
+
* @property {number} [delivery_charge] - Delivery charge applied to cart
|
|
912
|
+
* @property {number} [you_saved] - Total amount will be saved if customer
|
|
913
|
+
* places the order
|
|
914
|
+
* @property {number} [subtotal] - Selling price amount of all products in cart
|
|
915
|
+
* @property {number} [convenience_fee] - Convenience fee amount applied to cart
|
|
722
916
|
*/
|
|
723
917
|
|
|
724
918
|
/**
|
|
725
919
|
* @typedef CartBreakup
|
|
726
920
|
* @property {CouponBreakup} [coupon]
|
|
727
|
-
* @property {DisplayBreakup[]} [display]
|
|
921
|
+
* @property {DisplayBreakup[]} [display] - List of breakup data which is used
|
|
922
|
+
* to display the breakup to the customer like MRP total, Discount, Sub total,
|
|
923
|
+
* coupon value, promotion value and final total
|
|
728
924
|
* @property {LoyaltyPoints} [loyalty_points]
|
|
729
925
|
* @property {RawBreakup} [raw]
|
|
730
926
|
*/
|
|
731
927
|
|
|
732
928
|
/**
|
|
733
929
|
* @typedef ProductImage
|
|
734
|
-
* @property {string} [secure_url]
|
|
735
|
-
* @property {string} [url]
|
|
736
|
-
* @property {string} [aspect_ratio]
|
|
930
|
+
* @property {string} [secure_url] - Secured url of the product image
|
|
931
|
+
* @property {string} [url] - Bucket link url for product image
|
|
932
|
+
* @property {string} [aspect_ratio] - Aspect ratio of the product image
|
|
737
933
|
*/
|
|
738
934
|
|
|
739
935
|
/**
|
|
740
936
|
* @typedef Tags
|
|
741
|
-
* @property {Object} [tags]
|
|
937
|
+
* @property {Object} [tags] - Tags is a lable or batch that is attached to a
|
|
938
|
+
* product in cart
|
|
742
939
|
*/
|
|
743
940
|
|
|
744
941
|
/**
|
|
745
942
|
* @typedef BaseInfo
|
|
746
|
-
* @property {number} [uid]
|
|
747
|
-
* @property {string} [name]
|
|
943
|
+
* @property {number} [uid] - Unique identifier of entities like brand or seller
|
|
944
|
+
* @property {string} [name] - Name of entities like brand or seller
|
|
748
945
|
*/
|
|
749
946
|
|
|
750
947
|
/**
|
|
@@ -752,43 +949,62 @@ const Joi = require("joi");
|
|
|
752
949
|
* @property {string[]} [product_slug] - Contains list of product slug
|
|
753
950
|
*/
|
|
754
951
|
|
|
952
|
+
/**
|
|
953
|
+
* @typedef ProductActionParams
|
|
954
|
+
* @property {string[]} [slug] - Unique product url name generated via product
|
|
955
|
+
* name and other meta data.
|
|
956
|
+
*/
|
|
957
|
+
|
|
958
|
+
/**
|
|
959
|
+
* @typedef ProductActionPage
|
|
960
|
+
* @property {string} [type] - Entity of page to be redirected on click
|
|
961
|
+
* @property {ProductActionParams} [params]
|
|
962
|
+
*/
|
|
963
|
+
|
|
755
964
|
/**
|
|
756
965
|
* @typedef ProductAction
|
|
757
|
-
* @property {string} [type]
|
|
758
|
-
* @property {string} [url]
|
|
966
|
+
* @property {string} [type] - Type of action
|
|
967
|
+
* @property {string} [url] - Url of the product to render the product
|
|
759
968
|
* @property {ActionQuery} [query]
|
|
969
|
+
* @property {ProductActionPage} [page]
|
|
760
970
|
*/
|
|
761
971
|
|
|
762
972
|
/**
|
|
763
973
|
* @typedef CategoryInfo
|
|
764
|
-
* @property {number} [uid] - Product Category
|
|
765
|
-
* @property {string} [name]
|
|
974
|
+
* @property {number} [uid] - Unique identifier of Product Category
|
|
975
|
+
* @property {string} [name] - Category name of the product
|
|
766
976
|
*/
|
|
767
977
|
|
|
768
978
|
/**
|
|
769
979
|
* @typedef CartProduct
|
|
770
980
|
* @property {string} [slug] - Unique product url name generated via product
|
|
771
981
|
* name and other meta data
|
|
772
|
-
* @property {ProductImage[]} [images]
|
|
982
|
+
* @property {ProductImage[]} [images] - Product Images urls of different types
|
|
983
|
+
* like secure url, aspect ration url and url
|
|
773
984
|
* @property {Tags} [teaser_tag]
|
|
774
985
|
* @property {BaseInfo} [brand]
|
|
775
986
|
* @property {ProductAction} [action]
|
|
776
|
-
* @property {number} [uid]
|
|
777
|
-
* @property {string[]} [tags]
|
|
778
|
-
*
|
|
779
|
-
* @property {
|
|
780
|
-
* @property {string} [
|
|
781
|
-
* @property {string} [
|
|
782
|
-
*
|
|
783
|
-
* @property {
|
|
987
|
+
* @property {number} [uid] - Unique identifier of the product in cart
|
|
988
|
+
* @property {string[]} [tags] - Products tags that are added to each product to
|
|
989
|
+
* identify the set of products
|
|
990
|
+
* @property {Object} [_custom_json] - Field to add custom json of the product in cart
|
|
991
|
+
* @property {string} [type] - Type of product in cart
|
|
992
|
+
* @property {string} [name] - Product name of the product in cart which is
|
|
993
|
+
* defined on platform
|
|
994
|
+
* @property {string} [item_code] - Product code of the product while defining
|
|
995
|
+
* product on platform
|
|
996
|
+
* @property {CategoryInfo[]} [categories] - Product category information which
|
|
997
|
+
* incldes category name and category id
|
|
998
|
+
* @property {Object} [attributes] - Product attributes defined on platform
|
|
784
999
|
*/
|
|
785
1000
|
|
|
786
1001
|
/**
|
|
787
1002
|
* @typedef BasePrice
|
|
788
|
-
* @property {number} [effective]
|
|
789
|
-
*
|
|
790
|
-
* @property {string} [
|
|
791
|
-
* @property {
|
|
1003
|
+
* @property {number} [effective] - Current per unit price of product after
|
|
1004
|
+
* existing deductions
|
|
1005
|
+
* @property {string} [currency_code] - Currency code for all amounts
|
|
1006
|
+
* @property {string} [currency_symbol] - Currency symbol of the currncy used for price
|
|
1007
|
+
* @property {number} [marked] - Original price of product
|
|
792
1008
|
*/
|
|
793
1009
|
|
|
794
1010
|
/**
|
|
@@ -799,43 +1015,54 @@ const Joi = require("joi");
|
|
|
799
1015
|
|
|
800
1016
|
/**
|
|
801
1017
|
* @typedef StoreInfo
|
|
802
|
-
* @property {number} [uid]
|
|
803
|
-
*
|
|
804
|
-
* @property {string} [
|
|
1018
|
+
* @property {number} [uid] - Unique identifiers of the store from where product
|
|
1019
|
+
* is fulfileld
|
|
1020
|
+
* @property {string} [name] - Store name of the store from where the product is fulfiled
|
|
1021
|
+
* @property {string} [store_code] - A unique code or identifier for the store,
|
|
1022
|
+
* often used for internal reference
|
|
805
1023
|
*/
|
|
806
1024
|
|
|
807
1025
|
/**
|
|
808
1026
|
* @typedef ProductArticle
|
|
809
|
-
* @property {string} [seller_identifier]
|
|
810
|
-
*
|
|
1027
|
+
* @property {string} [seller_identifier] - List of identifiers used by sellers
|
|
1028
|
+
* for the product size.
|
|
1029
|
+
* @property {number} [quantity] - Quantity of the article added in cart
|
|
811
1030
|
* @property {BaseInfo} [seller]
|
|
812
|
-
* @property {Object} [cart_item_meta]
|
|
813
|
-
* @property {Object} [parent_item_identifiers]
|
|
814
|
-
*
|
|
815
|
-
* @property {
|
|
816
|
-
*
|
|
817
|
-
* @property {string
|
|
818
|
-
*
|
|
819
|
-
* @property {
|
|
820
|
-
*
|
|
821
|
-
*
|
|
822
|
-
* @property {
|
|
1031
|
+
* @property {Object} [cart_item_meta] - Meta details of the article added from cart
|
|
1032
|
+
* @property {Object} [parent_item_identifiers] - Fields to determine parent
|
|
1033
|
+
* product of the product
|
|
1034
|
+
* @property {boolean} [is_gift_visible] - Whether the product can be purchased
|
|
1035
|
+
* as a gift. It is true if the product is available for gifting and false otherwise.
|
|
1036
|
+
* @property {string} [uid] - This unique identifier is assigned to the specific
|
|
1037
|
+
* article. This represents item x size x location.
|
|
1038
|
+
* @property {Object} [gift_card] - Gift card detail if gift card applied to the
|
|
1039
|
+
* product which indicates gift price, gift applicable flag and display
|
|
1040
|
+
* message for the gift
|
|
1041
|
+
* @property {string[]} [product_group_tags] - List fot the unique identifier
|
|
1042
|
+
* for the product grouping.
|
|
1043
|
+
* @property {Object} [identifier] - Unique identifier of the article
|
|
1044
|
+
* @property {number} [mto_quantity] - Quantity of the product which will
|
|
1045
|
+
* specially manufactured as not available in stock
|
|
1046
|
+
* @property {Object} [extra_meta] - Field to update extra meta of the article in cart
|
|
1047
|
+
* @property {string} [type] - Type of the data sent in response. Possible value
|
|
1048
|
+
* is article
|
|
1049
|
+
* @property {Object} [_custom_json] - Field to update custom json of the article in cart
|
|
823
1050
|
* @property {ArticlePriceInfo} [price]
|
|
824
|
-
* @property {Object} [meta]
|
|
825
|
-
* @property {string} [size]
|
|
1051
|
+
* @property {Object} [meta] - Meta data of article in cart
|
|
1052
|
+
* @property {string} [size] - Size of the article added in cart
|
|
826
1053
|
* @property {StoreInfo} [store]
|
|
827
1054
|
* @property {string[]} [tags] - A list of article tags
|
|
828
1055
|
*/
|
|
829
1056
|
|
|
830
1057
|
/**
|
|
831
1058
|
* @typedef Ownership2
|
|
832
|
-
* @property {string} [payable_category] -
|
|
833
|
-
* @property {string} [payable_by] -
|
|
1059
|
+
* @property {string} [payable_category] - Promotion amount payable category
|
|
1060
|
+
* @property {string} [payable_by] - Promotion amount bearable party
|
|
834
1061
|
*/
|
|
835
1062
|
|
|
836
1063
|
/**
|
|
837
1064
|
* @typedef DiscountRulesApp
|
|
838
|
-
* @property {Object} [offer] - Offer for promotion
|
|
1065
|
+
* @property {Object} [offer] - Offer detail for promotion
|
|
839
1066
|
* @property {Object} [raw_offer] - Raw offer details for promotion
|
|
840
1067
|
* @property {Object} [item_criteria] - Item criteria of promotion
|
|
841
1068
|
* @property {string[]} [matched_buy_rules] - Matched buy rules for promotion
|
|
@@ -844,9 +1071,10 @@ const Joi = require("joi");
|
|
|
844
1071
|
/**
|
|
845
1072
|
* @typedef AppliedFreeArticles
|
|
846
1073
|
* @property {string} [parent_item_identifier] - Parent item identifier for free article
|
|
847
|
-
* @property {number} [quantity] - Free article quantity
|
|
848
|
-
* @property {string} [article_id] -
|
|
1074
|
+
* @property {number} [quantity] - Free article quantity in promotion
|
|
1075
|
+
* @property {string} [article_id] - Unique identifier of free article
|
|
849
1076
|
* @property {FreeGiftItems} [free_gift_item_details] - Free gift items details
|
|
1077
|
+
* in promotion
|
|
850
1078
|
*/
|
|
851
1079
|
|
|
852
1080
|
/**
|
|
@@ -874,15 +1102,15 @@ const Joi = require("joi");
|
|
|
874
1102
|
* @property {boolean} [mrp_promotion] - If applied promotion is applied on
|
|
875
1103
|
* product MRP or ESP
|
|
876
1104
|
* @property {string} [promotion_group] - Promotion group for the promotion
|
|
877
|
-
* @property {string} [promo_id] - Promotion
|
|
1105
|
+
* @property {string} [promo_id] - Promotion unique identifier
|
|
878
1106
|
* @property {Object} [meta] - Meta object for extra data
|
|
879
|
-
* @property {string} [code] - Promotion code
|
|
1107
|
+
* @property {string} [code] - Promotion unique code
|
|
880
1108
|
*/
|
|
881
1109
|
|
|
882
1110
|
/**
|
|
883
1111
|
* @typedef PromiseFormatted
|
|
884
|
-
* @property {string} [max]
|
|
885
|
-
* @property {string} [min]
|
|
1112
|
+
* @property {string} [max] - Maximum Delivery promise formatted timestamp
|
|
1113
|
+
* @property {string} [min] - Minimum Delivery promise formatted timestamp
|
|
886
1114
|
*/
|
|
887
1115
|
|
|
888
1116
|
/**
|
|
@@ -893,8 +1121,8 @@ const Joi = require("joi");
|
|
|
893
1121
|
|
|
894
1122
|
/**
|
|
895
1123
|
* @typedef PromiseTimestamp
|
|
896
|
-
* @property {number} [max]
|
|
897
|
-
* @property {number} [min]
|
|
1124
|
+
* @property {number} [max] - Maximum Promise for the shipment
|
|
1125
|
+
* @property {number} [min] - Minimum delivery promise time for the shipment
|
|
898
1126
|
*/
|
|
899
1127
|
|
|
900
1128
|
/**
|
|
@@ -906,19 +1134,23 @@ const Joi = require("joi");
|
|
|
906
1134
|
|
|
907
1135
|
/**
|
|
908
1136
|
* @typedef CouponDetails
|
|
909
|
-
* @property {number} [discount_total_quantity]
|
|
910
|
-
*
|
|
911
|
-
* @property {
|
|
1137
|
+
* @property {number} [discount_total_quantity] - Total discount earned from
|
|
1138
|
+
* coupon applied to cart
|
|
1139
|
+
* @property {number} [discount_single_quantity] - Discout amount applied from
|
|
1140
|
+
* coupon for single quantity of the product
|
|
1141
|
+
* @property {string} [code] - Coupon code of the coupon applied
|
|
912
1142
|
*/
|
|
913
1143
|
|
|
914
1144
|
/**
|
|
915
1145
|
* @typedef ProductPrice
|
|
916
|
-
* @property {number} [marked]
|
|
917
|
-
* @property {number} [add_on]
|
|
918
|
-
*
|
|
919
|
-
* @property {string} [
|
|
920
|
-
* @property {
|
|
921
|
-
*
|
|
1146
|
+
* @property {number} [marked] - Maximum price of the product
|
|
1147
|
+
* @property {number} [add_on] - Price before promotion and coupon amount
|
|
1148
|
+
* applied for calculation
|
|
1149
|
+
* @property {string} [currency_code] - Currency code of the price defined for the product
|
|
1150
|
+
* @property {string} [currency_symbol] - Currency symbol of the price defined
|
|
1151
|
+
* for the product
|
|
1152
|
+
* @property {number} [effective] - Selling price of the product
|
|
1153
|
+
* @property {number} [selling] - Selling price of the product
|
|
922
1154
|
*/
|
|
923
1155
|
|
|
924
1156
|
/**
|
|
@@ -934,226 +1166,259 @@ const Joi = require("joi");
|
|
|
934
1166
|
|
|
935
1167
|
/**
|
|
936
1168
|
* @typedef ProductAvailabilitySize
|
|
937
|
-
* @property {string} [display]
|
|
938
|
-
* @property {string} [value]
|
|
939
|
-
* @property {boolean} [is_available]
|
|
1169
|
+
* @property {string} [display] - Display size of the product
|
|
1170
|
+
* @property {string} [value] - Actual value of the size
|
|
1171
|
+
* @property {boolean} [is_available] - Available flag for the size of the
|
|
1172
|
+
* product if that is available
|
|
940
1173
|
*/
|
|
941
1174
|
|
|
942
1175
|
/**
|
|
943
1176
|
* @typedef ProductAvailability
|
|
944
|
-
* @property {boolean} [is_valid]
|
|
945
|
-
*
|
|
946
|
-
* @property {
|
|
947
|
-
*
|
|
948
|
-
* @property {boolean} [
|
|
949
|
-
*
|
|
1177
|
+
* @property {boolean} [is_valid] - Valid flag for the product if the product
|
|
1178
|
+
* added in cart is valid to place the order
|
|
1179
|
+
* @property {number} [other_store_quantity] - Quantity of the product available
|
|
1180
|
+
* on other store
|
|
1181
|
+
* @property {boolean} [deliverable] - Deliverable flag denotes if the product
|
|
1182
|
+
* is deliverable or not
|
|
1183
|
+
* @property {ProductAvailabilitySize[]} [available_sizes] - Product sizes availability
|
|
1184
|
+
* @property {boolean} [out_of_stock] - Denotes if the product is available in stock
|
|
1185
|
+
* @property {string[]} [sizes] - All sizes of the product
|
|
950
1186
|
*/
|
|
951
1187
|
|
|
952
1188
|
/**
|
|
953
1189
|
* @typedef PromoMeta
|
|
954
|
-
* @property {string} [message]
|
|
1190
|
+
* @property {string} [message] - Loyalty points message denotes how much
|
|
1191
|
+
* loyalty points and applied and how much left with the user
|
|
955
1192
|
*/
|
|
956
1193
|
|
|
957
1194
|
/**
|
|
958
1195
|
* @typedef CartProductInfo
|
|
959
|
-
* @property {number} [quantity]
|
|
1196
|
+
* @property {number} [quantity] - Quantity of the product added in cart
|
|
960
1197
|
* @property {CartProduct} [product]
|
|
961
|
-
* @property {string} [product_ean_id]
|
|
962
|
-
*
|
|
963
|
-
* @property {
|
|
1198
|
+
* @property {string} [product_ean_id] - European Article Number of the product
|
|
1199
|
+
* (limited upto 50 EAN identifier in a single request)
|
|
1200
|
+
* @property {Object} [parent_item_identifiers] - Parent item information of the
|
|
1201
|
+
* product which identifies the parent of the product in cart
|
|
1202
|
+
* @property {boolean} [is_set] - Whether or not the product is a set of items
|
|
964
1203
|
* @property {ProductArticle} [article]
|
|
965
|
-
* @property {AppliedPromotion[]} [promotions_applied]
|
|
1204
|
+
* @property {AppliedPromotion[]} [promotions_applied] - List of applicable
|
|
1205
|
+
* promotion for the product in cart
|
|
966
1206
|
* @property {ShipmentPromise} [delivery_promise]
|
|
967
|
-
* @property {string} [key]
|
|
1207
|
+
* @property {string} [key] - The attribute key associated with the size
|
|
968
1208
|
* @property {CouponDetails} [coupon]
|
|
969
|
-
* @property {Object} [bulk_offer]
|
|
1209
|
+
* @property {Object} [bulk_offer] - Bulk offer information for the product
|
|
1210
|
+
* which denotes if any bulk offer is applied to the product in cart
|
|
970
1211
|
* @property {ProductPriceInfo} [price]
|
|
971
|
-
* @property {string} [coupon_message]
|
|
1212
|
+
* @property {string} [coupon_message] - Message for the coupon denotes which
|
|
1213
|
+
* coupon is applied and empty if not applied
|
|
972
1214
|
* @property {CartProductIdentifer} identifiers
|
|
973
|
-
* @property {string} [message]
|
|
974
|
-
*
|
|
1215
|
+
* @property {string} [message] - Product level message which denotes error
|
|
1216
|
+
* information to display over the product in cart
|
|
1217
|
+
* @property {string} [discount] - Discount amount of the product in cart
|
|
975
1218
|
* @property {ProductAvailability} [availability]
|
|
976
|
-
* @property {Object} [moq]
|
|
1219
|
+
* @property {Object} [moq] - An Integer indication the Minimum Order Quantity
|
|
1220
|
+
* of a product, e.g. 100.
|
|
977
1221
|
* @property {ProductPriceInfo} [price_per_unit]
|
|
978
1222
|
* @property {PromoMeta} [promo_meta]
|
|
979
|
-
* @property {Object} [custom_order]
|
|
1223
|
+
* @property {Object} [custom_order] - Whether MTO (Make to Order) is enabled or not.
|
|
980
1224
|
*/
|
|
981
1225
|
|
|
982
1226
|
/**
|
|
983
|
-
* @typedef
|
|
984
|
-
* @property {boolean} [is_valid]
|
|
985
|
-
*
|
|
1227
|
+
* @typedef OpenapiCartDetailsResult
|
|
1228
|
+
* @property {boolean} [is_valid] - Cart validity flag determines the if the
|
|
1229
|
+
* response is valid or not
|
|
1230
|
+
* @property {string} [message] - Message of the cart Open API cart detail response
|
|
986
1231
|
* @property {CartBreakup} [breakup_values]
|
|
987
|
-
* @property {CartProductInfo[]} [items]
|
|
1232
|
+
* @property {CartProductInfo[]} [items] - Items details in cart
|
|
988
1233
|
*/
|
|
989
1234
|
|
|
990
1235
|
/**
|
|
991
|
-
* @typedef
|
|
992
|
-
* @property {boolean} [success]
|
|
993
|
-
* @property {string} [message]
|
|
1236
|
+
* @typedef OpenApiErrorResult
|
|
1237
|
+
* @property {boolean} [success] - Success flag for cart detail open api response
|
|
1238
|
+
* @property {string} [message] - Error message of the Open API cart detail response
|
|
994
1239
|
* @property {Object} [errors] - Contains field name which has error as key and
|
|
995
1240
|
* error message as value
|
|
996
1241
|
*/
|
|
997
1242
|
|
|
998
1243
|
/**
|
|
999
1244
|
* @typedef ShippingAddress
|
|
1000
|
-
* @property {string} [country]
|
|
1001
|
-
* @property {string} [state]
|
|
1002
|
-
* @property {string} [city]
|
|
1003
|
-
* @property {number} [phone]
|
|
1004
|
-
* @property {string} area_code
|
|
1005
|
-
* @property {string} [country_iso_code]
|
|
1006
|
-
* @property {string} [country_phone_code]
|
|
1007
|
-
* @property {Object} [meta]
|
|
1008
|
-
* @property {string} [address_type]
|
|
1009
|
-
* @property {string} [area]
|
|
1010
|
-
* @property {string} [area_code_slug]
|
|
1011
|
-
*
|
|
1012
|
-
* @property {string} [
|
|
1013
|
-
* @property {string} [
|
|
1014
|
-
* @property {string} [
|
|
1015
|
-
* @property {
|
|
1016
|
-
* @property {
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
* @
|
|
1245
|
+
* @property {string} [country] - Country of address
|
|
1246
|
+
* @property {string} [state] - State of the address
|
|
1247
|
+
* @property {string} [city] - City of the address
|
|
1248
|
+
* @property {number} [phone] - Phone number for address
|
|
1249
|
+
* @property {string} area_code - Area code of the address
|
|
1250
|
+
* @property {string} [country_iso_code] - Country iso code for address
|
|
1251
|
+
* @property {string} [country_phone_code] - Country phone code for address
|
|
1252
|
+
* @property {Object} [meta] - Metadata of the address
|
|
1253
|
+
* @property {string} [address_type] - Address type of address
|
|
1254
|
+
* @property {string} [area] - Area description for address
|
|
1255
|
+
* @property {string} [area_code_slug] - Area code slug for address. example
|
|
1256
|
+
* pincode is slug for India
|
|
1257
|
+
* @property {string} [name] - Name of person in address data to whom it belongs to
|
|
1258
|
+
* @property {string} [landmark] - Landmark of address
|
|
1259
|
+
* @property {string} [email] - Email address for address data
|
|
1260
|
+
* @property {string} [country_code] - Country code of address
|
|
1261
|
+
* @property {number} [pincode] - Pincode for address data
|
|
1262
|
+
* @property {string} [address] - Address description for address data
|
|
1263
|
+
*/
|
|
1264
|
+
|
|
1265
|
+
/**
|
|
1266
|
+
* @typedef OpenApiCartServiceabilityCreation
|
|
1267
|
+
* @property {CartItem[]} cart_items - List of items in open api cart response
|
|
1022
1268
|
* @property {ShippingAddress} shipping_address
|
|
1023
1269
|
*/
|
|
1024
1270
|
|
|
1025
1271
|
/**
|
|
1026
|
-
* @typedef
|
|
1027
|
-
* @property {boolean} [is_valid]
|
|
1028
|
-
*
|
|
1272
|
+
* @typedef OpenApiCartServiceabilityResult
|
|
1273
|
+
* @property {boolean} [is_valid] - Cart validity flag determines the if the
|
|
1274
|
+
* response is valid or not
|
|
1275
|
+
* @property {CartProductInfo[]} [items] - Items data list in user cart that
|
|
1276
|
+
* includes item id, item size, store id, available sizes and rest of the item
|
|
1277
|
+
* related data
|
|
1029
1278
|
* @property {ShipmentPromise} [delivery_promise]
|
|
1030
|
-
* @property {string} [message]
|
|
1279
|
+
* @property {string} [message] - Message of the cart detail API response
|
|
1031
1280
|
* @property {CartBreakup} [breakup_values]
|
|
1032
1281
|
*/
|
|
1033
1282
|
|
|
1034
1283
|
/**
|
|
1035
1284
|
* @typedef OpenApiFiles
|
|
1036
|
-
* @property {string} key
|
|
1037
|
-
* @property {string[]} values
|
|
1285
|
+
* @property {string} key - Key represents name of file
|
|
1286
|
+
* @property {string[]} values - List of urls path
|
|
1038
1287
|
*/
|
|
1039
1288
|
|
|
1040
1289
|
/**
|
|
1041
1290
|
* @typedef CartItemMeta
|
|
1042
|
-
* @property {boolean} [primary_item]
|
|
1043
|
-
* @property {string} [group_id]
|
|
1291
|
+
* @property {boolean} [primary_item] - Flags indicates item is primary or not
|
|
1292
|
+
* @property {string} [group_id] - Fields to determine group id of the product
|
|
1044
1293
|
*/
|
|
1045
1294
|
|
|
1046
1295
|
/**
|
|
1047
1296
|
* @typedef MultiTenderPaymentMeta
|
|
1048
|
-
* @property {string} [payment_id]
|
|
1049
|
-
* @property {string} [payment_gateway]
|
|
1050
|
-
* @property {Object} [extra_meta]
|
|
1051
|
-
*
|
|
1052
|
-
* @property {string} [
|
|
1297
|
+
* @property {string} [payment_id] - Payment gateway identifier
|
|
1298
|
+
* @property {string} [payment_gateway] - Payment gateway used to do the payment
|
|
1299
|
+
* @property {Object} [extra_meta] - Payment extra meta for the payment mode to
|
|
1300
|
+
* do the payment
|
|
1301
|
+
* @property {string} [current_status] - Current status of the payment
|
|
1302
|
+
* @property {string} [order_id] - Payment gateway order id
|
|
1053
1303
|
*/
|
|
1054
1304
|
|
|
1055
1305
|
/**
|
|
1056
1306
|
* @typedef MultiTenderPaymentMethod
|
|
1057
|
-
* @property {string} mode
|
|
1058
|
-
* @property {number} amount -
|
|
1307
|
+
* @property {string} mode - Payment mode of payment method used to make payment
|
|
1308
|
+
* @property {number} amount - Amount of the payment mode to be paid
|
|
1059
1309
|
* @property {MultiTenderPaymentMeta} [meta]
|
|
1060
|
-
* @property {string} [name] -
|
|
1310
|
+
* @property {string} [name] - Name of the payment mode used to make payment
|
|
1061
1311
|
*/
|
|
1062
1312
|
|
|
1063
1313
|
/**
|
|
1064
1314
|
* @typedef OpenApiOrderItem
|
|
1065
|
-
* @property {number} cashback_applied
|
|
1066
|
-
* @property {number} [quantity]
|
|
1067
|
-
* @property {string} size
|
|
1068
|
-
* @property {number} coupon_effective_discount
|
|
1069
|
-
*
|
|
1070
|
-
* @property {number}
|
|
1071
|
-
* @property {number}
|
|
1072
|
-
* @property {
|
|
1315
|
+
* @property {number} cashback_applied - Cashback applied on user cart
|
|
1316
|
+
* @property {number} [quantity] - Article quantity in user cart
|
|
1317
|
+
* @property {string} size - Size of the article added in cart
|
|
1318
|
+
* @property {number} coupon_effective_discount - Coupon discount applied on
|
|
1319
|
+
* article in user cart
|
|
1320
|
+
* @property {number} amount_paid - Amount needs to paid for article in cart
|
|
1321
|
+
* @property {number} delivery_charges - Delivery charges applied on article in cart
|
|
1322
|
+
* @property {number} price_marked - Original price of product
|
|
1323
|
+
* @property {OpenApiFiles[]} [files] - List of file url
|
|
1073
1324
|
* @property {CartItemMeta} [meta]
|
|
1074
|
-
* @property {Object} [extra_meta]
|
|
1075
|
-
* @property {number} product_id
|
|
1076
|
-
* @property {number} [loyalty_discount]
|
|
1077
|
-
* @property {number} discount
|
|
1078
|
-
* @property {number} price_effective
|
|
1079
|
-
*
|
|
1080
|
-
* @property {
|
|
1081
|
-
*
|
|
1325
|
+
* @property {Object} [extra_meta] - Extra meta of the article in cart
|
|
1326
|
+
* @property {number} product_id - Product id associated with article in cart
|
|
1327
|
+
* @property {number} [loyalty_discount] - Loyalty points applied on cart
|
|
1328
|
+
* @property {number} discount - Discount value applied on article in cart
|
|
1329
|
+
* @property {number} price_effective - Current per unit price of product after
|
|
1330
|
+
* existing deductions
|
|
1331
|
+
* @property {MultiTenderPaymentMethod[]} payment_methods - Payment methods list
|
|
1332
|
+
* used to make the payment
|
|
1333
|
+
* @property {number} [employee_discount] - Employee discount value applied on
|
|
1334
|
+
* article in cart
|
|
1335
|
+
* @property {number} cod_charges - Cash On Delivery charges applied on article in cart
|
|
1082
1336
|
*/
|
|
1083
1337
|
|
|
1084
1338
|
/**
|
|
1085
1339
|
* @typedef OpenApiPlatformCheckoutReq
|
|
1086
|
-
* @property {string} [payment_mode]
|
|
1087
|
-
*
|
|
1088
|
-
* @property {
|
|
1340
|
+
* @property {string} [payment_mode] - Payment mode from which the payment to be
|
|
1341
|
+
* done for the order
|
|
1342
|
+
* @property {number} cart_value - Total amount of user cart
|
|
1343
|
+
* @property {OpenApiOrderItem[]} cart_items - List of items in user cart
|
|
1089
1344
|
* @property {ShippingAddress} [shipping_address]
|
|
1090
|
-
* @property {number} [loyalty_discount]
|
|
1091
|
-
* @property {string} [comment]
|
|
1092
|
-
* @property {MultiTenderPaymentMethod[]} payment_methods
|
|
1093
|
-
*
|
|
1094
|
-
* @property {
|
|
1095
|
-
* @property {
|
|
1096
|
-
* @property {
|
|
1345
|
+
* @property {number} [loyalty_discount] - Loyalty points applied on cart
|
|
1346
|
+
* @property {string} [comment] - Comment message added in cart after order placed
|
|
1347
|
+
* @property {MultiTenderPaymentMethod[]} payment_methods - Payment methods list
|
|
1348
|
+
* used to make the payment
|
|
1349
|
+
* @property {Object} [employee_discount] - Employee discount value applied on user cart
|
|
1350
|
+
* @property {string} [coupon] - Coupon text of coupon applied on user cart
|
|
1351
|
+
* @property {number} cashback_applied - Cashback applied on user cart
|
|
1352
|
+
* @property {string} [gstin] - GSTIN number added in cart
|
|
1097
1353
|
* @property {ShippingAddress} billing_address
|
|
1098
|
-
* @property {string} coupon_code
|
|
1099
|
-
* @property {number} coupon_value
|
|
1100
|
-
* @property {number} delivery_charges
|
|
1101
|
-
*
|
|
1102
|
-
* @property {string} [
|
|
1103
|
-
* @property {string} [
|
|
1104
|
-
* @property {
|
|
1105
|
-
* @property {
|
|
1354
|
+
* @property {string} coupon_code - Coupon code to be applied to cart
|
|
1355
|
+
* @property {number} coupon_value - Value of the coupon applied to cart
|
|
1356
|
+
* @property {number} delivery_charges - Delivery charges of the order placed
|
|
1357
|
+
* via checkout API
|
|
1358
|
+
* @property {string} [affiliate_order_id] - Order id generated after placing order
|
|
1359
|
+
* @property {string} [currency_code] - Currency code for the price
|
|
1360
|
+
* @property {string} [order_id] - Order id generated after placing order
|
|
1361
|
+
* @property {OpenApiFiles[]} [files] - List of file url
|
|
1362
|
+
* @property {number} cod_charges - Cash On Delivery charges of the user cart
|
|
1106
1363
|
*/
|
|
1107
1364
|
|
|
1108
1365
|
/**
|
|
1109
|
-
* @typedef
|
|
1110
|
-
* @property {boolean} [success]
|
|
1111
|
-
* @property {string} [message]
|
|
1366
|
+
* @typedef OpenApiCheckoutResult
|
|
1367
|
+
* @property {boolean} [success] - The request success is defined
|
|
1368
|
+
* @property {string} [message] - Message of the api response
|
|
1112
1369
|
* @property {string} [order_ref_id] - Order id sent in request
|
|
1113
1370
|
* @property {string} order_id - Fynd order id
|
|
1114
1371
|
*/
|
|
1115
1372
|
|
|
1116
1373
|
/**
|
|
1117
1374
|
* @typedef AbandonedCart
|
|
1118
|
-
* @property {string} expire_at
|
|
1119
|
-
* @property {Object} [promotion]
|
|
1120
|
-
*
|
|
1121
|
-
* @property {
|
|
1122
|
-
* @property {
|
|
1123
|
-
* @property {Object}
|
|
1124
|
-
* @property {
|
|
1125
|
-
*
|
|
1126
|
-
* @property {
|
|
1127
|
-
*
|
|
1128
|
-
* @property {string}
|
|
1129
|
-
* @property {
|
|
1130
|
-
* @property {
|
|
1131
|
-
* @property {
|
|
1132
|
-
* @property {
|
|
1133
|
-
* @property {Object
|
|
1134
|
-
* @property {Object} [
|
|
1135
|
-
* @property {
|
|
1136
|
-
*
|
|
1137
|
-
* @property {
|
|
1138
|
-
*
|
|
1139
|
-
* @property {
|
|
1140
|
-
*
|
|
1141
|
-
* @property {
|
|
1142
|
-
* @property {
|
|
1143
|
-
* @property {
|
|
1144
|
-
* @property {
|
|
1145
|
-
* @property {
|
|
1146
|
-
* @property {string}
|
|
1147
|
-
* @property {Object} [
|
|
1148
|
-
* @property {boolean} [
|
|
1149
|
-
*
|
|
1150
|
-
* @property {
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
* @
|
|
1155
|
-
* @property {
|
|
1156
|
-
* @property {
|
|
1375
|
+
* @property {string} expire_at - Expire details of user cart
|
|
1376
|
+
* @property {Object} [promotion] - Promotion object details like amount, mode,
|
|
1377
|
+
* currency and list of promotions in user cart
|
|
1378
|
+
* @property {boolean} is_default - User cart default status
|
|
1379
|
+
* @property {string} [comment] - Comment message to be added in user cart
|
|
1380
|
+
* @property {Object[]} articles - List of articles in user cart
|
|
1381
|
+
* @property {Object} [coupon] - Coupon data of user cart which denotes if
|
|
1382
|
+
* coupon is applied, coupon code, coupon amount, coupon title and coupon message
|
|
1383
|
+
* @property {number} [bulk_coupon_discount] - Total bulk discount amount
|
|
1384
|
+
* applied in user cart
|
|
1385
|
+
* @property {string} _id - Unique identifier of the user cart
|
|
1386
|
+
* @property {Object} [fynd_credits] - Fynd credit points applied in user cart
|
|
1387
|
+
* @property {number[]} [fc_index_map] - Flat article index in user cart
|
|
1388
|
+
* @property {string} [order_id] - Order id generated in user cart
|
|
1389
|
+
* @property {number} [discount] - Discount amount of the product in cart
|
|
1390
|
+
* @property {Object} [cod_charges] - Cash On Delivery charges of the user cart
|
|
1391
|
+
* @property {Object} [payments] - Payment object selected in user cart
|
|
1392
|
+
* @property {string} [payment_mode] - Payment mode of the payment selected to
|
|
1393
|
+
* do the payment
|
|
1394
|
+
* @property {Object[]} [shipments] - Shipment details for the items in a cart,
|
|
1395
|
+
* specific to the selected address.
|
|
1396
|
+
* @property {Object} [pick_up_customer_details] - Customer contact details for
|
|
1397
|
+
* customer pickup at store
|
|
1398
|
+
* @property {number} uid - Unique Identifier of user cart
|
|
1399
|
+
* @property {string} [checkout_mode] - Checkout mode of user cart
|
|
1400
|
+
* @property {number} [cart_value] - Total amount of user cart
|
|
1401
|
+
* @property {boolean} [is_archive] - Flag to indicate cart is archived or not
|
|
1402
|
+
* @property {string} created_on - Date time format when user cart created
|
|
1403
|
+
* @property {string} last_modified - Date time format when user cart last modified
|
|
1404
|
+
* @property {Object} [meta] - Extra meta data of user cart
|
|
1405
|
+
* @property {boolean} [buy_now] - Buy now flag for the cart which denotes user
|
|
1406
|
+
* is doing fast checkout for the cart using buy now
|
|
1407
|
+
* @property {boolean} [is_active] - Flag indicates user cart is active or not
|
|
1408
|
+
* @property {Object} cashback - Cart level cashback data which denotes cashback
|
|
1409
|
+
* amount and cashback message
|
|
1410
|
+
* @property {Object[]} [payment_methods] - Payment methods list used to make the payment
|
|
1411
|
+
* @property {string} [gstin] - GSTIN added in user cart
|
|
1412
|
+
* @property {Object} [delivery_charges] - Delivery charges of user cart
|
|
1413
|
+
* @property {boolean} [merge_qty] - Flag indicates cart has merged article or not
|
|
1414
|
+
* @property {string} user_id - User Id of user cart
|
|
1415
|
+
* @property {string} [app_id] - Application id of user cart
|
|
1416
|
+
*/
|
|
1417
|
+
|
|
1418
|
+
/**
|
|
1419
|
+
* @typedef AbandonedCartResult
|
|
1420
|
+
* @property {AbandonedCart[]} [items] - List of items in abandon cart
|
|
1421
|
+
* @property {Object} [result] - Define the list of items with updated status
|
|
1157
1422
|
* @property {Page} [page]
|
|
1158
1423
|
* @property {boolean} [success] - The request success is defined
|
|
1159
1424
|
* @property {string} [message] - Message of the response
|
|
@@ -1161,47 +1426,54 @@ const Joi = require("joi");
|
|
|
1161
1426
|
|
|
1162
1427
|
/**
|
|
1163
1428
|
* @typedef PaymentSelectionLock
|
|
1164
|
-
* @property {string} [payment_identifier]
|
|
1165
|
-
* @property {string} [default_options]
|
|
1166
|
-
* @property {boolean} [enabled]
|
|
1429
|
+
* @property {string} [payment_identifier] - Identifier for Payment Mode
|
|
1430
|
+
* @property {string} [default_options] - Default Selection Payment Mode
|
|
1431
|
+
* @property {boolean} [enabled] - Denotes if default payment selection is enable
|
|
1167
1432
|
*/
|
|
1168
1433
|
|
|
1169
1434
|
/**
|
|
1170
1435
|
* @typedef CartCurrency
|
|
1171
1436
|
* @property {string} [code] - Currency code defined by ISO 4217:2015
|
|
1172
|
-
* @property {string} [symbol]
|
|
1437
|
+
* @property {string} [symbol] - Currency symbol for currency of user cart prices
|
|
1173
1438
|
*/
|
|
1174
1439
|
|
|
1175
1440
|
/**
|
|
1176
1441
|
* @typedef CartDetailCoupon
|
|
1177
|
-
* @property {number} [cashback_amount]
|
|
1178
|
-
* @property {string} [cashback_message_primary]
|
|
1179
|
-
*
|
|
1180
|
-
* @property {string} [
|
|
1181
|
-
*
|
|
1182
|
-
* @property {string} [
|
|
1183
|
-
* @property {string} [
|
|
1184
|
-
*
|
|
1185
|
-
* @property {string} [
|
|
1186
|
-
* @property {
|
|
1187
|
-
* @property {
|
|
1188
|
-
* @property {
|
|
1189
|
-
* @property {
|
|
1190
|
-
* @property {number} [
|
|
1191
|
-
* @property {
|
|
1192
|
-
*
|
|
1442
|
+
* @property {number} [cashback_amount] - Fields denotes cashback amount applied to cart
|
|
1443
|
+
* @property {string} [cashback_message_primary] - Primary cashback message for
|
|
1444
|
+
* coupon applied to cart
|
|
1445
|
+
* @property {string} [cashback_message_secondary] - Secondary cashback message
|
|
1446
|
+
* for coupon applied to cart
|
|
1447
|
+
* @property {string} [coupon_code] - Coupon code to be applied to cart
|
|
1448
|
+
* @property {string} [coupon_description] - Coupon description of the coupon
|
|
1449
|
+
* applied to cart
|
|
1450
|
+
* @property {string} [coupon_id] - Unique identifier of the coupon applied to cart
|
|
1451
|
+
* @property {string} [coupon_subtitle] - Coupon subtitle of the coupon applied to cart
|
|
1452
|
+
* @property {string} [coupon_title] - Coupon title of the coupon applied
|
|
1453
|
+
* @property {string} [coupon_type] - Type of the coupon applied to cart
|
|
1454
|
+
* @property {number} [coupon_value] - Value of the coupon applied to cart
|
|
1455
|
+
* @property {number} [discount] - Total discount earned from coupon applied to cart
|
|
1456
|
+
* @property {boolean} [is_applied] - Flag to determine where the coupon is
|
|
1457
|
+
* applied to cart or not
|
|
1458
|
+
* @property {boolean} [is_valid] - Determine where the coupon applied to cart is valid
|
|
1459
|
+
* @property {number} [maximum_discount_value] - Maximum discount value of the
|
|
1460
|
+
* coupon applied to cart
|
|
1461
|
+
* @property {string} [message] - Coupon message of the coupon applied to cart
|
|
1462
|
+
* @property {number} [minimum_cart_value] - Minimum cart value of the coupon
|
|
1463
|
+
* applied to cart
|
|
1193
1464
|
*/
|
|
1194
1465
|
|
|
1195
1466
|
/**
|
|
1196
1467
|
* @typedef ChargesThreshold
|
|
1197
|
-
* @property {number} [charges]
|
|
1198
|
-
* @property {number} [threshold]
|
|
1468
|
+
* @property {number} [charges] - Charges amount to be applied on cart
|
|
1469
|
+
* @property {number} [threshold] - Threshold of cart value on which the charge
|
|
1470
|
+
* should be applied
|
|
1199
1471
|
*/
|
|
1200
1472
|
|
|
1201
1473
|
/**
|
|
1202
1474
|
* @typedef DeliveryChargesConfig
|
|
1203
|
-
* @property {boolean} [enabled]
|
|
1204
|
-
* @property {ChargesThreshold[]} [charges]
|
|
1475
|
+
* @property {boolean} [enabled] - Delivery charge enabled for the cart or not
|
|
1476
|
+
* @property {ChargesThreshold[]} [charges] - Charges applicable based on threshold
|
|
1205
1477
|
*/
|
|
1206
1478
|
|
|
1207
1479
|
/**
|
|
@@ -1210,546 +1482,734 @@ const Joi = require("joi");
|
|
|
1210
1482
|
*/
|
|
1211
1483
|
|
|
1212
1484
|
/**
|
|
1213
|
-
* @typedef
|
|
1214
|
-
* @property {number} [cart_id]
|
|
1215
|
-
* @property {string} [uid]
|
|
1216
|
-
* @property {string} [coupon_text]
|
|
1217
|
-
* @property {string} [id]
|
|
1218
|
-
* @property {Object} [pan_config]
|
|
1485
|
+
* @typedef CartDetailResult
|
|
1486
|
+
* @property {number} [cart_id] - Unique identifier of the user cart
|
|
1487
|
+
* @property {string} [uid] - Unique identifier of the user cart
|
|
1488
|
+
* @property {string} [coupon_text] - Coupon text of coupon applied on cart
|
|
1489
|
+
* @property {string} [id] - Unique identifier of the user cart
|
|
1490
|
+
* @property {Object} [pan_config] - Pan card config states at what condition
|
|
1491
|
+
* user should enter the pan card
|
|
1219
1492
|
* @property {ShipmentPromise} [delivery_promise]
|
|
1220
|
-
* @property {string} [comment]
|
|
1221
|
-
* @property {CartProductInfo[]} [items]
|
|
1493
|
+
* @property {string} [comment] - Comment message to be added in user cart
|
|
1494
|
+
* @property {CartProductInfo[]} [items] - Items data list in user cart that
|
|
1495
|
+
* includes item id, item size, store id, available sizes and rest of the item
|
|
1496
|
+
* related data
|
|
1222
1497
|
* @property {PaymentSelectionLock} [payment_selection_lock]
|
|
1223
|
-
* @property {string} [delivery_charge_info]
|
|
1498
|
+
* @property {string} [delivery_charge_info] - Delivery charge in information
|
|
1499
|
+
* message on shipment
|
|
1224
1500
|
* @property {CartCommonConfig} [common_config]
|
|
1225
1501
|
* @property {CartDetailCoupon} [coupon]
|
|
1226
|
-
* @property {boolean} [restrict_checkout]
|
|
1227
|
-
*
|
|
1228
|
-
* @property {
|
|
1229
|
-
* @property {
|
|
1230
|
-
*
|
|
1502
|
+
* @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict
|
|
1503
|
+
* the checkout process
|
|
1504
|
+
* @property {string} [message] - Message of the cart detail API response
|
|
1505
|
+
* @property {Object} [notification] - Notification object which denotes
|
|
1506
|
+
* notification data for user cart
|
|
1507
|
+
* @property {string} [staff_user_id] - Staff employee user id if cart is
|
|
1508
|
+
* created by staff employee for the customer
|
|
1509
|
+
* @property {boolean} [success] - Success flag of get cart detail API response
|
|
1231
1510
|
* @property {CartBreakup} [breakup_values]
|
|
1232
|
-
* @property {boolean} [is_valid]
|
|
1511
|
+
* @property {boolean} [is_valid] - Cart validity flag determines the if the
|
|
1512
|
+
* response is valid or not
|
|
1233
1513
|
* @property {CartCurrency} [currency]
|
|
1234
|
-
* @property {string} [checkout_mode]
|
|
1235
|
-
* @property {string} [last_modified]
|
|
1236
|
-
* @property {boolean} [buy_now]
|
|
1237
|
-
*
|
|
1238
|
-
* @property {
|
|
1239
|
-
* @property {
|
|
1240
|
-
*
|
|
1514
|
+
* @property {string} [checkout_mode] - Checkout mode of user cart
|
|
1515
|
+
* @property {string} [last_modified] - Last modified timestamp of cart
|
|
1516
|
+
* @property {boolean} [buy_now] - Buy now flag for the cart which denotes user
|
|
1517
|
+
* is doing fast checkout for the cart using buy now
|
|
1518
|
+
* @property {string} [gstin] - GSTIN added in user cart
|
|
1519
|
+
* @property {AppliedPromotion[]} [applied_promo_details] - List of applied
|
|
1520
|
+
* promotions data to cart which includes promotion id, promotion name, offer
|
|
1521
|
+
* text, description, buy rules, discount rules and promotion type
|
|
1522
|
+
* @property {string} [pan_no] - Permanent Account Number of the user
|
|
1523
|
+
* @property {Object} [custom_cart_meta] - Custom meta details added cart
|
|
1524
|
+
* checkout API payload
|
|
1241
1525
|
*/
|
|
1242
1526
|
|
|
1243
1527
|
/**
|
|
1244
1528
|
* @typedef AddProductCart
|
|
1245
|
-
* @property {number} [quantity]
|
|
1246
|
-
*
|
|
1247
|
-
* @property {
|
|
1248
|
-
* @property {
|
|
1249
|
-
*
|
|
1250
|
-
* @property {
|
|
1251
|
-
*
|
|
1252
|
-
* @property {
|
|
1253
|
-
*
|
|
1254
|
-
* @property {
|
|
1255
|
-
* @property {Object} [
|
|
1256
|
-
*
|
|
1257
|
-
* @property {
|
|
1258
|
-
*
|
|
1529
|
+
* @property {number} [quantity] - Field to specify the product quantity that
|
|
1530
|
+
* user wants to buy
|
|
1531
|
+
* @property {string} [item_size] - Field to determine size of the product
|
|
1532
|
+
* @property {number} [seller_id] - Unique identifier of the seller selected by
|
|
1533
|
+
* the user from which user want to buy a product
|
|
1534
|
+
* @property {Object[]} [parent_item_identifiers] - Fields to determine parent
|
|
1535
|
+
* product of the product
|
|
1536
|
+
* @property {string[]} [product_group_tags] - Field to specify the product
|
|
1537
|
+
* groups of the product that the user is trying to add in cart
|
|
1538
|
+
* @property {string} [article_id] - Unique identifier of an article
|
|
1539
|
+
* @property {Object} [article_assignment] - Field to determine how article
|
|
1540
|
+
* assignment should happen by article assignment level and strategy
|
|
1541
|
+
* @property {number} [store_id] - Unique identifier of the store selected by
|
|
1542
|
+
* the user from which user want to buy a product
|
|
1543
|
+
* @property {string} [display] - Display field at article level
|
|
1544
|
+
* @property {number} [item_id] - Unique identifier to identify product
|
|
1545
|
+
* @property {Object} [extra_meta] - Extra meta data to be added at article
|
|
1546
|
+
* level while add items to cart
|
|
1547
|
+
* @property {Object} [_custom_json] - Field to add custom json at article level
|
|
1548
|
+
* while add items to cart
|
|
1549
|
+
* @property {Object} [meta] - Field to add meta data at article level
|
|
1550
|
+
* @property {boolean} [pos] - Filed to determine whether user is making request
|
|
1551
|
+
* from pos or not
|
|
1259
1552
|
* @property {string} [seller_identifier] - Add items using seller identifier for store os
|
|
1260
1553
|
*/
|
|
1261
1554
|
|
|
1262
1555
|
/**
|
|
1263
|
-
* @typedef
|
|
1264
|
-
* @property {boolean} [new_cart]
|
|
1265
|
-
*
|
|
1556
|
+
* @typedef AddCartCreation
|
|
1557
|
+
* @property {boolean} [new_cart] - Field to create to new cart whille user adds
|
|
1558
|
+
* item to cart
|
|
1559
|
+
* @property {AddProductCart[]} [items] - List of items detail which need to be
|
|
1560
|
+
* added to cart like item id, item size, and item quantity
|
|
1266
1561
|
*/
|
|
1267
1562
|
|
|
1268
1563
|
/**
|
|
1269
|
-
* @typedef
|
|
1564
|
+
* @typedef AddCartDetailResult
|
|
1270
1565
|
* @property {boolean} [success] - True if all items are added successfully.
|
|
1271
1566
|
* False if partially added or not added.
|
|
1272
|
-
* @property {
|
|
1567
|
+
* @property {CartDetailResult} [cart]
|
|
1273
1568
|
* @property {boolean} [partial] - When adding multiple items check if all
|
|
1274
1569
|
* added. True if only few are added.
|
|
1275
|
-
* @property {string} [message]
|
|
1570
|
+
* @property {string} [message] - Message of add cart API response
|
|
1276
1571
|
*/
|
|
1277
1572
|
|
|
1278
1573
|
/**
|
|
1279
1574
|
* @typedef UpdateProductCart
|
|
1280
|
-
* @property {number} [quantity]
|
|
1281
|
-
* @property {string} [item_size]
|
|
1282
|
-
* @property {Object} [parent_item_identifiers]
|
|
1283
|
-
*
|
|
1284
|
-
* @property {Object} [
|
|
1285
|
-
* @property {Object} [
|
|
1286
|
-
* @property {
|
|
1287
|
-
* @property {number} [
|
|
1575
|
+
* @property {number} [quantity] - Field to update the quantity of the item in cart
|
|
1576
|
+
* @property {string} [item_size] - Field to update the size of the product in cart
|
|
1577
|
+
* @property {Object} [parent_item_identifiers] - Field to update parent product
|
|
1578
|
+
* of the item in cart
|
|
1579
|
+
* @property {Object} [meta] - Field to update meta of the item in cart
|
|
1580
|
+
* @property {Object} [extra_meta] - Field to update extra meta of the product in cart
|
|
1581
|
+
* @property {Object} [_custom_json] - Field to update custom json of the product in cart
|
|
1582
|
+
* @property {number} [item_id] - Item id of the product that needs to be updated
|
|
1583
|
+
* @property {number} [item_index] - Item index determines on which index the
|
|
1584
|
+
* product falls to be updated
|
|
1288
1585
|
* @property {CartProductIdentifer} identifiers
|
|
1289
|
-
* @property {string} [article_id]
|
|
1586
|
+
* @property {string} [article_id] - Article id of the product in cart
|
|
1587
|
+
*/
|
|
1588
|
+
|
|
1589
|
+
/**
|
|
1590
|
+
* @typedef FreeGiftItemCreation
|
|
1591
|
+
* @property {string} promotion_id - Unique identifier of the free gift promotion.
|
|
1592
|
+
* @property {string} item_id - Unique identifier of the selected free gift item.
|
|
1593
|
+
* @property {string} item_size - Size of the selected free gift item.
|
|
1290
1594
|
*/
|
|
1291
1595
|
|
|
1292
1596
|
/**
|
|
1293
|
-
* @typedef
|
|
1597
|
+
* @typedef UpdateCartCreation
|
|
1294
1598
|
* @property {UpdateProductCart[]} [items]
|
|
1295
|
-
* @property {
|
|
1599
|
+
* @property {FreeGiftItemCreation[]} [free_gift_items] - List of free gift
|
|
1600
|
+
* items with updated sizes.
|
|
1601
|
+
* @property {string} operation - Cart opertaion type
|
|
1296
1602
|
*/
|
|
1297
1603
|
|
|
1298
1604
|
/**
|
|
1299
|
-
* @typedef
|
|
1605
|
+
* @typedef UpdateCartDetailResult
|
|
1300
1606
|
* @property {boolean} [success] - True if all items are added successfully.
|
|
1301
1607
|
* False if partially added or not added.
|
|
1302
|
-
* @property {
|
|
1303
|
-
* @property {string} [message]
|
|
1608
|
+
* @property {CartDetailResult} [cart]
|
|
1609
|
+
* @property {string} [message] - Message of update cart API response
|
|
1304
1610
|
*/
|
|
1305
1611
|
|
|
1306
1612
|
/**
|
|
1307
1613
|
* @typedef OverrideCartItemPromo
|
|
1308
|
-
* @property {string} promo_id
|
|
1309
|
-
* @property {string} promo_amount
|
|
1310
|
-
* @property {string} [promo_desc]
|
|
1614
|
+
* @property {string} promo_id - Promotion id applied on product
|
|
1615
|
+
* @property {string} promo_amount - Promotion amount applied on product
|
|
1616
|
+
* @property {string} [promo_desc] - Promotion description applied on product
|
|
1311
1617
|
* @property {string} [rwrd_tndr]
|
|
1312
|
-
* @property {Object[]} [item_list]
|
|
1313
|
-
* @property {string} [parent_promo_id]
|
|
1618
|
+
* @property {Object[]} [item_list] - List of items
|
|
1619
|
+
* @property {string} [parent_promo_id] - Parent promotion unique identifier
|
|
1314
1620
|
*/
|
|
1315
1621
|
|
|
1316
1622
|
/**
|
|
1317
1623
|
* @typedef OverrideCartItem
|
|
1318
|
-
* @property {string} [seller_identifier]
|
|
1319
|
-
* @property {number} [quantity]
|
|
1320
|
-
* @property {string} size
|
|
1321
|
-
* @property {number} price_marked
|
|
1322
|
-
* @property {number} amount_paid
|
|
1323
|
-
* @property {OverrideCartItemPromo[]} [promo_list]
|
|
1324
|
-
* @property {Object} [extra_meta]
|
|
1325
|
-
* @property {number} item_id
|
|
1326
|
-
* @property {number} discount
|
|
1327
|
-
* @property {number} price_effective
|
|
1624
|
+
* @property {string} [seller_identifier] - Seller identifiers of the product size.
|
|
1625
|
+
* @property {number} [quantity] - Item quantity, which you have added into cart
|
|
1626
|
+
* @property {string} size - Item size, which you have added into cart
|
|
1627
|
+
* @property {number} price_marked - Original price of product
|
|
1628
|
+
* @property {number} amount_paid - Amount needs to paid for item
|
|
1629
|
+
* @property {OverrideCartItemPromo[]} [promo_list] - List of promotion applied on item
|
|
1630
|
+
* @property {Object} [extra_meta] - Extra meta to be added while checkout in order
|
|
1631
|
+
* @property {number} item_id - Item unique id in user cart
|
|
1632
|
+
* @property {number} discount - Discount amount applied on item
|
|
1633
|
+
* @property {number} price_effective - Current per unit price of product after
|
|
1634
|
+
* existing deductions
|
|
1328
1635
|
*/
|
|
1329
1636
|
|
|
1330
1637
|
/**
|
|
1331
1638
|
* @typedef OverrideCheckoutReq
|
|
1332
|
-
* @property {string} cart_id
|
|
1333
|
-
* @property {string} payment_mode
|
|
1334
|
-
*
|
|
1335
|
-
* @property {
|
|
1336
|
-
*
|
|
1337
|
-
*
|
|
1338
|
-
* @property {string}
|
|
1339
|
-
*
|
|
1340
|
-
* @property {string}
|
|
1341
|
-
*
|
|
1342
|
-
* @property {
|
|
1343
|
-
* @property {
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
*
|
|
1348
|
-
* @property {
|
|
1349
|
-
*
|
|
1350
|
-
* @property {
|
|
1351
|
-
*
|
|
1352
|
-
* @property {
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1639
|
+
* @property {string} cart_id - The cart id of user cart
|
|
1640
|
+
* @property {string} payment_mode - Payment mode from which the payment to be
|
|
1641
|
+
* done for the order
|
|
1642
|
+
* @property {Object} [billing_address] - Billing address json which includes
|
|
1643
|
+
* customer address, customer phone, customer email, customer pincode,
|
|
1644
|
+
* customer landmark and customer name
|
|
1645
|
+
* @property {string} merchant_code - Merchant code of the payment mode selected
|
|
1646
|
+
* to do the payment
|
|
1647
|
+
* @property {string} payment_identifier - Payment identifier of the payment
|
|
1648
|
+
* mode selected to do the payment
|
|
1649
|
+
* @property {string} currency_code - Currency code for the price
|
|
1650
|
+
* @property {string} aggregator - Aggregator name of the payment gateway
|
|
1651
|
+
* @property {string} order_type - Order type of the order being placed like
|
|
1652
|
+
* pickAtStore or HomeDelivery
|
|
1653
|
+
* @property {string} [callback_url] - Callback url to be redirected after
|
|
1654
|
+
* payment received/failed
|
|
1655
|
+
* @property {OverrideCartItem[]} cart_items - List of items which includes
|
|
1656
|
+
* their size, id, discount and promo details
|
|
1657
|
+
* @property {number} [ordering_store] - Ordering store id of the store from
|
|
1658
|
+
* which the order is getting placed
|
|
1659
|
+
* @property {Object} [shipping_address] - Shipping address json which includes
|
|
1660
|
+
* name, area, address, phone, area_code, state, country, country code and email
|
|
1661
|
+
*/
|
|
1662
|
+
|
|
1663
|
+
/**
|
|
1664
|
+
* @typedef OverrideCheckoutResult
|
|
1665
|
+
* @property {Object} data - Data of the user cart checkout includes cart data,
|
|
1666
|
+
* address, user id, order type etc
|
|
1667
|
+
* @property {Object} cart - Cart details in API response which included cart
|
|
1668
|
+
* id, items in cart, promise, order type, breakup values etc.
|
|
1669
|
+
* @property {string} success - Success flag of cart override checkout API response
|
|
1670
|
+
* @property {string} order_id - Order id generated after placing order
|
|
1671
|
+
* @property {string} message - Message of the cart override checkout API response
|
|
1672
|
+
*/
|
|
1673
|
+
|
|
1674
|
+
/**
|
|
1675
|
+
* @typedef GetShareCartLinkCreation
|
|
1357
1676
|
* @property {string} [id] - Cart uid for generating sharing
|
|
1358
1677
|
* @property {Object} [meta] - Staff, Ordering store or any other data. This
|
|
1359
1678
|
* data will be used to generate link as well as sent as shared details.
|
|
1360
1679
|
*/
|
|
1361
1680
|
|
|
1362
1681
|
/**
|
|
1363
|
-
* @typedef
|
|
1364
|
-
* @property {string} [token] - Short url unique id
|
|
1365
|
-
*
|
|
1682
|
+
* @typedef GetShareCartLinkResult
|
|
1683
|
+
* @property {string} [token] - Short url unique id of the cart which is opted
|
|
1684
|
+
* to share with other user
|
|
1685
|
+
* @property {string} [share_url] - Short shareable final url which can populate
|
|
1686
|
+
* shared cart items in one's cart or replaced one's cart with shared cart items
|
|
1366
1687
|
*/
|
|
1367
1688
|
|
|
1368
1689
|
/**
|
|
1369
1690
|
* @typedef SharedCartDetails
|
|
1370
1691
|
* @property {Object} [source] - Share link device and other source information
|
|
1371
1692
|
* @property {Object} [user] - User details of who generated share link
|
|
1372
|
-
* @property {string} [token] - Short link id
|
|
1373
|
-
* @property {string} [created_on]
|
|
1693
|
+
* @property {string} [token] - Short link id of the user cart that needs to be shared
|
|
1694
|
+
* @property {string} [created_on] - Created on timestamp of user cart
|
|
1374
1695
|
* @property {Object} [meta] - Meta data sent while generating share cart link
|
|
1375
1696
|
*/
|
|
1376
1697
|
|
|
1377
1698
|
/**
|
|
1378
1699
|
* @typedef SharedCart
|
|
1379
|
-
* @property {string} [coupon_text]
|
|
1380
|
-
* @property {string} [id]
|
|
1700
|
+
* @property {string} [coupon_text] - Coupon text of the applied coupon on user cart
|
|
1701
|
+
* @property {string} [id] - Cart id of shared cart
|
|
1381
1702
|
* @property {ShipmentPromise} [delivery_promise]
|
|
1382
|
-
* @property {string} [comment]
|
|
1383
|
-
* @property {CartProductInfo[]} [items]
|
|
1703
|
+
* @property {string} [comment] - Comment message added in user cart
|
|
1704
|
+
* @property {CartProductInfo[]} [items] - Items data list in user cart that
|
|
1705
|
+
* includes item id, item size, store id, available sizes and rest of the item
|
|
1706
|
+
* related data
|
|
1384
1707
|
* @property {SharedCartDetails} [shared_cart_details]
|
|
1385
1708
|
* @property {PaymentSelectionLock} [payment_selection_lock]
|
|
1386
|
-
* @property {string} [delivery_charge_info]
|
|
1387
|
-
*
|
|
1388
|
-
* @property {
|
|
1709
|
+
* @property {string} [delivery_charge_info] - Delivery charge info message of
|
|
1710
|
+
* the user cart
|
|
1711
|
+
* @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict
|
|
1712
|
+
* the checkout process
|
|
1713
|
+
* @property {string} [message] - Message of the get shared cart API response
|
|
1389
1714
|
* @property {CartBreakup} [breakup_values]
|
|
1390
|
-
* @property {boolean} [is_valid]
|
|
1391
|
-
* @property {string} [uid]
|
|
1392
|
-
* @property {string} [checkout_mode]
|
|
1715
|
+
* @property {boolean} [is_valid] - Valid flag for get shared cart detail API
|
|
1716
|
+
* @property {string} [uid] - Cart id of the user cart
|
|
1717
|
+
* @property {string} [checkout_mode] - Checkout mode of address on which
|
|
1718
|
+
* address to be used for which checkout mode of cart
|
|
1393
1719
|
* @property {CartCurrency} [currency]
|
|
1394
|
-
* @property {string} [last_modified]
|
|
1395
|
-
* @property {boolean} [buy_now]
|
|
1396
|
-
* @property {number} [cart_id]
|
|
1397
|
-
* @property {string} [gstin]
|
|
1398
|
-
* @property {Object} [custom_cart_meta]
|
|
1720
|
+
* @property {string} [last_modified] - Last modified timestamp of user cart
|
|
1721
|
+
* @property {boolean} [buy_now] - Buy now flag of user cart
|
|
1722
|
+
* @property {number} [cart_id] - Cart id of user cart for generating cart sharing token
|
|
1723
|
+
* @property {string} [gstin] - GSTIN added in user cart
|
|
1724
|
+
* @property {Object} [custom_cart_meta] - Custom cart meta of user cart added
|
|
1725
|
+
* via update cart meta API
|
|
1399
1726
|
*/
|
|
1400
1727
|
|
|
1401
1728
|
/**
|
|
1402
|
-
* @typedef
|
|
1729
|
+
* @typedef SharedCartResult
|
|
1403
1730
|
* @property {SharedCart} [cart]
|
|
1404
|
-
* @property {string} [error]
|
|
1731
|
+
* @property {string} [error] - Error details if any error occurs which includes
|
|
1732
|
+
* type of error, error code and error message
|
|
1405
1733
|
*/
|
|
1406
1734
|
|
|
1407
1735
|
/**
|
|
1408
1736
|
* @typedef CartList
|
|
1409
|
-
* @property {string} [cart_id]
|
|
1410
|
-
* @property {Object} [pick_up_customer_details]
|
|
1411
|
-
*
|
|
1412
|
-
* @property {
|
|
1413
|
-
* @property {string} [
|
|
1414
|
-
* @property {string} [
|
|
1415
|
-
* @property {
|
|
1737
|
+
* @property {string} [cart_id] - The cart id of user
|
|
1738
|
+
* @property {Object} [pick_up_customer_details] - Customer contact details for
|
|
1739
|
+
* customer pickup at store
|
|
1740
|
+
* @property {number} [cart_value] - Total amount of cart
|
|
1741
|
+
* @property {string} [created_on] - Date format when cart created
|
|
1742
|
+
* @property {string} [user_id] - User id which is associated with cart
|
|
1743
|
+
* @property {string} [currency_code] - Active cart currency code
|
|
1744
|
+
* @property {number} [item_counts] - Article total count in cart
|
|
1416
1745
|
*/
|
|
1417
1746
|
|
|
1418
1747
|
/**
|
|
1419
|
-
* @typedef
|
|
1420
|
-
* @property {boolean} [success]
|
|
1421
|
-
* @property {CartList[]} [data]
|
|
1748
|
+
* @typedef MultiCartResult
|
|
1749
|
+
* @property {boolean} [success] - True if get list of cart successfully.
|
|
1750
|
+
* @property {CartList[]} [data] - List of active carts and their item's count
|
|
1422
1751
|
*/
|
|
1423
1752
|
|
|
1424
1753
|
/**
|
|
1425
1754
|
* @typedef UpdateUserCartMapping
|
|
1426
|
-
* @property {string} user_id
|
|
1755
|
+
* @property {string} user_id - User Id of user for which we map with the cart
|
|
1427
1756
|
*/
|
|
1428
1757
|
|
|
1429
1758
|
/**
|
|
1430
1759
|
* @typedef UserInfo
|
|
1431
|
-
* @property {string} [gender]
|
|
1432
|
-
* @property {string} [modified_on]
|
|
1433
|
-
* @property {string} [_id]
|
|
1434
|
-
* @property {string} [uid]
|
|
1435
|
-
* @property {string} [external_id]
|
|
1436
|
-
* @property {string} [mobile]
|
|
1437
|
-
* @property {string} [last_name]
|
|
1438
|
-
* @property {string} [created_at]
|
|
1439
|
-
* @property {string} [first_name]
|
|
1760
|
+
* @property {string} [gender] - User gender
|
|
1761
|
+
* @property {string} [modified_on] - Date format of user when user last modified
|
|
1762
|
+
* @property {string} [_id] - Unique Identifier of user
|
|
1763
|
+
* @property {string} [uid] - Unique UID of user
|
|
1764
|
+
* @property {string} [external_id] - Unique external id
|
|
1765
|
+
* @property {string} [mobile] - 10 digit Mobile number of user
|
|
1766
|
+
* @property {string} [last_name] - Last name of user
|
|
1767
|
+
* @property {string} [created_at] - Date format of user when user registered
|
|
1768
|
+
* @property {string} [first_name] - First name of user
|
|
1440
1769
|
*/
|
|
1441
1770
|
|
|
1442
1771
|
/**
|
|
1443
|
-
* @typedef
|
|
1444
|
-
* @property {string} [coupon_text]
|
|
1772
|
+
* @typedef UserCartMappingResult
|
|
1773
|
+
* @property {string} [coupon_text] - Coupon text of coupon applied on cart
|
|
1445
1774
|
* @property {UserInfo} [user]
|
|
1446
|
-
* @property {string} [id]
|
|
1447
|
-
* @property {Object} [pan_config]
|
|
1775
|
+
* @property {string} [id] - Unique identifier of the user cart
|
|
1776
|
+
* @property {Object} [pan_config] - Pan card config states at what condition
|
|
1777
|
+
* user should enter the pan card
|
|
1448
1778
|
* @property {ShipmentPromise} [delivery_promise]
|
|
1449
|
-
* @property {string} [comment]
|
|
1450
|
-
* @property {CartProductInfo[]} [items]
|
|
1779
|
+
* @property {string} [comment] - Comment message to be added in user cart
|
|
1780
|
+
* @property {CartProductInfo[]} [items] - Items data list in user cart that
|
|
1781
|
+
* includes item id, item size, store id, available sizes and rest of the item
|
|
1782
|
+
* related data
|
|
1451
1783
|
* @property {PaymentSelectionLock} [payment_selection_lock]
|
|
1452
|
-
* @property {string} [delivery_charge_info]
|
|
1453
|
-
*
|
|
1454
|
-
* @property {
|
|
1784
|
+
* @property {string} [delivery_charge_info] - Delivery charge in information
|
|
1785
|
+
* message on shipment
|
|
1786
|
+
* @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict
|
|
1787
|
+
* the checkout process
|
|
1788
|
+
* @property {string} [message] - Message of the get cart detail API response
|
|
1455
1789
|
* @property {CartBreakup} [breakup_values]
|
|
1456
|
-
* @property {boolean} [is_valid]
|
|
1790
|
+
* @property {boolean} [is_valid] - Cart validity flag determines the if the
|
|
1791
|
+
* response is valid or not
|
|
1457
1792
|
* @property {CartCurrency} [currency]
|
|
1458
|
-
* @property {string} [checkout_mode]
|
|
1459
|
-
* @property {string} [last_modified]
|
|
1460
|
-
* @property {boolean} [buy_now]
|
|
1461
|
-
*
|
|
1462
|
-
* @property {
|
|
1463
|
-
* @property {
|
|
1464
|
-
*
|
|
1793
|
+
* @property {string} [checkout_mode] - Checkout mode of user cart
|
|
1794
|
+
* @property {string} [last_modified] - Last modified timestamp of cart
|
|
1795
|
+
* @property {boolean} [buy_now] - Buy now flag for the cart which denotes user
|
|
1796
|
+
* is doing fast checkout for the cart using buy now
|
|
1797
|
+
* @property {string} [gstin] - GSTIN added in user cart
|
|
1798
|
+
* @property {Object} [custom_cart_meta] - Custom meta details added cart
|
|
1799
|
+
* checkout API payload
|
|
1800
|
+
* @property {AppliedPromotion[]} [applied_promo_details] - List of applied
|
|
1801
|
+
* promotions data to cart which includes promotion id, promotion name, offer
|
|
1802
|
+
* text, description, buy rules, discount rules and promotion type
|
|
1803
|
+
* @property {string} [pan_no] - Permanent Account Number of the user
|
|
1465
1804
|
*/
|
|
1466
1805
|
|
|
1467
1806
|
/**
|
|
1468
|
-
* @typedef
|
|
1469
|
-
* @property {string} [user_id]
|
|
1470
|
-
*
|
|
1471
|
-
* @property {
|
|
1807
|
+
* @typedef PlatformAddCartDetails
|
|
1808
|
+
* @property {string} [user_id] - The user id of user, for which we need to add
|
|
1809
|
+
* item into cart
|
|
1810
|
+
* @property {boolean} [new_cart] - Field to create to new cart whille user adds
|
|
1811
|
+
* item to cart
|
|
1812
|
+
* @property {AddProductCart[]} [items] - List of items detail which need to be
|
|
1813
|
+
* added to cart like item id, item size, and item quantity
|
|
1472
1814
|
*/
|
|
1473
1815
|
|
|
1474
1816
|
/**
|
|
1475
|
-
* @typedef
|
|
1476
|
-
* @property {string} [user_id]
|
|
1477
|
-
*
|
|
1478
|
-
* @property {
|
|
1817
|
+
* @typedef PlatformUpdateCartDetails
|
|
1818
|
+
* @property {string} [user_id] - The user id of user, for which we need to
|
|
1819
|
+
* update the cart
|
|
1820
|
+
* @property {UpdateProductCart[]} [items] - List items data that needs to be
|
|
1821
|
+
* updated in cart
|
|
1822
|
+
* @property {FreeGiftItemCreation[]} [free_gift_items] - List of free gift
|
|
1823
|
+
* items with updated sizes.
|
|
1824
|
+
* @property {string} operation - Field to determine if item to be removed from
|
|
1825
|
+
* cart or it needs to be updated
|
|
1479
1826
|
*/
|
|
1480
1827
|
|
|
1481
1828
|
/**
|
|
1482
|
-
* @typedef
|
|
1483
|
-
* @property {string[]} [cart_id_list]
|
|
1829
|
+
* @typedef DeleteCartDetails
|
|
1830
|
+
* @property {string[]} [cart_id_list] - List of all cart ids, which need to delete
|
|
1484
1831
|
*/
|
|
1485
1832
|
|
|
1486
1833
|
/**
|
|
1487
|
-
* @typedef
|
|
1834
|
+
* @typedef DeleteCartDetailResult
|
|
1488
1835
|
* @property {boolean} [success] - True if cart is archived successfully. False
|
|
1489
1836
|
* if not archived.
|
|
1490
|
-
* @property {string} [message]
|
|
1837
|
+
* @property {string} [message] - Message for delete cart response
|
|
1491
1838
|
*/
|
|
1492
1839
|
|
|
1493
1840
|
/**
|
|
1494
|
-
* @typedef
|
|
1841
|
+
* @typedef CartItemCountResult
|
|
1495
1842
|
* @property {number} [user_cart_items_count] - Item count present in cart
|
|
1496
1843
|
*/
|
|
1497
1844
|
|
|
1498
1845
|
/**
|
|
1499
1846
|
* @typedef Coupon
|
|
1500
|
-
* @property {string} [title]
|
|
1501
|
-
*
|
|
1502
|
-
* @property {
|
|
1503
|
-
*
|
|
1504
|
-
* @property {string} [
|
|
1505
|
-
* @property {
|
|
1506
|
-
*
|
|
1507
|
-
* @property {string} [
|
|
1508
|
-
* @property {
|
|
1509
|
-
* @property {
|
|
1510
|
-
* @property {string} [
|
|
1511
|
-
*
|
|
1512
|
-
* @property {
|
|
1513
|
-
*
|
|
1514
|
-
* @property {
|
|
1847
|
+
* @property {string} [title] - Coupon Title of the coupon applied denotes name
|
|
1848
|
+
* of the coupon
|
|
1849
|
+
* @property {number} [max_discount_value] - Maximum discount value of the
|
|
1850
|
+
* coupon applied to cart
|
|
1851
|
+
* @property {string} [coupon_code] - Coupon code of the coupon applied on cart
|
|
1852
|
+
* @property {boolean} [is_applied] - Flag to determine where the coupon is
|
|
1853
|
+
* applied to cart or not
|
|
1854
|
+
* @property {string} [coupon_type] - Type of the coupon applied to cart
|
|
1855
|
+
* @property {string} [expires_on] - Message to display to user for expiry of the coupon
|
|
1856
|
+
* @property {number} [coupon_value] - Coupon value of the coupon applied to cart
|
|
1857
|
+
* @property {string} [sub_title] - Coupon subtitle of the coupon applied to
|
|
1858
|
+
* cart which is used to display
|
|
1859
|
+
* @property {number} [minimum_cart_value] - Minimum cart value of the coupon
|
|
1860
|
+
* applied to cart
|
|
1861
|
+
* @property {boolean} [is_applicable] - Flag to determine where the coupon is
|
|
1862
|
+
* applicable to cart or not
|
|
1863
|
+
* @property {string} [message] - Coupon message of the coupon applied to cart
|
|
1864
|
+
* @property {string} [description] - Coupon description of the coupon applied to cart
|
|
1865
|
+
* @property {string} [start_date] - Start date of the coupon when the coupon
|
|
1866
|
+
* will be live for the users to apply on cart
|
|
1867
|
+
* @property {string} [end_date] - End date of the coupon on which the coupon expires
|
|
1868
|
+
* @property {string} [coupon_applicable_message] - Message which is used to
|
|
1869
|
+
* display to the customer if the coupon is applied successfully
|
|
1515
1870
|
*/
|
|
1516
1871
|
|
|
1517
1872
|
/**
|
|
1518
1873
|
* @typedef PageCoupon
|
|
1519
|
-
* @property {boolean} [has_next]
|
|
1520
|
-
* @property {number} [current]
|
|
1521
|
-
* @property {number} [total]
|
|
1522
|
-
* @property {number} [total_item_count]
|
|
1523
|
-
* @property {boolean} [has_previous]
|
|
1874
|
+
* @property {boolean} [has_next] - Denotes if next page of coupon is available
|
|
1875
|
+
* @property {number} [current] - Current page number
|
|
1876
|
+
* @property {number} [total] - Total pages of coupon availalbe
|
|
1877
|
+
* @property {number} [total_item_count] - Total coupons are available for the cart
|
|
1878
|
+
* @property {boolean} [has_previous] - Denotes if previous page of the coupon
|
|
1879
|
+
* is available
|
|
1524
1880
|
*/
|
|
1525
1881
|
|
|
1526
1882
|
/**
|
|
1527
|
-
* @typedef
|
|
1528
|
-
* @property {Coupon[]} [available_coupon_list]
|
|
1883
|
+
* @typedef GetCouponResult
|
|
1884
|
+
* @property {Coupon[]} [available_coupon_list] - List of available coupon which
|
|
1885
|
+
* can be applied on cart
|
|
1529
1886
|
* @property {PageCoupon} [page]
|
|
1530
1887
|
*/
|
|
1531
1888
|
|
|
1532
1889
|
/**
|
|
1533
|
-
* @typedef
|
|
1890
|
+
* @typedef ApplyCouponDetails
|
|
1534
1891
|
* @property {string} coupon_code - Coupon code to be applied
|
|
1535
1892
|
*/
|
|
1536
1893
|
|
|
1537
1894
|
/**
|
|
1538
1895
|
* @typedef GeoLocation
|
|
1539
|
-
* @property {number} [longitude]
|
|
1540
|
-
* @property {number} [latitude]
|
|
1896
|
+
* @property {number} [longitude] - Longitude coordinate for address
|
|
1897
|
+
* @property {number} [latitude] - Latitude coordinate for address
|
|
1541
1898
|
*/
|
|
1542
1899
|
|
|
1543
1900
|
/**
|
|
1544
1901
|
* @typedef PlatformAddress
|
|
1545
|
-
* @property {string} [phone]
|
|
1546
|
-
* @property {string} [id]
|
|
1547
|
-
* @property {string} [area_code_slug]
|
|
1548
|
-
*
|
|
1902
|
+
* @property {string} [phone] - Phone number for address
|
|
1903
|
+
* @property {string} [id] - Id of the address
|
|
1904
|
+
* @property {string} [area_code_slug] - Area code slug for address. example
|
|
1905
|
+
* pincode is slug for India
|
|
1906
|
+
* @property {string} [country_code] - Country code of address
|
|
1549
1907
|
* @property {GeoLocation} [geo_location]
|
|
1550
|
-
* @property {string} [country]
|
|
1551
|
-
* @property {string} [state]
|
|
1552
|
-
* @property {boolean} [is_default_address]
|
|
1553
|
-
*
|
|
1554
|
-
* @property {string} [
|
|
1555
|
-
* @property {string} [
|
|
1556
|
-
* @property {string} [
|
|
1557
|
-
* @property {string} [
|
|
1558
|
-
* @property {string} [
|
|
1559
|
-
* @property {
|
|
1560
|
-
*
|
|
1561
|
-
* @property {
|
|
1562
|
-
* @property {
|
|
1563
|
-
* @property {string} [
|
|
1564
|
-
* @property {
|
|
1565
|
-
* @property {string} [
|
|
1908
|
+
* @property {string} [country] - Country of address
|
|
1909
|
+
* @property {string} [state] - State of the address
|
|
1910
|
+
* @property {boolean} [is_default_address] - Default address flag if no address
|
|
1911
|
+
* selected then this should be the default address selected
|
|
1912
|
+
* @property {string[]} [tags] - Tags of address from which it can be identified
|
|
1913
|
+
* @property {string} [created_by_user_id] - Created by user id of address
|
|
1914
|
+
* @property {string} [landmark] - Landmark of address
|
|
1915
|
+
* @property {string} [email] - Email address for address data
|
|
1916
|
+
* @property {string} [area_code] - Area code of the address
|
|
1917
|
+
* @property {string} [checkout_mode] - Checkout mode of address on which
|
|
1918
|
+
* address to be used for which checkout mode of cart
|
|
1919
|
+
* @property {Object} [meta] - Metadata of the address
|
|
1920
|
+
* @property {boolean} [is_active] - States whether address is active or not
|
|
1921
|
+
* @property {string} [name] - Name of person in address data to whom it belongs to
|
|
1922
|
+
* @property {Object} [google_map_point] - Google map point of the address
|
|
1923
|
+
* @property {string} [cart_id] - The cart id of user cart
|
|
1924
|
+
* @property {string} [city] - City of the address
|
|
1925
|
+
* @property {string} [sector] - Sector of the address
|
|
1566
1926
|
* @property {string} [state_code] - State code for international address
|
|
1567
|
-
* @property {string} [area]
|
|
1568
|
-
* @property {string} [user_id]
|
|
1569
|
-
* @property {string} [address_type]
|
|
1570
|
-
* @property {string} [address]
|
|
1571
|
-
* @property {string} [country_phone_code]
|
|
1572
|
-
* @property {string} [country_iso_code]
|
|
1573
|
-
* @property {Object} [_custom_json]
|
|
1927
|
+
* @property {string} [area] - Area description for address
|
|
1928
|
+
* @property {string} [user_id] - User id of address for which address is created
|
|
1929
|
+
* @property {string} [address_type] - Address type of address
|
|
1930
|
+
* @property {string} [address] - Address description for address data
|
|
1931
|
+
* @property {string} [country_phone_code] - Country phone code for address
|
|
1932
|
+
* @property {string} [country_iso_code] - Country iso code for address
|
|
1933
|
+
* @property {Object} [_custom_json] - Custom json of the address
|
|
1574
1934
|
*/
|
|
1575
1935
|
|
|
1576
1936
|
/**
|
|
1577
|
-
* @typedef
|
|
1578
|
-
* @property {
|
|
1937
|
+
* @typedef ValidationConfig
|
|
1938
|
+
* @property {number} address_max_limit - The maximum number of addresses a user can have.
|
|
1939
|
+
* @property {number} user_address_count - The total number of addresses saved by a user.
|
|
1579
1940
|
*/
|
|
1580
1941
|
|
|
1581
1942
|
/**
|
|
1582
|
-
* @typedef
|
|
1583
|
-
* @property {
|
|
1584
|
-
* @property {
|
|
1585
|
-
* @property {boolean} [is_default_address]
|
|
1943
|
+
* @typedef PlatformGetAddressesDetails
|
|
1944
|
+
* @property {PlatformAddress[]} [address] - List of all address saved by customer
|
|
1945
|
+
* @property {ValidationConfig} [validation_config]
|
|
1586
1946
|
*/
|
|
1587
1947
|
|
|
1588
1948
|
/**
|
|
1589
|
-
* @typedef
|
|
1590
|
-
* @property {string} [id]
|
|
1591
|
-
* @property {boolean} [
|
|
1592
|
-
* @property {boolean} [
|
|
1593
|
-
*
|
|
1949
|
+
* @typedef SaveAddressDetails
|
|
1950
|
+
* @property {string} [id] - Id of the address
|
|
1951
|
+
* @property {boolean} [success] - Success flag of save address Response
|
|
1952
|
+
* @property {boolean} [is_default_address] - Default address flag if no address
|
|
1953
|
+
* selected then this should be the default address selected
|
|
1594
1954
|
*/
|
|
1595
1955
|
|
|
1596
1956
|
/**
|
|
1597
|
-
* @typedef
|
|
1598
|
-
* @property {string} [id]
|
|
1599
|
-
* @property {boolean} [
|
|
1957
|
+
* @typedef UpdateAddressDetails
|
|
1958
|
+
* @property {string} [id] - ID of an address
|
|
1959
|
+
* @property {boolean} [is_default_address] - Default address flag if no address
|
|
1960
|
+
* selected then this should be the default address selected
|
|
1961
|
+
* @property {boolean} [success] - Success flag of update address response
|
|
1962
|
+
* @property {boolean} [is_updated] - Updated flag for update address operation
|
|
1963
|
+
* if the address updated or not
|
|
1600
1964
|
*/
|
|
1601
1965
|
|
|
1602
1966
|
/**
|
|
1603
|
-
* @typedef
|
|
1604
|
-
* @property {string} [
|
|
1605
|
-
* @property {
|
|
1606
|
-
*
|
|
1607
|
-
* @property {string} [id]
|
|
1608
|
-
* @property {string} [user_id]
|
|
1967
|
+
* @typedef DeleteAddressResult
|
|
1968
|
+
* @property {string} [id] - Id of the address
|
|
1969
|
+
* @property {boolean} [is_deleted] - Deleted flag in delete address response
|
|
1970
|
+
* states whether the address was deleted or not
|
|
1609
1971
|
*/
|
|
1610
1972
|
|
|
1611
1973
|
/**
|
|
1612
|
-
* @typedef
|
|
1613
|
-
* @property {string} [
|
|
1614
|
-
*
|
|
1615
|
-
* @property {string} [
|
|
1974
|
+
* @typedef PlatformSelectCartAddress
|
|
1975
|
+
* @property {string} [cart_id] - Cart id of the user cart for which the select
|
|
1976
|
+
* address operation performed
|
|
1977
|
+
* @property {string} [billing_address_id] - Billing address id selected by user
|
|
1978
|
+
* on which shipment bill to be generated
|
|
1979
|
+
* @property {string} [checkout_mode] - The checkout mode in cart
|
|
1980
|
+
* @property {string} [id] - Address is selected by user on which shipment to be delivered
|
|
1981
|
+
* @property {string} [user_id] - Unique Identifier of user
|
|
1616
1982
|
*/
|
|
1617
1983
|
|
|
1618
1984
|
/**
|
|
1619
|
-
* @typedef
|
|
1620
|
-
* @property {
|
|
1621
|
-
* @property {
|
|
1622
|
-
* @property {
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
* @
|
|
1985
|
+
* @typedef ShipmentArticle
|
|
1986
|
+
* @property {string} [meta] - Article meta data for shipment
|
|
1987
|
+
* @property {string} [quantity] - Article quantity for shipment
|
|
1988
|
+
* @property {string} [article_id] - Article unique id for shipment
|
|
1989
|
+
*/
|
|
1990
|
+
|
|
1991
|
+
/**
|
|
1992
|
+
* @typedef PlatformShipmentDetails
|
|
1993
|
+
* @property {number} [shipments] - Count of shipments that will be shipped
|
|
1994
|
+
* @property {number} [fulfillment_id] - Fulfilment id of the shipment
|
|
1995
|
+
* @property {CartProductInfo[]} [items] - Item details in the shipment
|
|
1996
|
+
* @property {Object} [dp_options] - Delivery partner options that are available
|
|
1997
|
+
* to deliver the shipment
|
|
1998
|
+
* @property {string} [shipment_type] - Shipment type of the shipment returned
|
|
1999
|
+
* in get shipments API like single_shipment or multiple shipment. Single
|
|
2000
|
+
* Shipment means 1 item in 1 shipment and vice versa in the other one
|
|
2001
|
+
* @property {string} [order_type] - Order type of the shipment like pickAtStore
|
|
2002
|
+
* or HomeDelivery
|
|
2003
|
+
* @property {string} [box_type] - Box type of the shipment in which the
|
|
2004
|
+
* shipment will be delivered
|
|
1627
2005
|
* @property {ShipmentPromise} [promise]
|
|
1628
|
-
* @property {string} [dp_id]
|
|
1629
|
-
* @property {string} [fulfillment_type]
|
|
1630
|
-
* @property {ShipmentArticle[]} [articles]
|
|
2006
|
+
* @property {string} [dp_id] - Delivery partner id of the shipment
|
|
2007
|
+
* @property {string} [fulfillment_type] - Fulfilment type of shipment
|
|
2008
|
+
* @property {ShipmentArticle[]} [articles] - List of articles in shipment
|
|
1631
2009
|
*/
|
|
1632
2010
|
|
|
1633
2011
|
/**
|
|
1634
|
-
* @typedef
|
|
1635
|
-
* @property {string} [coupon_text]
|
|
1636
|
-
* @property {string} [id]
|
|
1637
|
-
* @property {Object} [pan_config]
|
|
2012
|
+
* @typedef PlatformCartShipmentsResult
|
|
2013
|
+
* @property {string} [coupon_text] - Coupon text of coupon applied on cart
|
|
2014
|
+
* @property {string} [id] - Cart id of the user cart
|
|
2015
|
+
* @property {Object} [pan_config] - Pan card config states at what condition
|
|
2016
|
+
* user should enter the pan card
|
|
1638
2017
|
* @property {ShipmentPromise} [delivery_promise]
|
|
1639
|
-
* @property {string} [comment]
|
|
1640
|
-
* @property {CartProductInfo[]} [items]
|
|
2018
|
+
* @property {string} [comment] - Comment message added in cart
|
|
2019
|
+
* @property {CartProductInfo[]} [items] - List of items in cart
|
|
1641
2020
|
* @property {PaymentSelectionLock} [payment_selection_lock]
|
|
1642
|
-
* @property {string} [delivery_charge_info]
|
|
1643
|
-
*
|
|
1644
|
-
* @property {
|
|
2021
|
+
* @property {string} [delivery_charge_info] - Delivery charge in information
|
|
2022
|
+
* message on shipment
|
|
2023
|
+
* @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict
|
|
2024
|
+
* the checkout process
|
|
2025
|
+
* @property {string} [message] - Response message of get shipments API
|
|
1645
2026
|
* @property {CartBreakup} [breakup_values]
|
|
1646
|
-
* @property {string} [staff_user_id]
|
|
1647
|
-
*
|
|
1648
|
-
* @property {
|
|
2027
|
+
* @property {string} [staff_user_id] - Staff employee user id if cart is
|
|
2028
|
+
* created by staff employee for the customer
|
|
2029
|
+
* @property {boolean} [is_valid] - Cart validity flag determines the if the
|
|
2030
|
+
* response is valid or not
|
|
2031
|
+
* @property {PlatformShipmentDetails[]} [shipments] - List of shipments that
|
|
2032
|
+
* will be shipped
|
|
1649
2033
|
* @property {CartCurrency} [currency]
|
|
1650
|
-
* @property {string} [checkout_mode]
|
|
1651
|
-
* @property {string} [last_modified]
|
|
1652
|
-
* @property {boolean} [buy_now]
|
|
1653
|
-
* @property {string} [gstin]
|
|
1654
|
-
* @property {AppliedPromotion[]} [applied_promo_details]
|
|
1655
|
-
*
|
|
1656
|
-
*
|
|
1657
|
-
* @property {
|
|
2034
|
+
* @property {string} [checkout_mode] - Checkout mode of cart
|
|
2035
|
+
* @property {string} [last_modified] - Last modified timestamp of cart
|
|
2036
|
+
* @property {boolean} [buy_now] - Buy now flag of user cart
|
|
2037
|
+
* @property {string} [gstin] - GSTIN number added in cart
|
|
2038
|
+
* @property {AppliedPromotion[]} [applied_promo_details] - List of applied
|
|
2039
|
+
* promotions data to cart which includes promotion id, promotion name, offer
|
|
2040
|
+
* text, description, buy rules, discount rules and promotion type
|
|
2041
|
+
* @property {boolean} [error] - Error details if any error occurs which
|
|
2042
|
+
* includes type of error, error code and error message
|
|
2043
|
+
* @property {string} [pan_no] - Permanent Account Number of the user
|
|
2044
|
+
* @property {Object} [custom_cart_meta] - Custom cart meta details added in cart
|
|
1658
2045
|
*/
|
|
1659
2046
|
|
|
1660
2047
|
/**
|
|
1661
2048
|
* @typedef UpdateCartShipmentItem
|
|
1662
2049
|
* @property {number} [quantity] - Quantity of product in shipment
|
|
1663
2050
|
* @property {string} shipment_type - Shipment delivery type
|
|
1664
|
-
* @property {string} article_uid - Article
|
|
2051
|
+
* @property {string} article_uid - Article unique id for shipment
|
|
1665
2052
|
*/
|
|
1666
2053
|
|
|
1667
2054
|
/**
|
|
1668
|
-
* @typedef
|
|
1669
|
-
* @property {UpdateCartShipmentItem[]} shipments
|
|
2055
|
+
* @typedef UpdateCartShipmentCreation
|
|
2056
|
+
* @property {UpdateCartShipmentItem[]} shipments - List of Shipments which
|
|
2057
|
+
* includes shipment data like shipment items, shipment promise, Shipment
|
|
2058
|
+
* type, shipment order type, shipment dp options etc
|
|
1670
2059
|
*/
|
|
1671
2060
|
|
|
1672
2061
|
/**
|
|
1673
|
-
* @typedef
|
|
1674
|
-
* @property {string} [gstin]
|
|
2062
|
+
* @typedef PlatformCartMetaCreation
|
|
2063
|
+
* @property {string} [gstin] - GSTIN number to be added in user cart
|
|
1675
2064
|
* @property {Object} [pick_up_customer_details] - Customer contact details for
|
|
1676
2065
|
* customer pickup at store
|
|
1677
|
-
* @property {string} [checkout_mode]
|
|
1678
|
-
* @property {Object} [gift_details]
|
|
1679
|
-
*
|
|
1680
|
-
* @property {string} [
|
|
2066
|
+
* @property {string} [checkout_mode] - Checkout mode of user cart
|
|
2067
|
+
* @property {Object} [gift_details] - Gift details is open json which can
|
|
2068
|
+
* include gift message
|
|
2069
|
+
* @property {string} [pan_no] - Permanent Account Number of the user
|
|
2070
|
+
* @property {string} [comment] - Comment message to be added in user cart
|
|
1681
2071
|
* @property {string} [staff_user_id] - Staff user id
|
|
1682
2072
|
*/
|
|
1683
2073
|
|
|
1684
2074
|
/**
|
|
1685
|
-
* @typedef
|
|
1686
|
-
* @property {boolean} [is_valid]
|
|
1687
|
-
* @property {string} [message]
|
|
2075
|
+
* @typedef CartMetaDetails
|
|
2076
|
+
* @property {boolean} [is_valid] - Whether added meta was vaild
|
|
2077
|
+
* @property {string} [message] - Detailed message that used to display
|
|
1688
2078
|
*/
|
|
1689
2079
|
|
|
1690
2080
|
/**
|
|
1691
|
-
* @typedef
|
|
1692
|
-
* @property {string[]} [errors]
|
|
2081
|
+
* @typedef CartMetaMissingDetails
|
|
2082
|
+
* @property {string[]} [errors] - Detailed errors for invalid cart meta request
|
|
1693
2083
|
*/
|
|
1694
2084
|
|
|
1695
2085
|
/**
|
|
1696
2086
|
* @typedef StaffCheckout
|
|
1697
|
-
* @property {string} [employee_code]
|
|
1698
|
-
*
|
|
1699
|
-
* @property {string}
|
|
1700
|
-
* @property {string}
|
|
1701
|
-
*
|
|
2087
|
+
* @property {string} [employee_code] - Employee code of staff who does checkout
|
|
2088
|
+
* on behalf of customer
|
|
2089
|
+
* @property {string} _id - Id of staff who does checkout on behalf of customer
|
|
2090
|
+
* @property {string} user - User id of the employee who does checkout on behalf
|
|
2091
|
+
* of customer
|
|
2092
|
+
* @property {string} last_name - Last name of staff employee who does checkout
|
|
2093
|
+
* on behalf of customer
|
|
2094
|
+
* @property {string} first_name - First name of staff emplyee who does checkout
|
|
2095
|
+
* on behalf of customer
|
|
1702
2096
|
*/
|
|
1703
2097
|
|
|
1704
2098
|
/**
|
|
1705
2099
|
* @typedef CustomerDetails
|
|
1706
|
-
* @property {string} [name]
|
|
1707
|
-
*
|
|
1708
|
-
* @property {string}
|
|
2100
|
+
* @property {string} [name] - Name of customer to be added in customer detail
|
|
2101
|
+
* while checkout
|
|
2102
|
+
* @property {string} [email] - Email address of the customer to be added in
|
|
2103
|
+
* customer detail while checkout
|
|
2104
|
+
* @property {string} mobile - Mobile number of customer to be added in customer
|
|
2105
|
+
* detail while checkout
|
|
1709
2106
|
*/
|
|
1710
2107
|
|
|
1711
2108
|
/**
|
|
1712
2109
|
* @typedef Files
|
|
1713
|
-
* @property {string} key
|
|
1714
|
-
* @property {string[]} values
|
|
2110
|
+
* @property {string} key - Key represents name of file
|
|
2111
|
+
* @property {string[]} values - List of urls path
|
|
2112
|
+
*/
|
|
2113
|
+
|
|
2114
|
+
/**
|
|
2115
|
+
* @typedef CartCheckoutCustomMeta
|
|
2116
|
+
* @property {string} key - Key name of custom meta
|
|
2117
|
+
* @property {string} value - Value to be added in key
|
|
2118
|
+
*/
|
|
2119
|
+
|
|
2120
|
+
/**
|
|
2121
|
+
* @typedef PlatformCartCheckoutDetailCreation
|
|
2122
|
+
* @property {CartCheckoutCustomMeta[]} [custom_meta]
|
|
2123
|
+
* @property {string} [address_id]
|
|
2124
|
+
* @property {string} [payment_identifier]
|
|
2125
|
+
* @property {Object} [payment_params]
|
|
2126
|
+
* @property {boolean} [payment_auto_confirm]
|
|
2127
|
+
* @property {string} id
|
|
2128
|
+
* @property {boolean} [pos]
|
|
2129
|
+
* @property {string} [billing_address_id]
|
|
2130
|
+
* @property {string} [merchant_code]
|
|
2131
|
+
* @property {string} [aggregator]
|
|
2132
|
+
* @property {number} [pick_at_store_uid]
|
|
2133
|
+
* @property {string} [device_id]
|
|
2134
|
+
* @property {Object} [delivery_address]
|
|
2135
|
+
* @property {string} payment_mode
|
|
2136
|
+
* @property {string} [checkout_mode]
|
|
2137
|
+
* @property {CustomerDetails} [customer_details] - Customer details
|
|
2138
|
+
* @property {Object} [meta]
|
|
2139
|
+
* @property {StaffCheckout} [staff]
|
|
2140
|
+
* @property {string} [employee_code]
|
|
2141
|
+
* @property {Object} [billing_address]
|
|
2142
|
+
* @property {string} [callback_url]
|
|
2143
|
+
* @property {string} [user_id]
|
|
2144
|
+
* @property {Object} [extra_meta]
|
|
2145
|
+
* @property {string} order_type
|
|
2146
|
+
* @property {Files[]} [files] - List of file url
|
|
2147
|
+
* @property {number} [ordering_store]
|
|
2148
|
+
* @property {Object} [payment_extra_identifiers]
|
|
2149
|
+
* @property {string} [iin]
|
|
2150
|
+
* @property {string} [network]
|
|
2151
|
+
* @property {string} [type]
|
|
2152
|
+
* @property {string} [card_id]
|
|
1715
2153
|
*/
|
|
1716
2154
|
|
|
1717
2155
|
/**
|
|
1718
2156
|
* @typedef CheckCart
|
|
1719
|
-
* @property {string} [coupon_text]
|
|
1720
|
-
* @property {string} [cod_message]
|
|
1721
|
-
* @property {string} [id]
|
|
1722
|
-
* @property {string} [store_code]
|
|
2157
|
+
* @property {string} [coupon_text] - Coupon text of the applied coupon on order placed
|
|
2158
|
+
* @property {string} [cod_message] - Cash On Delivery message for the order placed
|
|
2159
|
+
* @property {string} [id] - Cart id of the user cart
|
|
2160
|
+
* @property {string} [store_code] - Store code from which the order placed
|
|
1723
2161
|
* @property {ShipmentPromise} [delivery_promise]
|
|
1724
|
-
* @property {string} [comment]
|
|
1725
|
-
* @property {string} [user_type]
|
|
1726
|
-
* @property {CartProductInfo[]} [items]
|
|
1727
|
-
* @property {string} [error_message]
|
|
1728
|
-
*
|
|
2162
|
+
* @property {string} [comment] - Comment message added in cart after order placed
|
|
2163
|
+
* @property {string} [user_type] - User type of the cart who places the order
|
|
2164
|
+
* @property {CartProductInfo[]} [items] - Items details in cart after order placed
|
|
2165
|
+
* @property {string} [error_message] - Error details if any error occurs which
|
|
2166
|
+
* includes type of error, error code and error message
|
|
2167
|
+
* @property {boolean} [success] - Success flag of checkout cart API response
|
|
1729
2168
|
* @property {PaymentSelectionLock} [payment_selection_lock]
|
|
1730
|
-
* @property {string} [delivery_charge_info]
|
|
1731
|
-
*
|
|
1732
|
-
* @property {
|
|
1733
|
-
*
|
|
2169
|
+
* @property {string} [delivery_charge_info] - Delivery charge in information
|
|
2170
|
+
* message on shipment
|
|
2171
|
+
* @property {boolean} [restrict_checkout] - Restrict checkout flag to restrict
|
|
2172
|
+
* the checkout process
|
|
2173
|
+
* @property {string} [order_id] - Order id generated after placing order
|
|
2174
|
+
* @property {string} [message] - Message of the cart checkout API response
|
|
1734
2175
|
* @property {CartBreakup} [breakup_values]
|
|
1735
|
-
* @property {number} [cod_charges]
|
|
1736
|
-
* @property {boolean} [is_valid]
|
|
1737
|
-
*
|
|
1738
|
-
* @property {string} [
|
|
2176
|
+
* @property {number} [cod_charges] - Cash On Delivery charges of the user cart
|
|
2177
|
+
* @property {boolean} [is_valid] - Valid flag fotr the checkout response if
|
|
2178
|
+
* order placed was valid
|
|
2179
|
+
* @property {string} [uid] - Cart id of user cart
|
|
2180
|
+
* @property {string} [checkout_mode] - Checkout mode of user cart
|
|
1739
2181
|
* @property {CartCurrency} [currency]
|
|
1740
|
-
* @property {string} [last_modified]
|
|
1741
|
-
* @property {boolean} [buy_now]
|
|
1742
|
-
* @property {number} [delivery_charge_order_value]
|
|
1743
|
-
* @property {number} [cart_id]
|
|
1744
|
-
* @property {Object[]} [store_emps]
|
|
1745
|
-
* @property {string} [gstin]
|
|
1746
|
-
* @property {boolean} [cod_available]
|
|
1747
|
-
* @property {number} [delivery_charges]
|
|
1748
|
-
*
|
|
2182
|
+
* @property {string} [last_modified] - Last modified timestamp of cart
|
|
2183
|
+
* @property {boolean} [buy_now] - Buy now flag of user cart
|
|
2184
|
+
* @property {number} [delivery_charge_order_value] - Delivery charge order value
|
|
2185
|
+
* @property {number} [cart_id] - Cart id of the user cart for which the order placed
|
|
2186
|
+
* @property {Object[]} [store_emps] - Store employees data
|
|
2187
|
+
* @property {string} [gstin] - GSTIN number added in cart
|
|
2188
|
+
* @property {boolean} [cod_available] - Whether Cash On Delivery available
|
|
2189
|
+
* @property {number} [delivery_charges] - Delivery charges of the order placed
|
|
2190
|
+
* via checkout API
|
|
2191
|
+
* @property {Object} [custom_cart_meta] - Custom meta details added cart
|
|
2192
|
+
* checkout API payload
|
|
2193
|
+
*/
|
|
2194
|
+
|
|
2195
|
+
/**
|
|
2196
|
+
* @typedef CartCheckoutDetails
|
|
2197
|
+
* @property {string} [app_intercept_url] - App intercept url which is used to
|
|
2198
|
+
* redirect on app after payment in confirmed/failed
|
|
2199
|
+
* @property {Object} [data] - Data of the user cart checkout includes cart
|
|
2200
|
+
* data, address, user id, order type etc
|
|
2201
|
+
* @property {CheckCart} [cart]
|
|
2202
|
+
* @property {boolean} [success] - Success flag of cart checkout API response
|
|
2203
|
+
* @property {string} [callback_url] - Callback url to be redirected after
|
|
2204
|
+
* payment received/failed
|
|
2205
|
+
* @property {string} [payment_confirm_url] - Payment confirm url used to
|
|
2206
|
+
* redirect after payment is confirmed
|
|
2207
|
+
* @property {string} [order_id] - Order id generated after placing order
|
|
2208
|
+
* @property {string} [message] - Message of the cart checkout v2 API response
|
|
1749
2209
|
*/
|
|
1750
2210
|
|
|
1751
2211
|
/**
|
|
1752
|
-
* @typedef
|
|
2212
|
+
* @typedef CartCheckoutResult
|
|
1753
2213
|
* @property {string} [app_intercept_url]
|
|
1754
2214
|
* @property {Object} [data]
|
|
1755
2215
|
* @property {CheckCart} [cart]
|
|
@@ -1761,196 +2221,256 @@ const Joi = require("joi");
|
|
|
1761
2221
|
*/
|
|
1762
2222
|
|
|
1763
2223
|
/**
|
|
1764
|
-
* @typedef
|
|
2224
|
+
* @typedef CartDeliveryModesDetails
|
|
1765
2225
|
* @property {number[]} [pickup_stores] - Store pick up available store uids
|
|
1766
2226
|
* @property {string[]} [available_modes] - Available delivery modes
|
|
1767
2227
|
*/
|
|
1768
2228
|
|
|
1769
2229
|
/**
|
|
1770
2230
|
* @typedef PickupStoreDetail
|
|
1771
|
-
* @property {string} [country]
|
|
1772
|
-
* @property {string} [state]
|
|
1773
|
-
* @property {string} [city]
|
|
1774
|
-
* @property {string} [phone]
|
|
1775
|
-
* @property {string} [area_code]
|
|
1776
|
-
* @property {number} [uid]
|
|
1777
|
-
* @property {string} [area_code_slug]
|
|
1778
|
-
*
|
|
1779
|
-
* @property {string} [
|
|
1780
|
-
* @property {
|
|
1781
|
-
* @property {
|
|
1782
|
-
* @property {string} [
|
|
1783
|
-
* @property {string} [
|
|
1784
|
-
* @property {string} [
|
|
1785
|
-
* @property {string} [
|
|
1786
|
-
* @property {
|
|
1787
|
-
* @property {
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
* @
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
* @
|
|
1798
|
-
* @property {string} [
|
|
1799
|
-
*
|
|
1800
|
-
* @property {string} [
|
|
1801
|
-
*
|
|
1802
|
-
* @property {string} [
|
|
2231
|
+
* @property {string} [country] - Country of address
|
|
2232
|
+
* @property {string} [state] - State of the address
|
|
2233
|
+
* @property {string} [city] - City of the address
|
|
2234
|
+
* @property {string} [phone] - Phone number for address
|
|
2235
|
+
* @property {string} [area_code] - Area code of the address
|
|
2236
|
+
* @property {number} [uid] - Uid of the address
|
|
2237
|
+
* @property {string} [area_code_slug] - Area code slug for address. example
|
|
2238
|
+
* pincode is slug for India
|
|
2239
|
+
* @property {string} [address_type] - Address type of address
|
|
2240
|
+
* @property {string} [area] - Area description for address
|
|
2241
|
+
* @property {number} [id] - Id of the address
|
|
2242
|
+
* @property {string} [store_manager_name] - Name of store manager
|
|
2243
|
+
* @property {string} [name] - Name of person in address data to whom it belongs to
|
|
2244
|
+
* @property {string} [store_code] - Store code from which the order placed
|
|
2245
|
+
* @property {string} [landmark] - Landmark of address
|
|
2246
|
+
* @property {string} [email] - Email address for address data
|
|
2247
|
+
* @property {number} [pincode] - Address pincode
|
|
2248
|
+
* @property {string} [address] - Address description for address data
|
|
2249
|
+
*/
|
|
2250
|
+
|
|
2251
|
+
/**
|
|
2252
|
+
* @typedef StoreDetails
|
|
2253
|
+
* @property {PickupStoreDetail[]} [items] - List of items need to pickup from store
|
|
2254
|
+
*/
|
|
2255
|
+
|
|
2256
|
+
/**
|
|
2257
|
+
* @typedef CartPaymentUpdate
|
|
2258
|
+
* @property {string} [address_id] - Address id of the user on which the order
|
|
2259
|
+
* to be delivered
|
|
2260
|
+
* @property {string} [payment_mode] - Payment mode from which the payment to be
|
|
2261
|
+
* done for the order
|
|
2262
|
+
* @property {string} [aggregator_name] - Aggregator name of the payment gateway
|
|
2263
|
+
* @property {string} [merchant_code] - Merchant code of the payment mode
|
|
2264
|
+
* selected to do the payment
|
|
2265
|
+
* @property {string} [payment_identifier] - Payment identifier of the payment
|
|
2266
|
+
* mode selected to do the payment
|
|
2267
|
+
* @property {string} [id] - Cart id of the user cart
|
|
1803
2268
|
*/
|
|
1804
2269
|
|
|
1805
2270
|
/**
|
|
1806
2271
|
* @typedef CouponValidity
|
|
1807
|
-
* @property {string} [title]
|
|
1808
|
-
* @property {boolean} [next_validation_required]
|
|
1809
|
-
*
|
|
1810
|
-
* @property {
|
|
1811
|
-
*
|
|
1812
|
-
* @property {
|
|
2272
|
+
* @property {string} [title] - Coupon Title of the coupon applied
|
|
2273
|
+
* @property {boolean} [next_validation_required] - Flag for coupon validation
|
|
2274
|
+
* required on next page or not
|
|
2275
|
+
* @property {boolean} [valid] - Valid flag which denotes if the applied coupon
|
|
2276
|
+
* is valid or not
|
|
2277
|
+
* @property {string} [display_message_en] - Display message for coupon validity
|
|
2278
|
+
* @property {string} [code] - Coupon code of the coupon applied
|
|
2279
|
+
* @property {number} [discount] - Coupon discount value of the coupon applied
|
|
2280
|
+
* @property {string} [error_en] - Error message for the selected payment mode.
|
|
1813
2281
|
*/
|
|
1814
2282
|
|
|
1815
2283
|
/**
|
|
1816
2284
|
* @typedef PaymentCouponValidate
|
|
1817
|
-
* @property {boolean} success
|
|
1818
|
-
* @property {string} [message]
|
|
2285
|
+
* @property {boolean} success - Success flag of coupon payment mode validity API response
|
|
2286
|
+
* @property {string} [message] - Payment mode valid message for coupon
|
|
1819
2287
|
* @property {CouponValidity} [coupon_validity]
|
|
1820
2288
|
*/
|
|
1821
2289
|
|
|
1822
2290
|
/**
|
|
1823
2291
|
* @typedef PaymentMeta
|
|
1824
|
-
* @property {string} [payment_gateway]
|
|
1825
|
-
* @property {string} [type]
|
|
1826
|
-
* @property {string} [payment_identifier]
|
|
1827
|
-
*
|
|
2292
|
+
* @property {string} [payment_gateway] - Payment gateway used to do the payment
|
|
2293
|
+
* @property {string} [type] - Type of card if payment mode is card to do the payment
|
|
2294
|
+
* @property {string} [payment_identifier] - Payment identifier of the payment
|
|
2295
|
+
* mode selected to do the payment
|
|
2296
|
+
* @property {string} [merchant_code] - Merchant code of the payment mode
|
|
2297
|
+
* selected to do the payment
|
|
1828
2298
|
*/
|
|
1829
2299
|
|
|
1830
2300
|
/**
|
|
1831
2301
|
* @typedef PaymentMethod
|
|
1832
|
-
* @property {string} mode
|
|
1833
|
-
* @property {string} [payment]
|
|
2302
|
+
* @property {string} mode - Payment mode of payment method used to make payment
|
|
2303
|
+
* @property {string} [payment] - Payment name of payment method used to make payment
|
|
1834
2304
|
* @property {PaymentMeta} payment_meta
|
|
1835
|
-
* @property {number} [amount]
|
|
1836
|
-
* @property {string} [name]
|
|
1837
|
-
* @property {Object} [payment_extra_identifiers]
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
* @
|
|
1843
|
-
* @property {string} [
|
|
1844
|
-
*
|
|
1845
|
-
* @property {
|
|
1846
|
-
*
|
|
1847
|
-
* @property {
|
|
1848
|
-
*
|
|
1849
|
-
* @property {
|
|
1850
|
-
*
|
|
1851
|
-
* @property {
|
|
1852
|
-
*
|
|
1853
|
-
* @property {string}
|
|
1854
|
-
* @property {
|
|
1855
|
-
*
|
|
1856
|
-
* @property {string} [
|
|
1857
|
-
*
|
|
1858
|
-
* @property {
|
|
1859
|
-
*
|
|
2305
|
+
* @property {number} [amount] - Amount of the payment mode to be paid
|
|
2306
|
+
* @property {string} [name] - Name of the payment mode used to make payment
|
|
2307
|
+
* @property {Object} [payment_extra_identifiers] - Payment extra identifier for
|
|
2308
|
+
* the payment mode to do the payment
|
|
2309
|
+
*/
|
|
2310
|
+
|
|
2311
|
+
/**
|
|
2312
|
+
* @typedef PlatformCartCheckoutDetailV2Creation
|
|
2313
|
+
* @property {string} [address_id] - Address id of the user on which the order
|
|
2314
|
+
* to be delivered
|
|
2315
|
+
* @property {string} [payment_identifier] - Payment identifier of the payment
|
|
2316
|
+
* mode selected to do the payment
|
|
2317
|
+
* @property {Object} [payment_params] - Payment params which includes payment
|
|
2318
|
+
* identifier and merchant code
|
|
2319
|
+
* @property {CartCheckoutCustomMeta[]} [custom_meta] - Custom meta data to be
|
|
2320
|
+
* added in order
|
|
2321
|
+
* @property {boolean} [payment_auto_confirm] - Payment auto confirm flag if
|
|
2322
|
+
* payment need not to be collected from user
|
|
2323
|
+
* @property {string} id - Cart id of the user cart
|
|
2324
|
+
* @property {boolean} [pos] - Filed to determine whether user is making request
|
|
2325
|
+
* from pos or not
|
|
2326
|
+
* @property {string} [billing_address_id] - Billing address id of the customer
|
|
2327
|
+
* on which the invoice to be generated after the order is placed
|
|
2328
|
+
* @property {string} [merchant_code] - Merchant code of the payment mode
|
|
2329
|
+
* selected to do the payment
|
|
2330
|
+
* @property {string} [aggregator] - Aggregator name of the payment gateway
|
|
2331
|
+
* @property {number} [pick_at_store_uid] - Store id where we have to pick product
|
|
2332
|
+
* @property {string} [device_id] - Device id
|
|
2333
|
+
* @property {Object} [delivery_address] - Delivery address data which includes
|
|
2334
|
+
* customer address, customer phone, customer email, customer pincode,
|
|
2335
|
+
* customer landmark and customer name
|
|
2336
|
+
* @property {string} [payment_mode] - Payment mode from which the payment to be
|
|
2337
|
+
* done for the order
|
|
2338
|
+
* @property {string} [checkout_mode] - Mode of checkout used in cart
|
|
2339
|
+
* @property {CustomerDetails} [customer_details]
|
|
2340
|
+
* @property {Object} [meta] - Meta data to be added in order
|
|
2341
|
+
* @property {PaymentMethod[]} payment_methods - Payment methods list used to
|
|
2342
|
+
* make the payment
|
|
1860
2343
|
* @property {StaffCheckout} [staff]
|
|
1861
|
-
* @property {string} [employee_code]
|
|
1862
|
-
*
|
|
1863
|
-
* @property {
|
|
1864
|
-
*
|
|
1865
|
-
*
|
|
1866
|
-
* @property {string}
|
|
2344
|
+
* @property {string} [employee_code] - Employee code of staff who does checkout
|
|
2345
|
+
* on behalf of customer
|
|
2346
|
+
* @property {Object} [billing_address] - Billing address json which includes
|
|
2347
|
+
* customer address, customer phone, customer email, customer pincode,
|
|
2348
|
+
* customer landmark and customer name
|
|
2349
|
+
* @property {string} [callback_url] - Callback url after payment received/failed
|
|
2350
|
+
* @property {string} user_id - The user id of user cart
|
|
2351
|
+
* @property {Object} [extra_meta] - Extra meta to be added while checkout in order
|
|
2352
|
+
* @property {string} order_type - Order type of the order being placed like
|
|
2353
|
+
* pickAtStore or HomeDelivery
|
|
1867
2354
|
* @property {Files[]} [files] - List of file url
|
|
1868
|
-
* @property {number} [ordering_store]
|
|
1869
|
-
*
|
|
1870
|
-
* @property {string} [
|
|
1871
|
-
*
|
|
1872
|
-
* @property {string} [
|
|
2355
|
+
* @property {number} [ordering_store] - Ordering store id of the store from
|
|
2356
|
+
* which the order is getting placed
|
|
2357
|
+
* @property {string} [iin] - Issuer Identification Number number of card if
|
|
2358
|
+
* payment mode is card to do the payment
|
|
2359
|
+
* @property {string} [network] - Network of card if payment mode is card to do
|
|
2360
|
+
* the payment
|
|
2361
|
+
* @property {string} [type] - Type of cart if payment mode is card to do the payment
|
|
2362
|
+
* @property {string} [card_id] - Saved card id if payment mode is card to do the payment
|
|
1873
2363
|
*/
|
|
1874
2364
|
|
|
1875
2365
|
/**
|
|
1876
2366
|
* @typedef UpdateCartPaymentRequestV2
|
|
1877
|
-
* @property {string} [address_id]
|
|
1878
|
-
*
|
|
1879
|
-
* @property {string} [
|
|
1880
|
-
*
|
|
1881
|
-
* @property {string} [
|
|
1882
|
-
* @property {string} [
|
|
2367
|
+
* @property {string} [address_id] - Address id of the user address selected to
|
|
2368
|
+
* deliver the shipment
|
|
2369
|
+
* @property {string} [payment_mode] - Payment mode of the payment selected to
|
|
2370
|
+
* do the payment
|
|
2371
|
+
* @property {string} [aggregator_name] - Aggregator name of the payment gateway
|
|
2372
|
+
* @property {string} [merchant_code] - Merchant code of the payment mode
|
|
2373
|
+
* selected to do the payment
|
|
2374
|
+
* @property {string} [payment_identifier] - Payment identifier of the payment
|
|
2375
|
+
* mode selected to do the payment
|
|
2376
|
+
* @property {string} [id] - Cart id of the user cart for which the update cart
|
|
2377
|
+
* payment operation performed
|
|
1883
2378
|
* @property {PaymentMethod[]} [payment_methods]
|
|
1884
2379
|
*/
|
|
1885
2380
|
|
|
1886
2381
|
/**
|
|
1887
2382
|
* @typedef PriceMinMax
|
|
1888
|
-
* @property {number} [min]
|
|
1889
|
-
* @property {number} [max]
|
|
2383
|
+
* @property {number} [min] - Min price of article added in user cart
|
|
2384
|
+
* @property {number} [max] - Max price of article added in user cart
|
|
1890
2385
|
*/
|
|
1891
2386
|
|
|
1892
2387
|
/**
|
|
1893
2388
|
* @typedef ItemPriceDetails
|
|
1894
2389
|
* @property {PriceMinMax} [marked]
|
|
1895
2390
|
* @property {PriceMinMax} [effective]
|
|
1896
|
-
* @property {string} [currency]
|
|
2391
|
+
* @property {string} [currency] - The currency code for price
|
|
2392
|
+
*/
|
|
2393
|
+
|
|
2394
|
+
/**
|
|
2395
|
+
* @typedef ArticlePriceDetails
|
|
2396
|
+
* @property {number} [marked] - The Marked Price refers to the initial price of
|
|
2397
|
+
* the free gift article before product discount.
|
|
2398
|
+
* @property {number} [effective] - The Effective Price refers to the final
|
|
2399
|
+
* amount of the free gift article after applying the product discount.
|
|
1897
2400
|
*/
|
|
1898
2401
|
|
|
1899
2402
|
/**
|
|
1900
2403
|
* @typedef FreeGiftItems
|
|
1901
|
-
* @property {string} [item_slug] -
|
|
1902
|
-
* @property {string} [item_name] -
|
|
2404
|
+
* @property {string} [item_slug] - Free gift product slug
|
|
2405
|
+
* @property {string} [item_name] - Free gift product name
|
|
1903
2406
|
* @property {ItemPriceDetails} [item_price_details]
|
|
1904
|
-
* @property {
|
|
1905
|
-
* @property {
|
|
1906
|
-
* @property {
|
|
2407
|
+
* @property {ArticlePriceDetails} [article_price]
|
|
2408
|
+
* @property {string} [item_brand_name] - Free gift product brand name
|
|
2409
|
+
* @property {number} [item_id] - Free gift product id
|
|
2410
|
+
* @property {string[]} [available_sizes] - Available sizes for the free gift item.
|
|
2411
|
+
* @property {string} [size] - Selected size for the free gift item.
|
|
2412
|
+
* @property {string[]} [item_images_url] - List of free gift product images URL
|
|
1907
2413
|
*/
|
|
1908
2414
|
|
|
1909
2415
|
/**
|
|
1910
2416
|
* @typedef PromotionOffer
|
|
1911
|
-
* @property {string} [id] - Promotion
|
|
2417
|
+
* @property {string} [id] - Promotion unique identifier
|
|
1912
2418
|
* @property {Object} [buy_rules] - Buy rules of promotions
|
|
1913
|
-
* @property {string} [offer_text] - Offer title
|
|
1914
|
-
* @property {string} [promotion_type] - Promotion
|
|
2419
|
+
* @property {string} [offer_text] - Offer title of promotion that used to display
|
|
2420
|
+
* @property {string} [promotion_type] - Type of Promotion like percentage,
|
|
2421
|
+
* amount, bogo etc.
|
|
1915
2422
|
* @property {string} [promotion_name] - Name of the promotion
|
|
1916
2423
|
* @property {string} [promotion_group] - Group of promotion belongs to
|
|
1917
2424
|
* @property {string} [valid_till] - Datetime ISOString for promotion end date
|
|
1918
2425
|
* @property {Object[]} [discount_rules] - Discount rules of promotions
|
|
1919
2426
|
* @property {FreeGiftItems[]} [free_gift_items] - Details of free gift items
|
|
1920
2427
|
* @property {string} [description] - Offer details including T&C
|
|
2428
|
+
* @property {boolean} [is_bank_offer] - Indicates whether the promotion is
|
|
2429
|
+
* associated with a bank offer.
|
|
1921
2430
|
*/
|
|
1922
2431
|
|
|
1923
2432
|
/**
|
|
1924
|
-
* @typedef
|
|
1925
|
-
* @property {PromotionOffer[]} [available_promotions]
|
|
2433
|
+
* @typedef PromotionOffersDetails
|
|
2434
|
+
* @property {PromotionOffer[]} [available_promotions] - List of available
|
|
2435
|
+
* promotion for product
|
|
1926
2436
|
*/
|
|
1927
2437
|
|
|
1928
2438
|
/**
|
|
1929
2439
|
* @typedef PromotionPaymentOffer
|
|
1930
|
-
* @property {string} [application_id] - Application id
|
|
2440
|
+
* @property {string} [application_id] - Application id of the sales channel
|
|
1931
2441
|
* @property {Object[]} [buy_rules] - Buy rules of promotions
|
|
1932
2442
|
* @property {string} [calculate_on] - Price on which promotion calculated
|
|
1933
2443
|
* @property {string} [description] - Offer details including T&C
|
|
1934
2444
|
* @property {Object[]} [discount_rules] - Discount rules of promotions
|
|
1935
|
-
* @property {string} [id] - Promotion
|
|
1936
|
-
* @property {string} [offer_text] - Offer title
|
|
2445
|
+
* @property {string} [id] - Promotion unique identifier
|
|
2446
|
+
* @property {string} [offer_text] - Offer title of promotion that used to display
|
|
1937
2447
|
* @property {string} [promotion_group] - Group of promotion belongs to
|
|
1938
|
-
* @property {string} [promotion_type] - Promotion
|
|
2448
|
+
* @property {string} [promotion_type] - Type of Promotion like bogo, amount,
|
|
2449
|
+
* percentage etc.
|
|
1939
2450
|
* @property {string} [promotion_name] - Name of the promotion
|
|
1940
2451
|
*/
|
|
1941
2452
|
|
|
1942
2453
|
/**
|
|
1943
|
-
* @typedef
|
|
1944
|
-
* @property {boolean} [success]
|
|
2454
|
+
* @typedef PromotionPaymentOffersDetails
|
|
2455
|
+
* @property {boolean} [success] - Indicates if operation is successful or not.
|
|
1945
2456
|
* @property {PromotionPaymentOffer[]} [promotions]
|
|
1946
2457
|
*/
|
|
1947
2458
|
|
|
2459
|
+
/**
|
|
2460
|
+
* @typedef ValidationError
|
|
2461
|
+
* @property {string} message - A brief description of the error encountered.
|
|
2462
|
+
* @property {string} field - The field in the request that caused the error.
|
|
2463
|
+
*/
|
|
2464
|
+
|
|
1948
2465
|
class CartPlatformModel {
|
|
1949
2466
|
/** @returns {CouponDateMeta} */
|
|
1950
2467
|
static CouponDateMeta() {
|
|
1951
2468
|
return Joi.object({
|
|
1952
2469
|
modified_on: Joi.string().allow("").allow(null),
|
|
1953
2470
|
created_on: Joi.string().allow("").allow(null),
|
|
2471
|
+
approved_on: Joi.string().allow("").allow(null),
|
|
2472
|
+
rejected_on: Joi.string().allow("").allow(null),
|
|
2473
|
+
reviewed_on: Joi.string().allow("").allow(null),
|
|
1954
2474
|
});
|
|
1955
2475
|
}
|
|
1956
2476
|
|
|
@@ -1958,7 +2478,7 @@ class CartPlatformModel {
|
|
|
1958
2478
|
static Ownership() {
|
|
1959
2479
|
return Joi.object({
|
|
1960
2480
|
payable_category: Joi.string().allow("").required(),
|
|
1961
|
-
payable_by: Joi.string().allow("").
|
|
2481
|
+
payable_by: Joi.string().allow("").allow(null),
|
|
1962
2482
|
});
|
|
1963
2483
|
}
|
|
1964
2484
|
|
|
@@ -1967,6 +2487,9 @@ class CartPlatformModel {
|
|
|
1967
2487
|
return Joi.object({
|
|
1968
2488
|
created_by: Joi.string().allow("").allow(null),
|
|
1969
2489
|
modified_by: Joi.string().allow("").allow(null),
|
|
2490
|
+
approved_by: Joi.string().allow("").allow(null),
|
|
2491
|
+
rejected_by: Joi.string().allow("").allow(null),
|
|
2492
|
+
reviewed_by: Joi.string().allow("").allow(null),
|
|
1970
2493
|
});
|
|
1971
2494
|
}
|
|
1972
2495
|
|
|
@@ -2040,7 +2563,7 @@ class CartPlatformModel {
|
|
|
2040
2563
|
/** @returns {Restrictions} */
|
|
2041
2564
|
static Restrictions() {
|
|
2042
2565
|
return Joi.object({
|
|
2043
|
-
payments:
|
|
2566
|
+
payments: CartPlatformModel.PaymentModes(),
|
|
2044
2567
|
user_type: Joi.string().allow(""),
|
|
2045
2568
|
price_range: CartPlatformModel.PriceRange(),
|
|
2046
2569
|
platforms: Joi.array().items(Joi.string().allow("")),
|
|
@@ -2074,9 +2597,10 @@ class CartPlatformModel {
|
|
|
2074
2597
|
static CouponSchedule() {
|
|
2075
2598
|
return Joi.object({
|
|
2076
2599
|
end: Joi.string().allow("").allow(null),
|
|
2077
|
-
start: Joi.string().allow(""),
|
|
2600
|
+
start: Joi.string().allow("").allow(null),
|
|
2078
2601
|
next_schedule: Joi.array().items(Joi.any()),
|
|
2079
2602
|
cron: Joi.string().allow("").allow(null),
|
|
2603
|
+
status: Joi.string().allow(""),
|
|
2080
2604
|
duration: Joi.number().allow(null),
|
|
2081
2605
|
});
|
|
2082
2606
|
}
|
|
@@ -2140,11 +2664,11 @@ class CartPlatformModel {
|
|
|
2140
2664
|
return Joi.object({
|
|
2141
2665
|
currency_code: Joi.string().allow(""),
|
|
2142
2666
|
auto_apply: Joi.boolean(),
|
|
2143
|
-
type: Joi.string().allow("")
|
|
2667
|
+
type: Joi.string().allow(""),
|
|
2144
2668
|
is_exact: Joi.boolean(),
|
|
2145
|
-
applicable_on: Joi.string().allow("")
|
|
2146
|
-
calculate_on: Joi.string().allow("")
|
|
2147
|
-
value_type: Joi.string().allow("")
|
|
2669
|
+
applicable_on: Joi.string().allow(""),
|
|
2670
|
+
calculate_on: Joi.string().allow(""),
|
|
2671
|
+
value_type: Joi.string().allow(""),
|
|
2148
2672
|
scope: Joi.array().items(Joi.string().allow("")),
|
|
2149
2673
|
});
|
|
2150
2674
|
}
|
|
@@ -2153,21 +2677,24 @@ class CartPlatformModel {
|
|
|
2153
2677
|
static CouponAdd() {
|
|
2154
2678
|
return Joi.object({
|
|
2155
2679
|
date_meta: CartPlatformModel.CouponDateMeta(),
|
|
2156
|
-
ownership: CartPlatformModel.Ownership()
|
|
2680
|
+
ownership: CartPlatformModel.Ownership(),
|
|
2157
2681
|
author: CartPlatformModel.CouponAuthor(),
|
|
2158
2682
|
state: CartPlatformModel.State(),
|
|
2159
2683
|
restrictions: CartPlatformModel.Restrictions(),
|
|
2160
2684
|
validation: CartPlatformModel.Validation(),
|
|
2161
2685
|
action: CartPlatformModel.CouponAction(),
|
|
2686
|
+
coupon_type: Joi.string().allow(""),
|
|
2687
|
+
coupon_prefix: Joi.string().allow("").allow(null),
|
|
2688
|
+
coupon_counts: Joi.number(),
|
|
2162
2689
|
tags: Joi.array().items(Joi.string().allow("")),
|
|
2163
2690
|
_schedule: CartPlatformModel.CouponSchedule(),
|
|
2164
|
-
rule: Joi.array().items(CartPlatformModel.Rule())
|
|
2165
|
-
display_meta: CartPlatformModel.DisplayMeta()
|
|
2691
|
+
rule: Joi.array().items(CartPlatformModel.Rule()),
|
|
2692
|
+
display_meta: CartPlatformModel.DisplayMeta(),
|
|
2166
2693
|
code: Joi.string().allow("").required(),
|
|
2167
2694
|
type_slug: Joi.string().allow("").required(),
|
|
2168
|
-
identifiers: CartPlatformModel.Identifier()
|
|
2169
|
-
validity: CartPlatformModel.Validity()
|
|
2170
|
-
rule_definition: CartPlatformModel.RuleDefinition()
|
|
2695
|
+
identifiers: CartPlatformModel.Identifier(),
|
|
2696
|
+
validity: CartPlatformModel.Validity(),
|
|
2697
|
+
rule_definition: CartPlatformModel.RuleDefinition(),
|
|
2171
2698
|
_id: Joi.string().allow(""),
|
|
2172
2699
|
});
|
|
2173
2700
|
}
|
|
@@ -2185,8 +2712,8 @@ class CartPlatformModel {
|
|
|
2185
2712
|
});
|
|
2186
2713
|
}
|
|
2187
2714
|
|
|
2188
|
-
/** @returns {
|
|
2189
|
-
static
|
|
2715
|
+
/** @returns {CouponsResult} */
|
|
2716
|
+
static CouponsResult() {
|
|
2190
2717
|
return Joi.object({
|
|
2191
2718
|
items: Joi.array().items(CartPlatformModel.CouponAdd()),
|
|
2192
2719
|
page: CartPlatformModel.Page(),
|
|
@@ -2201,8 +2728,8 @@ class CartPlatformModel {
|
|
|
2201
2728
|
});
|
|
2202
2729
|
}
|
|
2203
2730
|
|
|
2204
|
-
/** @returns {
|
|
2205
|
-
static
|
|
2731
|
+
/** @returns {OperationErrorResult} */
|
|
2732
|
+
static OperationErrorResult() {
|
|
2206
2733
|
return Joi.object({
|
|
2207
2734
|
success: Joi.boolean(),
|
|
2208
2735
|
message: Joi.string().allow(""),
|
|
@@ -2214,7 +2741,7 @@ class CartPlatformModel {
|
|
|
2214
2741
|
static CouponUpdate() {
|
|
2215
2742
|
return Joi.object({
|
|
2216
2743
|
date_meta: CartPlatformModel.CouponDateMeta(),
|
|
2217
|
-
ownership: CartPlatformModel.Ownership()
|
|
2744
|
+
ownership: CartPlatformModel.Ownership(),
|
|
2218
2745
|
author: CartPlatformModel.CouponAuthor(),
|
|
2219
2746
|
state: CartPlatformModel.State(),
|
|
2220
2747
|
restrictions: CartPlatformModel.Restrictions(),
|
|
@@ -2222,13 +2749,17 @@ class CartPlatformModel {
|
|
|
2222
2749
|
action: CartPlatformModel.CouponAction(),
|
|
2223
2750
|
tags: Joi.array().items(Joi.string().allow("")),
|
|
2224
2751
|
_schedule: CartPlatformModel.CouponSchedule(),
|
|
2225
|
-
rule: Joi.array().items(CartPlatformModel.Rule())
|
|
2226
|
-
display_meta: CartPlatformModel.DisplayMeta()
|
|
2752
|
+
rule: Joi.array().items(CartPlatformModel.Rule()),
|
|
2753
|
+
display_meta: CartPlatformModel.DisplayMeta(),
|
|
2227
2754
|
code: Joi.string().allow("").required(),
|
|
2755
|
+
coupon_type: Joi.string().allow(""),
|
|
2756
|
+
coupon_prefix: Joi.string().allow("").allow(null),
|
|
2757
|
+
coupon_counts: Joi.number(),
|
|
2758
|
+
reason: Joi.string().allow("").allow(null),
|
|
2228
2759
|
type_slug: Joi.string().allow("").required(),
|
|
2229
|
-
identifiers: CartPlatformModel.Identifier()
|
|
2230
|
-
validity: CartPlatformModel.Validity()
|
|
2231
|
-
rule_definition: CartPlatformModel.RuleDefinition()
|
|
2760
|
+
identifiers: CartPlatformModel.Identifier(),
|
|
2761
|
+
validity: CartPlatformModel.Validity(),
|
|
2762
|
+
rule_definition: CartPlatformModel.RuleDefinition(),
|
|
2232
2763
|
});
|
|
2233
2764
|
}
|
|
2234
2765
|
|
|
@@ -2240,32 +2771,48 @@ class CartPlatformModel {
|
|
|
2240
2771
|
});
|
|
2241
2772
|
}
|
|
2242
2773
|
|
|
2774
|
+
/** @returns {CouponCreateResult} */
|
|
2775
|
+
static CouponCreateResult() {
|
|
2776
|
+
return Joi.object({
|
|
2777
|
+
success: Joi.boolean(),
|
|
2778
|
+
message: Joi.string().allow(""),
|
|
2779
|
+
_id: Joi.string().allow(""),
|
|
2780
|
+
});
|
|
2781
|
+
}
|
|
2782
|
+
|
|
2243
2783
|
/** @returns {DisplayMeta1} */
|
|
2244
2784
|
static DisplayMeta1() {
|
|
2245
2785
|
return Joi.object({
|
|
2246
|
-
description: Joi.string().allow(""),
|
|
2786
|
+
description: Joi.string().allow("").allow(null),
|
|
2247
2787
|
offer_label: Joi.string().allow(""),
|
|
2248
|
-
name: Joi.string().allow(""),
|
|
2249
|
-
offer_text: Joi.string().allow(""),
|
|
2788
|
+
name: Joi.string().allow("").allow(null),
|
|
2789
|
+
offer_text: Joi.string().allow("").allow(null),
|
|
2250
2790
|
});
|
|
2251
2791
|
}
|
|
2252
2792
|
|
|
2253
2793
|
/** @returns {Ownership1} */
|
|
2254
2794
|
static Ownership1() {
|
|
2255
2795
|
return Joi.object({
|
|
2256
|
-
payable_category: Joi.string().allow("")
|
|
2257
|
-
payable_by: Joi.string().allow("")
|
|
2796
|
+
payable_category: Joi.string().allow(""),
|
|
2797
|
+
payable_by: Joi.string().allow(""),
|
|
2258
2798
|
});
|
|
2259
2799
|
}
|
|
2260
2800
|
|
|
2261
2801
|
/** @returns {CompareObject} */
|
|
2262
2802
|
static CompareObject() {
|
|
2263
2803
|
return Joi.object({
|
|
2264
|
-
equals: Joi.number(),
|
|
2265
|
-
greater_than: Joi.number(),
|
|
2266
|
-
less_than_equals: Joi.number(),
|
|
2267
|
-
less_than: Joi.number(),
|
|
2268
|
-
greater_than_equals: Joi.number(),
|
|
2804
|
+
equals: Joi.number().allow(null),
|
|
2805
|
+
greater_than: Joi.number().allow(null),
|
|
2806
|
+
less_than_equals: Joi.number().allow(null),
|
|
2807
|
+
less_than: Joi.number().allow(null),
|
|
2808
|
+
greater_than_equals: Joi.number().allow(null),
|
|
2809
|
+
});
|
|
2810
|
+
}
|
|
2811
|
+
|
|
2812
|
+
/** @returns {ItemSizeMapping} */
|
|
2813
|
+
static ItemSizeMapping() {
|
|
2814
|
+
return Joi.object({
|
|
2815
|
+
item_size_mapping: Joi.object().pattern(/\S/, Joi.any()),
|
|
2269
2816
|
});
|
|
2270
2817
|
}
|
|
2271
2818
|
|
|
@@ -2309,7 +2856,7 @@ class CartPlatformModel {
|
|
|
2309
2856
|
discount_price: Joi.number(),
|
|
2310
2857
|
apportion_discount: Joi.boolean(),
|
|
2311
2858
|
partial_can_ret: Joi.boolean(),
|
|
2312
|
-
max_usage_per_transaction: Joi.number(),
|
|
2859
|
+
max_usage_per_transaction: Joi.number().allow(null),
|
|
2313
2860
|
min_offer_quantity: Joi.number(),
|
|
2314
2861
|
code: Joi.string().allow(""),
|
|
2315
2862
|
discount_amount: Joi.number(),
|
|
@@ -2324,6 +2871,7 @@ class CartPlatformModel {
|
|
|
2324
2871
|
discount_type: Joi.string().allow("").required(),
|
|
2325
2872
|
buy_condition: Joi.string().allow("").required(),
|
|
2326
2873
|
item_criteria: CartPlatformModel.ItemCriteria().required(),
|
|
2874
|
+
meta: CartPlatformModel.ItemSizeMapping(),
|
|
2327
2875
|
offer: CartPlatformModel.DiscountOffer().required(),
|
|
2328
2876
|
});
|
|
2329
2877
|
}
|
|
@@ -2338,7 +2886,7 @@ class CartPlatformModel {
|
|
|
2338
2886
|
/** @returns {PromotionPaymentModes} */
|
|
2339
2887
|
static PromotionPaymentModes() {
|
|
2340
2888
|
return Joi.object({
|
|
2341
|
-
type: Joi.string().allow("")
|
|
2889
|
+
type: Joi.string().allow(""),
|
|
2342
2890
|
uses: CartPlatformModel.PaymentAllowValue1(),
|
|
2343
2891
|
codes: Joi.array().items(Joi.string().allow("")),
|
|
2344
2892
|
});
|
|
@@ -2379,7 +2927,7 @@ class CartPlatformModel {
|
|
|
2379
2927
|
/** @returns {Restrictions1} */
|
|
2380
2928
|
static Restrictions1() {
|
|
2381
2929
|
return Joi.object({
|
|
2382
|
-
payments:
|
|
2930
|
+
payments: CartPlatformModel.PaymentModes(),
|
|
2383
2931
|
user_registered: CartPlatformModel.UserRegistered(),
|
|
2384
2932
|
platforms: Joi.array().items(Joi.string().allow("")),
|
|
2385
2933
|
post_order: CartPlatformModel.PostOrder1(),
|
|
@@ -2387,7 +2935,7 @@ class CartPlatformModel {
|
|
|
2387
2935
|
order_quantity: Joi.number(),
|
|
2388
2936
|
anonymous_users: Joi.boolean(),
|
|
2389
2937
|
user_id: Joi.array().items(Joi.string().allow("")),
|
|
2390
|
-
uses: CartPlatformModel.UsesRestriction1()
|
|
2938
|
+
uses: CartPlatformModel.UsesRestriction1(),
|
|
2391
2939
|
ordering_stores: Joi.array().items(Joi.number()),
|
|
2392
2940
|
});
|
|
2393
2941
|
}
|
|
@@ -2395,9 +2943,10 @@ class CartPlatformModel {
|
|
|
2395
2943
|
/** @returns {PromotionSchedule} */
|
|
2396
2944
|
static PromotionSchedule() {
|
|
2397
2945
|
return Joi.object({
|
|
2398
|
-
end: Joi.string().allow("").
|
|
2399
|
-
start: Joi.string().allow("").
|
|
2400
|
-
|
|
2946
|
+
end: Joi.string().allow("").allow(null),
|
|
2947
|
+
start: Joi.string().allow("").allow(null),
|
|
2948
|
+
status: Joi.string().allow(""),
|
|
2949
|
+
published: Joi.boolean(),
|
|
2401
2950
|
next_schedule: Joi.array().items(Joi.any()),
|
|
2402
2951
|
cron: Joi.string().allow("").allow(null),
|
|
2403
2952
|
duration: Joi.number().allow(null),
|
|
@@ -2407,8 +2956,8 @@ class CartPlatformModel {
|
|
|
2407
2956
|
/** @returns {PromotionAction} */
|
|
2408
2957
|
static PromotionAction() {
|
|
2409
2958
|
return Joi.object({
|
|
2410
|
-
action_date: Joi.string().allow("").allow(null)
|
|
2411
|
-
action_type: Joi.string().allow("").
|
|
2959
|
+
action_date: Joi.string().allow("").allow(null),
|
|
2960
|
+
action_type: Joi.string().allow("").allow(null),
|
|
2412
2961
|
});
|
|
2413
2962
|
}
|
|
2414
2963
|
|
|
@@ -2417,14 +2966,17 @@ class CartPlatformModel {
|
|
|
2417
2966
|
return Joi.object({
|
|
2418
2967
|
created_by: Joi.string().allow("").allow(null),
|
|
2419
2968
|
modified_by: Joi.string().allow("").allow(null),
|
|
2969
|
+
approved_by: Joi.string().allow("").allow(null),
|
|
2970
|
+
rejected_by: Joi.string().allow("").allow(null),
|
|
2971
|
+
reviewed_by: Joi.string().allow("").allow(null),
|
|
2420
2972
|
});
|
|
2421
2973
|
}
|
|
2422
2974
|
|
|
2423
2975
|
/** @returns {Visibility} */
|
|
2424
2976
|
static Visibility() {
|
|
2425
2977
|
return Joi.object({
|
|
2426
|
-
coupon_list: Joi.boolean()
|
|
2427
|
-
pdp: Joi.boolean()
|
|
2978
|
+
coupon_list: Joi.boolean(),
|
|
2979
|
+
pdp: Joi.boolean(),
|
|
2428
2980
|
});
|
|
2429
2981
|
}
|
|
2430
2982
|
|
|
@@ -2433,6 +2985,9 @@ class CartPlatformModel {
|
|
|
2433
2985
|
return Joi.object({
|
|
2434
2986
|
modified_on: Joi.string().allow("").allow(null),
|
|
2435
2987
|
created_on: Joi.string().allow("").allow(null),
|
|
2988
|
+
approved_on: Joi.string().allow("").allow(null),
|
|
2989
|
+
rejected_on: Joi.string().allow("").allow(null),
|
|
2990
|
+
reviewed_on: Joi.string().allow("").allow(null),
|
|
2436
2991
|
});
|
|
2437
2992
|
}
|
|
2438
2993
|
|
|
@@ -2453,6 +3008,7 @@ class CartPlatformModel {
|
|
|
2453
3008
|
.required(),
|
|
2454
3009
|
restrictions: CartPlatformModel.Restrictions1(),
|
|
2455
3010
|
currency: Joi.string().allow(""),
|
|
3011
|
+
is_processed: Joi.boolean(),
|
|
2456
3012
|
code: Joi.string().allow(""),
|
|
2457
3013
|
_schedule: CartPlatformModel.PromotionSchedule(),
|
|
2458
3014
|
post_order_action: CartPlatformModel.PromotionAction(),
|
|
@@ -2460,18 +3016,16 @@ class CartPlatformModel {
|
|
|
2460
3016
|
author: CartPlatformModel.PromotionAuthor(),
|
|
2461
3017
|
visiblility: CartPlatformModel.Visibility(),
|
|
2462
3018
|
application_id: Joi.string().allow("").required(),
|
|
2463
|
-
buy_rules:
|
|
2464
|
-
|
|
2465
|
-
.required(),
|
|
2466
|
-
_custom_json: Joi.any(),
|
|
3019
|
+
buy_rules: CartPlatformModel.ItemCriteria().required(),
|
|
3020
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
2467
3021
|
date_meta: CartPlatformModel.PromotionDateMeta(),
|
|
2468
3022
|
_id: Joi.string().allow(""),
|
|
2469
3023
|
tags: Joi.array().items(Joi.string().allow("")),
|
|
2470
3024
|
});
|
|
2471
3025
|
}
|
|
2472
3026
|
|
|
2473
|
-
/** @returns {
|
|
2474
|
-
static
|
|
3027
|
+
/** @returns {PromotionsResult} */
|
|
3028
|
+
static PromotionsResult() {
|
|
2475
3029
|
return Joi.object({
|
|
2476
3030
|
items: Joi.array().items(CartPlatformModel.PromotionListItem()),
|
|
2477
3031
|
page: CartPlatformModel.Page(),
|
|
@@ -2487,12 +3041,10 @@ class CartPlatformModel {
|
|
|
2487
3041
|
promo_group: Joi.string().allow("").required(),
|
|
2488
3042
|
mode: Joi.string().allow("").required(),
|
|
2489
3043
|
apply_all_discount: Joi.boolean(),
|
|
2490
|
-
display_meta: CartPlatformModel.DisplayMeta1()
|
|
2491
|
-
ownership: CartPlatformModel.Ownership1()
|
|
3044
|
+
display_meta: CartPlatformModel.DisplayMeta1(),
|
|
3045
|
+
ownership: CartPlatformModel.Ownership1(),
|
|
2492
3046
|
promotion_type: Joi.string().allow("").required(),
|
|
2493
|
-
discount_rules: Joi.array()
|
|
2494
|
-
.items(CartPlatformModel.DiscountRule())
|
|
2495
|
-
.required(),
|
|
3047
|
+
discount_rules: Joi.array().items(CartPlatformModel.DiscountRule()),
|
|
2496
3048
|
restrictions: CartPlatformModel.Restrictions1(),
|
|
2497
3049
|
currency: Joi.string().allow(""),
|
|
2498
3050
|
code: Joi.string().allow(""),
|
|
@@ -2502,10 +3054,38 @@ class CartPlatformModel {
|
|
|
2502
3054
|
author: CartPlatformModel.PromotionAuthor(),
|
|
2503
3055
|
visiblility: CartPlatformModel.Visibility(),
|
|
2504
3056
|
application_id: Joi.string().allow("").required(),
|
|
2505
|
-
buy_rules:
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
3057
|
+
buy_rules: CartPlatformModel.ItemCriteria(),
|
|
3058
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
3059
|
+
date_meta: CartPlatformModel.PromotionDateMeta(),
|
|
3060
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
3061
|
+
});
|
|
3062
|
+
}
|
|
3063
|
+
|
|
3064
|
+
/** @returns {PromotionAddResult} */
|
|
3065
|
+
static PromotionAddResult() {
|
|
3066
|
+
return Joi.object({
|
|
3067
|
+
stackable: Joi.boolean(),
|
|
3068
|
+
calculate_on: Joi.string().allow(""),
|
|
3069
|
+
apply_exclusive: Joi.string().allow("").allow(null),
|
|
3070
|
+
promo_group: Joi.string().allow("").required(),
|
|
3071
|
+
mode: Joi.string().allow("").required(),
|
|
3072
|
+
is_processed: Joi.boolean(),
|
|
3073
|
+
apply_all_discount: Joi.boolean(),
|
|
3074
|
+
display_meta: CartPlatformModel.DisplayMeta1(),
|
|
3075
|
+
ownership: CartPlatformModel.Ownership1(),
|
|
3076
|
+
promotion_type: Joi.string().allow("").required(),
|
|
3077
|
+
discount_rules: Joi.array().items(CartPlatformModel.DiscountRule()),
|
|
3078
|
+
restrictions: CartPlatformModel.Restrictions1(),
|
|
3079
|
+
currency: Joi.string().allow(""),
|
|
3080
|
+
code: Joi.string().allow(""),
|
|
3081
|
+
_schedule: CartPlatformModel.PromotionSchedule(),
|
|
3082
|
+
post_order_action: CartPlatformModel.PromotionAction(),
|
|
3083
|
+
apply_priority: Joi.number(),
|
|
3084
|
+
author: CartPlatformModel.PromotionAuthor(),
|
|
3085
|
+
visiblility: CartPlatformModel.Visibility(),
|
|
3086
|
+
application_id: Joi.string().allow("").required(),
|
|
3087
|
+
buy_rules: CartPlatformModel.ItemCriteria(),
|
|
3088
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
2509
3089
|
date_meta: CartPlatformModel.PromotionDateMeta(),
|
|
2510
3090
|
tags: Joi.array().items(Joi.string().allow("")),
|
|
2511
3091
|
});
|
|
@@ -2517,15 +3097,14 @@ class CartPlatformModel {
|
|
|
2517
3097
|
stackable: Joi.boolean(),
|
|
2518
3098
|
calculate_on: Joi.string().allow(""),
|
|
2519
3099
|
apply_exclusive: Joi.string().allow("").allow(null),
|
|
3100
|
+
reason: Joi.string().allow("").allow(null),
|
|
2520
3101
|
promo_group: Joi.string().allow("").required(),
|
|
2521
3102
|
mode: Joi.string().allow("").required(),
|
|
2522
3103
|
apply_all_discount: Joi.boolean(),
|
|
2523
|
-
display_meta: CartPlatformModel.DisplayMeta1()
|
|
2524
|
-
ownership: CartPlatformModel.Ownership1()
|
|
3104
|
+
display_meta: CartPlatformModel.DisplayMeta1(),
|
|
3105
|
+
ownership: CartPlatformModel.Ownership1(),
|
|
2525
3106
|
promotion_type: Joi.string().allow("").required(),
|
|
2526
|
-
discount_rules: Joi.array()
|
|
2527
|
-
.items(CartPlatformModel.DiscountRule())
|
|
2528
|
-
.required(),
|
|
3107
|
+
discount_rules: Joi.array().items(CartPlatformModel.DiscountRule()),
|
|
2529
3108
|
restrictions: CartPlatformModel.Restrictions1(),
|
|
2530
3109
|
currency: Joi.string().allow(""),
|
|
2531
3110
|
code: Joi.string().allow(""),
|
|
@@ -2535,10 +3114,39 @@ class CartPlatformModel {
|
|
|
2535
3114
|
author: CartPlatformModel.PromotionAuthor(),
|
|
2536
3115
|
visiblility: CartPlatformModel.Visibility(),
|
|
2537
3116
|
application_id: Joi.string().allow("").required(),
|
|
2538
|
-
buy_rules:
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
3117
|
+
buy_rules: CartPlatformModel.ItemCriteria(),
|
|
3118
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
3119
|
+
date_meta: CartPlatformModel.PromotionDateMeta(),
|
|
3120
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
3121
|
+
});
|
|
3122
|
+
}
|
|
3123
|
+
|
|
3124
|
+
/** @returns {PromotionUpdateResult} */
|
|
3125
|
+
static PromotionUpdateResult() {
|
|
3126
|
+
return Joi.object({
|
|
3127
|
+
stackable: Joi.boolean(),
|
|
3128
|
+
calculate_on: Joi.string().allow(""),
|
|
3129
|
+
apply_exclusive: Joi.string().allow("").allow(null),
|
|
3130
|
+
reason: Joi.string().allow("").allow(null),
|
|
3131
|
+
is_processed: Joi.boolean(),
|
|
3132
|
+
promo_group: Joi.string().allow("").required(),
|
|
3133
|
+
mode: Joi.string().allow("").required(),
|
|
3134
|
+
apply_all_discount: Joi.boolean(),
|
|
3135
|
+
display_meta: CartPlatformModel.DisplayMeta1(),
|
|
3136
|
+
ownership: CartPlatformModel.Ownership1(),
|
|
3137
|
+
promotion_type: Joi.string().allow("").required(),
|
|
3138
|
+
discount_rules: Joi.array().items(CartPlatformModel.DiscountRule()),
|
|
3139
|
+
restrictions: CartPlatformModel.Restrictions1(),
|
|
3140
|
+
currency: Joi.string().allow(""),
|
|
3141
|
+
code: Joi.string().allow(""),
|
|
3142
|
+
_schedule: CartPlatformModel.PromotionSchedule(),
|
|
3143
|
+
post_order_action: CartPlatformModel.PromotionAction(),
|
|
3144
|
+
apply_priority: Joi.number(),
|
|
3145
|
+
author: CartPlatformModel.PromotionAuthor(),
|
|
3146
|
+
visiblility: CartPlatformModel.Visibility(),
|
|
3147
|
+
application_id: Joi.string().allow("").required(),
|
|
3148
|
+
buy_rules: CartPlatformModel.ItemCriteria(),
|
|
3149
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
2542
3150
|
date_meta: CartPlatformModel.PromotionDateMeta(),
|
|
2543
3151
|
tags: Joi.array().items(Joi.string().allow("")),
|
|
2544
3152
|
});
|
|
@@ -2552,8 +3160,8 @@ class CartPlatformModel {
|
|
|
2552
3160
|
});
|
|
2553
3161
|
}
|
|
2554
3162
|
|
|
2555
|
-
/** @returns {
|
|
2556
|
-
static
|
|
3163
|
+
/** @returns {ActivePromosResult} */
|
|
3164
|
+
static ActivePromosResult() {
|
|
2557
3165
|
return Joi.object({
|
|
2558
3166
|
entity_slug: Joi.string().allow(""),
|
|
2559
3167
|
title: Joi.string().allow(""),
|
|
@@ -2622,14 +3230,14 @@ class CartPlatformModel {
|
|
|
2622
3230
|
type: Joi.string().allow(""),
|
|
2623
3231
|
article_id: Joi.string().allow("").required(),
|
|
2624
3232
|
quantity: Joi.number(),
|
|
2625
|
-
meta: Joi.any(),
|
|
3233
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
2626
3234
|
});
|
|
2627
3235
|
}
|
|
2628
3236
|
|
|
2629
3237
|
/** @returns {PriceAdjustmentRestrictions} */
|
|
2630
3238
|
static PriceAdjustmentRestrictions() {
|
|
2631
3239
|
return Joi.object({
|
|
2632
|
-
post_order: Joi.any(),
|
|
3240
|
+
post_order: Joi.object().pattern(/\S/, Joi.any()),
|
|
2633
3241
|
});
|
|
2634
3242
|
}
|
|
2635
3243
|
|
|
@@ -2656,8 +3264,9 @@ class CartPlatformModel {
|
|
|
2656
3264
|
is_authenticated: Joi.boolean().required(),
|
|
2657
3265
|
article_ids: Joi.array().items(CartPlatformModel.Article()).required(),
|
|
2658
3266
|
auto_remove: Joi.boolean(),
|
|
2659
|
-
meta: Joi.any(),
|
|
3267
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
2660
3268
|
cart_id: Joi.string().allow("").required(),
|
|
3269
|
+
distribution_logic: CartPlatformModel.DistributionLogic(),
|
|
2661
3270
|
});
|
|
2662
3271
|
}
|
|
2663
3272
|
|
|
@@ -2676,20 +3285,21 @@ class CartPlatformModel {
|
|
|
2676
3285
|
is_authenticated: Joi.boolean().required(),
|
|
2677
3286
|
article_ids: Joi.array().items(CartPlatformModel.Article()).required(),
|
|
2678
3287
|
auto_remove: Joi.boolean(),
|
|
2679
|
-
meta: Joi.any(),
|
|
3288
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
2680
3289
|
cart_id: Joi.string().allow("").required(),
|
|
3290
|
+
distribution_logic: CartPlatformModel.DistributionLogic(),
|
|
2681
3291
|
});
|
|
2682
3292
|
}
|
|
2683
3293
|
|
|
2684
|
-
/** @returns {
|
|
2685
|
-
static
|
|
3294
|
+
/** @returns {PriceAdjustmentResult} */
|
|
3295
|
+
static PriceAdjustmentResult() {
|
|
2686
3296
|
return Joi.object({
|
|
2687
3297
|
data: CartPlatformModel.PriceAdjustment(),
|
|
2688
3298
|
});
|
|
2689
3299
|
}
|
|
2690
3300
|
|
|
2691
|
-
/** @returns {
|
|
2692
|
-
static
|
|
3301
|
+
/** @returns {GetPriceAdjustmentResult} */
|
|
3302
|
+
static GetPriceAdjustmentResult() {
|
|
2693
3303
|
return Joi.object({
|
|
2694
3304
|
data: Joi.array().items(CartPlatformModel.PriceAdjustment()),
|
|
2695
3305
|
});
|
|
@@ -2709,9 +3319,34 @@ class CartPlatformModel {
|
|
|
2709
3319
|
allowed_refund: Joi.boolean(),
|
|
2710
3320
|
is_authenticated: Joi.boolean().required(),
|
|
2711
3321
|
article_ids: Joi.array().items(CartPlatformModel.Article()).required(),
|
|
2712
|
-
meta: Joi.any(),
|
|
3322
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
2713
3323
|
cart_id: Joi.string().allow("").required(),
|
|
2714
3324
|
auto_remove: Joi.boolean(),
|
|
3325
|
+
distribution_logic: CartPlatformModel.DistributionLogic(),
|
|
3326
|
+
});
|
|
3327
|
+
}
|
|
3328
|
+
|
|
3329
|
+
/** @returns {DistributionRule} */
|
|
3330
|
+
static DistributionRule() {
|
|
3331
|
+
return Joi.object({
|
|
3332
|
+
conditions: Joi.object().pattern(/\S/, Joi.any()),
|
|
3333
|
+
});
|
|
3334
|
+
}
|
|
3335
|
+
|
|
3336
|
+
/** @returns {Distribution} */
|
|
3337
|
+
static Distribution() {
|
|
3338
|
+
return Joi.object({
|
|
3339
|
+
type: Joi.string().allow(""),
|
|
3340
|
+
logic: Joi.string().allow(""),
|
|
3341
|
+
rule: CartPlatformModel.DistributionRule(),
|
|
3342
|
+
});
|
|
3343
|
+
}
|
|
3344
|
+
|
|
3345
|
+
/** @returns {DistributionLogic} */
|
|
3346
|
+
static DistributionLogic() {
|
|
3347
|
+
return Joi.object({
|
|
3348
|
+
distribution_level: Joi.string().allow(""),
|
|
3349
|
+
distribution: CartPlatformModel.Distribution(),
|
|
2715
3350
|
});
|
|
2716
3351
|
}
|
|
2717
3352
|
|
|
@@ -2724,8 +3359,8 @@ class CartPlatformModel {
|
|
|
2724
3359
|
});
|
|
2725
3360
|
}
|
|
2726
3361
|
|
|
2727
|
-
/** @returns {
|
|
2728
|
-
static
|
|
3362
|
+
/** @returns {OpenapiCartDetailsCreation} */
|
|
3363
|
+
static OpenapiCartDetailsCreation() {
|
|
2729
3364
|
return Joi.object({
|
|
2730
3365
|
cart_items: Joi.array().items(CartPlatformModel.CartItem()).required(),
|
|
2731
3366
|
});
|
|
@@ -2813,7 +3448,7 @@ class CartPlatformModel {
|
|
|
2813
3448
|
/** @returns {Tags} */
|
|
2814
3449
|
static Tags() {
|
|
2815
3450
|
return Joi.object({
|
|
2816
|
-
tags: Joi.any(),
|
|
3451
|
+
tags: Joi.object().pattern(/\S/, Joi.any()),
|
|
2817
3452
|
});
|
|
2818
3453
|
}
|
|
2819
3454
|
|
|
@@ -2832,12 +3467,28 @@ class CartPlatformModel {
|
|
|
2832
3467
|
});
|
|
2833
3468
|
}
|
|
2834
3469
|
|
|
3470
|
+
/** @returns {ProductActionParams} */
|
|
3471
|
+
static ProductActionParams() {
|
|
3472
|
+
return Joi.object({
|
|
3473
|
+
slug: Joi.array().items(Joi.string().allow("")),
|
|
3474
|
+
});
|
|
3475
|
+
}
|
|
3476
|
+
|
|
3477
|
+
/** @returns {ProductActionPage} */
|
|
3478
|
+
static ProductActionPage() {
|
|
3479
|
+
return Joi.object({
|
|
3480
|
+
type: Joi.string().allow(""),
|
|
3481
|
+
params: CartPlatformModel.ProductActionParams(),
|
|
3482
|
+
});
|
|
3483
|
+
}
|
|
3484
|
+
|
|
2835
3485
|
/** @returns {ProductAction} */
|
|
2836
3486
|
static ProductAction() {
|
|
2837
3487
|
return Joi.object({
|
|
2838
3488
|
type: Joi.string().allow(""),
|
|
2839
3489
|
url: Joi.string().allow(""),
|
|
2840
3490
|
query: CartPlatformModel.ActionQuery(),
|
|
3491
|
+
page: CartPlatformModel.ProductActionPage(),
|
|
2841
3492
|
});
|
|
2842
3493
|
}
|
|
2843
3494
|
|
|
@@ -2859,12 +3510,12 @@ class CartPlatformModel {
|
|
|
2859
3510
|
action: CartPlatformModel.ProductAction(),
|
|
2860
3511
|
uid: Joi.number(),
|
|
2861
3512
|
tags: Joi.array().items(Joi.string().allow("")),
|
|
2862
|
-
_custom_json: Joi.any(),
|
|
3513
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
2863
3514
|
type: Joi.string().allow(""),
|
|
2864
3515
|
name: Joi.string().allow(""),
|
|
2865
3516
|
item_code: Joi.string().allow("").allow(null),
|
|
2866
3517
|
categories: Joi.array().items(CartPlatformModel.CategoryInfo()),
|
|
2867
|
-
attributes: Joi.any(),
|
|
3518
|
+
attributes: Joi.object().pattern(/\S/, Joi.any()),
|
|
2868
3519
|
});
|
|
2869
3520
|
}
|
|
2870
3521
|
|
|
@@ -2901,19 +3552,19 @@ class CartPlatformModel {
|
|
|
2901
3552
|
seller_identifier: Joi.string().allow(""),
|
|
2902
3553
|
quantity: Joi.number(),
|
|
2903
3554
|
seller: CartPlatformModel.BaseInfo(),
|
|
2904
|
-
cart_item_meta: Joi.any(),
|
|
2905
|
-
parent_item_identifiers: Joi.any(),
|
|
3555
|
+
cart_item_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3556
|
+
parent_item_identifiers: Joi.object().pattern(/\S/, Joi.any()),
|
|
2906
3557
|
is_gift_visible: Joi.boolean(),
|
|
2907
3558
|
uid: Joi.string().allow(""),
|
|
2908
|
-
gift_card: Joi.any(),
|
|
3559
|
+
gift_card: Joi.object().pattern(/\S/, Joi.any()),
|
|
2909
3560
|
product_group_tags: Joi.array().items(Joi.string().allow("")),
|
|
2910
|
-
identifier: Joi.any(),
|
|
3561
|
+
identifier: Joi.object().pattern(/\S/, Joi.any()),
|
|
2911
3562
|
mto_quantity: Joi.number(),
|
|
2912
|
-
extra_meta: Joi.any(),
|
|
3563
|
+
extra_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
2913
3564
|
type: Joi.string().allow(""),
|
|
2914
|
-
_custom_json: Joi.any(),
|
|
3565
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
2915
3566
|
price: CartPlatformModel.ArticlePriceInfo(),
|
|
2916
|
-
meta: Joi.any(),
|
|
3567
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
2917
3568
|
size: Joi.string().allow(""),
|
|
2918
3569
|
store: CartPlatformModel.StoreInfo(),
|
|
2919
3570
|
tags: Joi.array().items(Joi.string().allow("")),
|
|
@@ -2931,9 +3582,9 @@ class CartPlatformModel {
|
|
|
2931
3582
|
/** @returns {DiscountRulesApp} */
|
|
2932
3583
|
static DiscountRulesApp() {
|
|
2933
3584
|
return Joi.object({
|
|
2934
|
-
offer: Joi.any(),
|
|
2935
|
-
raw_offer: Joi.any(),
|
|
2936
|
-
item_criteria: Joi.any(),
|
|
3585
|
+
offer: Joi.object().pattern(/\S/, Joi.any()),
|
|
3586
|
+
raw_offer: Joi.object().pattern(/\S/, Joi.any()),
|
|
3587
|
+
item_criteria: Joi.object().pattern(/\S/, Joi.any()),
|
|
2937
3588
|
matched_buy_rules: Joi.array().items(Joi.string().allow("")),
|
|
2938
3589
|
});
|
|
2939
3590
|
}
|
|
@@ -2951,8 +3602,8 @@ class CartPlatformModel {
|
|
|
2951
3602
|
/** @returns {BuyRules} */
|
|
2952
3603
|
static BuyRules() {
|
|
2953
3604
|
return Joi.object({
|
|
2954
|
-
cart_conditions: Joi.any(),
|
|
2955
|
-
item_criteria: Joi.any(),
|
|
3605
|
+
cart_conditions: Joi.object().pattern(/\S/, Joi.any()),
|
|
3606
|
+
item_criteria: Joi.object().pattern(/\S/, Joi.any()),
|
|
2956
3607
|
});
|
|
2957
3608
|
}
|
|
2958
3609
|
|
|
@@ -2975,7 +3626,7 @@ class CartPlatformModel {
|
|
|
2975
3626
|
mrp_promotion: Joi.boolean(),
|
|
2976
3627
|
promotion_group: Joi.string().allow(""),
|
|
2977
3628
|
promo_id: Joi.string().allow(""),
|
|
2978
|
-
meta: Joi.any(),
|
|
3629
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
2979
3630
|
code: Joi.string().allow("").allow(null),
|
|
2980
3631
|
});
|
|
2981
3632
|
}
|
|
@@ -3085,7 +3736,7 @@ class CartPlatformModel {
|
|
|
3085
3736
|
quantity: Joi.number(),
|
|
3086
3737
|
product: CartPlatformModel.CartProduct(),
|
|
3087
3738
|
product_ean_id: Joi.string().allow(""),
|
|
3088
|
-
parent_item_identifiers: Joi.any(),
|
|
3739
|
+
parent_item_identifiers: Joi.object().pattern(/\S/, Joi.any()),
|
|
3089
3740
|
is_set: Joi.boolean(),
|
|
3090
3741
|
article: CartPlatformModel.ProductArticle(),
|
|
3091
3742
|
promotions_applied: Joi.array().items(
|
|
@@ -3094,22 +3745,22 @@ class CartPlatformModel {
|
|
|
3094
3745
|
delivery_promise: CartPlatformModel.ShipmentPromise(),
|
|
3095
3746
|
key: Joi.string().allow(""),
|
|
3096
3747
|
coupon: CartPlatformModel.CouponDetails(),
|
|
3097
|
-
bulk_offer: Joi.any(),
|
|
3748
|
+
bulk_offer: Joi.object().pattern(/\S/, Joi.any()),
|
|
3098
3749
|
price: CartPlatformModel.ProductPriceInfo(),
|
|
3099
3750
|
coupon_message: Joi.string().allow(""),
|
|
3100
3751
|
identifiers: CartPlatformModel.CartProductIdentifer().required(),
|
|
3101
3752
|
message: Joi.string().allow(""),
|
|
3102
3753
|
discount: Joi.string().allow(""),
|
|
3103
3754
|
availability: CartPlatformModel.ProductAvailability(),
|
|
3104
|
-
moq: Joi.any(),
|
|
3755
|
+
moq: Joi.object().pattern(/\S/, Joi.any()),
|
|
3105
3756
|
price_per_unit: CartPlatformModel.ProductPriceInfo(),
|
|
3106
3757
|
promo_meta: CartPlatformModel.PromoMeta(),
|
|
3107
|
-
custom_order: Joi.any(),
|
|
3758
|
+
custom_order: Joi.object().pattern(/\S/, Joi.any()),
|
|
3108
3759
|
});
|
|
3109
3760
|
}
|
|
3110
3761
|
|
|
3111
|
-
/** @returns {
|
|
3112
|
-
static
|
|
3762
|
+
/** @returns {OpenapiCartDetailsResult} */
|
|
3763
|
+
static OpenapiCartDetailsResult() {
|
|
3113
3764
|
return Joi.object({
|
|
3114
3765
|
is_valid: Joi.boolean(),
|
|
3115
3766
|
message: Joi.string().allow(""),
|
|
@@ -3118,12 +3769,12 @@ class CartPlatformModel {
|
|
|
3118
3769
|
});
|
|
3119
3770
|
}
|
|
3120
3771
|
|
|
3121
|
-
/** @returns {
|
|
3122
|
-
static
|
|
3772
|
+
/** @returns {OpenApiErrorResult} */
|
|
3773
|
+
static OpenApiErrorResult() {
|
|
3123
3774
|
return Joi.object({
|
|
3124
3775
|
success: Joi.boolean(),
|
|
3125
3776
|
message: Joi.string().allow(""),
|
|
3126
|
-
errors: Joi.any(),
|
|
3777
|
+
errors: Joi.object().pattern(/\S/, Joi.any()),
|
|
3127
3778
|
});
|
|
3128
3779
|
}
|
|
3129
3780
|
|
|
@@ -3137,7 +3788,7 @@ class CartPlatformModel {
|
|
|
3137
3788
|
area_code: Joi.string().allow("").required(),
|
|
3138
3789
|
country_iso_code: Joi.string().allow(""),
|
|
3139
3790
|
country_phone_code: Joi.string().allow(""),
|
|
3140
|
-
meta: Joi.any(),
|
|
3791
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3141
3792
|
address_type: Joi.string().allow(""),
|
|
3142
3793
|
area: Joi.string().allow(""),
|
|
3143
3794
|
area_code_slug: Joi.string().allow(""),
|
|
@@ -3150,16 +3801,16 @@ class CartPlatformModel {
|
|
|
3150
3801
|
});
|
|
3151
3802
|
}
|
|
3152
3803
|
|
|
3153
|
-
/** @returns {
|
|
3154
|
-
static
|
|
3804
|
+
/** @returns {OpenApiCartServiceabilityCreation} */
|
|
3805
|
+
static OpenApiCartServiceabilityCreation() {
|
|
3155
3806
|
return Joi.object({
|
|
3156
3807
|
cart_items: Joi.array().items(CartPlatformModel.CartItem()).required(),
|
|
3157
3808
|
shipping_address: CartPlatformModel.ShippingAddress().required(),
|
|
3158
3809
|
});
|
|
3159
3810
|
}
|
|
3160
3811
|
|
|
3161
|
-
/** @returns {
|
|
3162
|
-
static
|
|
3812
|
+
/** @returns {OpenApiCartServiceabilityResult} */
|
|
3813
|
+
static OpenApiCartServiceabilityResult() {
|
|
3163
3814
|
return Joi.object({
|
|
3164
3815
|
is_valid: Joi.boolean(),
|
|
3165
3816
|
items: Joi.array().items(CartPlatformModel.CartProductInfo()),
|
|
@@ -3190,7 +3841,7 @@ class CartPlatformModel {
|
|
|
3190
3841
|
return Joi.object({
|
|
3191
3842
|
payment_id: Joi.string().allow("").allow(null),
|
|
3192
3843
|
payment_gateway: Joi.string().allow("").allow(null),
|
|
3193
|
-
extra_meta: Joi.any().allow(null),
|
|
3844
|
+
extra_meta: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
|
|
3194
3845
|
current_status: Joi.string().allow("").allow(null),
|
|
3195
3846
|
order_id: Joi.string().allow("").allow(null),
|
|
3196
3847
|
});
|
|
@@ -3218,7 +3869,7 @@ class CartPlatformModel {
|
|
|
3218
3869
|
price_marked: Joi.number().required(),
|
|
3219
3870
|
files: Joi.array().items(CartPlatformModel.OpenApiFiles()),
|
|
3220
3871
|
meta: CartPlatformModel.CartItemMeta(),
|
|
3221
|
-
extra_meta: Joi.any(),
|
|
3872
|
+
extra_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3222
3873
|
product_id: Joi.number().required(),
|
|
3223
3874
|
loyalty_discount: Joi.number(),
|
|
3224
3875
|
discount: Joi.number().required(),
|
|
@@ -3245,7 +3896,7 @@ class CartPlatformModel {
|
|
|
3245
3896
|
payment_methods: Joi.array()
|
|
3246
3897
|
.items(CartPlatformModel.MultiTenderPaymentMethod())
|
|
3247
3898
|
.required(),
|
|
3248
|
-
employee_discount: Joi.any(),
|
|
3899
|
+
employee_discount: Joi.object().pattern(/\S/, Joi.any()),
|
|
3249
3900
|
coupon: Joi.string().allow(""),
|
|
3250
3901
|
cashback_applied: Joi.number().required(),
|
|
3251
3902
|
gstin: Joi.string().allow("").allow(null),
|
|
@@ -3261,8 +3912,8 @@ class CartPlatformModel {
|
|
|
3261
3912
|
});
|
|
3262
3913
|
}
|
|
3263
3914
|
|
|
3264
|
-
/** @returns {
|
|
3265
|
-
static
|
|
3915
|
+
/** @returns {OpenApiCheckoutResult} */
|
|
3916
|
+
static OpenApiCheckoutResult() {
|
|
3266
3917
|
return Joi.object({
|
|
3267
3918
|
success: Joi.boolean(),
|
|
3268
3919
|
message: Joi.string().allow(""),
|
|
@@ -3275,46 +3926,48 @@ class CartPlatformModel {
|
|
|
3275
3926
|
static AbandonedCart() {
|
|
3276
3927
|
return Joi.object({
|
|
3277
3928
|
expire_at: Joi.string().allow("").required(),
|
|
3278
|
-
promotion: Joi.any(),
|
|
3929
|
+
promotion: Joi.object().pattern(/\S/, Joi.any()),
|
|
3279
3930
|
is_default: Joi.boolean().required(),
|
|
3280
3931
|
comment: Joi.string().allow("").allow(null),
|
|
3281
3932
|
articles: Joi.array().items(Joi.any()).required(),
|
|
3282
|
-
coupon: Joi.any().allow(null),
|
|
3933
|
+
coupon: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
|
|
3283
3934
|
bulk_coupon_discount: Joi.number().allow(null),
|
|
3284
3935
|
_id: Joi.string().allow("").required(),
|
|
3285
|
-
fynd_credits: Joi.any(),
|
|
3936
|
+
fynd_credits: Joi.object().pattern(/\S/, Joi.any()),
|
|
3286
3937
|
fc_index_map: Joi.array().items(Joi.number()),
|
|
3287
3938
|
order_id: Joi.string().allow(""),
|
|
3288
3939
|
discount: Joi.number(),
|
|
3289
|
-
cod_charges: Joi.any(),
|
|
3290
|
-
payments: Joi.any().allow(null),
|
|
3940
|
+
cod_charges: Joi.object().pattern(/\S/, Joi.any()),
|
|
3941
|
+
payments: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
|
|
3291
3942
|
payment_mode: Joi.string().allow("").allow(null),
|
|
3292
3943
|
shipments: Joi.array().items(Joi.any()),
|
|
3293
|
-
pick_up_customer_details: Joi.
|
|
3944
|
+
pick_up_customer_details: Joi.object()
|
|
3945
|
+
.pattern(/\S/, Joi.any())
|
|
3946
|
+
.allow(null, ""),
|
|
3294
3947
|
uid: Joi.number().required(),
|
|
3295
3948
|
checkout_mode: Joi.string().allow(""),
|
|
3296
3949
|
cart_value: Joi.number(),
|
|
3297
3950
|
is_archive: Joi.boolean(),
|
|
3298
3951
|
created_on: Joi.string().allow("").required(),
|
|
3299
3952
|
last_modified: Joi.string().allow("").required(),
|
|
3300
|
-
meta: Joi.any().allow(null),
|
|
3953
|
+
meta: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
|
|
3301
3954
|
buy_now: Joi.boolean(),
|
|
3302
3955
|
is_active: Joi.boolean(),
|
|
3303
|
-
cashback: Joi.any().required(),
|
|
3956
|
+
cashback: Joi.object().pattern(/\S/, Joi.any()).required(),
|
|
3304
3957
|
payment_methods: Joi.array().items(Joi.any()),
|
|
3305
3958
|
gstin: Joi.string().allow("").allow(null),
|
|
3306
|
-
delivery_charges: Joi.any(),
|
|
3959
|
+
delivery_charges: Joi.object().pattern(/\S/, Joi.any()),
|
|
3307
3960
|
merge_qty: Joi.boolean().allow(null),
|
|
3308
3961
|
user_id: Joi.string().allow("").required(),
|
|
3309
3962
|
app_id: Joi.string().allow(""),
|
|
3310
3963
|
});
|
|
3311
3964
|
}
|
|
3312
3965
|
|
|
3313
|
-
/** @returns {
|
|
3314
|
-
static
|
|
3966
|
+
/** @returns {AbandonedCartResult} */
|
|
3967
|
+
static AbandonedCartResult() {
|
|
3315
3968
|
return Joi.object({
|
|
3316
3969
|
items: Joi.array().items(CartPlatformModel.AbandonedCart()),
|
|
3317
|
-
result: Joi.any(),
|
|
3970
|
+
result: Joi.object().pattern(/\S/, Joi.any()),
|
|
3318
3971
|
page: CartPlatformModel.Page(),
|
|
3319
3972
|
success: Joi.boolean(),
|
|
3320
3973
|
message: Joi.string().allow(""),
|
|
@@ -3383,14 +4036,14 @@ class CartPlatformModel {
|
|
|
3383
4036
|
});
|
|
3384
4037
|
}
|
|
3385
4038
|
|
|
3386
|
-
/** @returns {
|
|
3387
|
-
static
|
|
4039
|
+
/** @returns {CartDetailResult} */
|
|
4040
|
+
static CartDetailResult() {
|
|
3388
4041
|
return Joi.object({
|
|
3389
4042
|
cart_id: Joi.number(),
|
|
3390
4043
|
uid: Joi.string().allow(""),
|
|
3391
4044
|
coupon_text: Joi.string().allow(""),
|
|
3392
4045
|
id: Joi.string().allow(""),
|
|
3393
|
-
pan_config: Joi.any(),
|
|
4046
|
+
pan_config: Joi.object().pattern(/\S/, Joi.any()),
|
|
3394
4047
|
delivery_promise: CartPlatformModel.ShipmentPromise(),
|
|
3395
4048
|
comment: Joi.string().allow(""),
|
|
3396
4049
|
items: Joi.array().items(CartPlatformModel.CartProductInfo()),
|
|
@@ -3400,7 +4053,7 @@ class CartPlatformModel {
|
|
|
3400
4053
|
coupon: CartPlatformModel.CartDetailCoupon(),
|
|
3401
4054
|
restrict_checkout: Joi.boolean(),
|
|
3402
4055
|
message: Joi.string().allow(""),
|
|
3403
|
-
notification: Joi.any(),
|
|
4056
|
+
notification: Joi.object().pattern(/\S/, Joi.any()),
|
|
3404
4057
|
staff_user_id: Joi.string().allow(""),
|
|
3405
4058
|
success: Joi.boolean(),
|
|
3406
4059
|
breakup_values: CartPlatformModel.CartBreakup(),
|
|
@@ -3414,7 +4067,7 @@ class CartPlatformModel {
|
|
|
3414
4067
|
CartPlatformModel.AppliedPromotion()
|
|
3415
4068
|
),
|
|
3416
4069
|
pan_no: Joi.string().allow(""),
|
|
3417
|
-
custom_cart_meta: Joi.any(),
|
|
4070
|
+
custom_cart_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3418
4071
|
});
|
|
3419
4072
|
}
|
|
3420
4073
|
|
|
@@ -3429,31 +4082,31 @@ class CartPlatformModel {
|
|
|
3429
4082
|
),
|
|
3430
4083
|
product_group_tags: Joi.array().items(Joi.string().allow("").allow(null)),
|
|
3431
4084
|
article_id: Joi.string().allow(""),
|
|
3432
|
-
article_assignment: Joi.any(),
|
|
4085
|
+
article_assignment: Joi.object().pattern(/\S/, Joi.any()),
|
|
3433
4086
|
store_id: Joi.number(),
|
|
3434
4087
|
display: Joi.string().allow(""),
|
|
3435
4088
|
item_id: Joi.number(),
|
|
3436
|
-
extra_meta: Joi.any(),
|
|
3437
|
-
_custom_json: Joi.any(),
|
|
3438
|
-
meta: Joi.any(),
|
|
4089
|
+
extra_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
4090
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
4091
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3439
4092
|
pos: Joi.boolean(),
|
|
3440
4093
|
seller_identifier: Joi.string().allow(""),
|
|
3441
4094
|
});
|
|
3442
4095
|
}
|
|
3443
4096
|
|
|
3444
|
-
/** @returns {
|
|
3445
|
-
static
|
|
4097
|
+
/** @returns {AddCartCreation} */
|
|
4098
|
+
static AddCartCreation() {
|
|
3446
4099
|
return Joi.object({
|
|
3447
4100
|
new_cart: Joi.boolean(),
|
|
3448
4101
|
items: Joi.array().items(CartPlatformModel.AddProductCart()),
|
|
3449
4102
|
});
|
|
3450
4103
|
}
|
|
3451
4104
|
|
|
3452
|
-
/** @returns {
|
|
3453
|
-
static
|
|
4105
|
+
/** @returns {AddCartDetailResult} */
|
|
4106
|
+
static AddCartDetailResult() {
|
|
3454
4107
|
return Joi.object({
|
|
3455
4108
|
success: Joi.boolean(),
|
|
3456
|
-
cart: CartPlatformModel.
|
|
4109
|
+
cart: CartPlatformModel.CartDetailResult(),
|
|
3457
4110
|
partial: Joi.boolean(),
|
|
3458
4111
|
message: Joi.string().allow(""),
|
|
3459
4112
|
});
|
|
@@ -3464,10 +4117,10 @@ class CartPlatformModel {
|
|
|
3464
4117
|
return Joi.object({
|
|
3465
4118
|
quantity: Joi.number(),
|
|
3466
4119
|
item_size: Joi.string().allow(""),
|
|
3467
|
-
parent_item_identifiers: Joi.any(),
|
|
3468
|
-
meta: Joi.any(),
|
|
3469
|
-
extra_meta: Joi.any(),
|
|
3470
|
-
_custom_json: Joi.any(),
|
|
4120
|
+
parent_item_identifiers: Joi.object().pattern(/\S/, Joi.any()),
|
|
4121
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
4122
|
+
extra_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
4123
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
3471
4124
|
item_id: Joi.number(),
|
|
3472
4125
|
item_index: Joi.number(),
|
|
3473
4126
|
identifiers: CartPlatformModel.CartProductIdentifer().required(),
|
|
@@ -3475,19 +4128,31 @@ class CartPlatformModel {
|
|
|
3475
4128
|
});
|
|
3476
4129
|
}
|
|
3477
4130
|
|
|
3478
|
-
/** @returns {
|
|
3479
|
-
static
|
|
4131
|
+
/** @returns {FreeGiftItemCreation} */
|
|
4132
|
+
static FreeGiftItemCreation() {
|
|
4133
|
+
return Joi.object({
|
|
4134
|
+
promotion_id: Joi.string().allow("").required(),
|
|
4135
|
+
item_id: Joi.string().allow("").required(),
|
|
4136
|
+
item_size: Joi.string().allow("").required(),
|
|
4137
|
+
});
|
|
4138
|
+
}
|
|
4139
|
+
|
|
4140
|
+
/** @returns {UpdateCartCreation} */
|
|
4141
|
+
static UpdateCartCreation() {
|
|
3480
4142
|
return Joi.object({
|
|
3481
4143
|
items: Joi.array().items(CartPlatformModel.UpdateProductCart()),
|
|
4144
|
+
free_gift_items: Joi.array().items(
|
|
4145
|
+
CartPlatformModel.FreeGiftItemCreation()
|
|
4146
|
+
),
|
|
3482
4147
|
operation: Joi.string().allow("").required(),
|
|
3483
4148
|
});
|
|
3484
4149
|
}
|
|
3485
4150
|
|
|
3486
|
-
/** @returns {
|
|
3487
|
-
static
|
|
4151
|
+
/** @returns {UpdateCartDetailResult} */
|
|
4152
|
+
static UpdateCartDetailResult() {
|
|
3488
4153
|
return Joi.object({
|
|
3489
4154
|
success: Joi.boolean(),
|
|
3490
|
-
cart: CartPlatformModel.
|
|
4155
|
+
cart: CartPlatformModel.CartDetailResult(),
|
|
3491
4156
|
message: Joi.string().allow(""),
|
|
3492
4157
|
});
|
|
3493
4158
|
}
|
|
@@ -3513,7 +4178,7 @@ class CartPlatformModel {
|
|
|
3513
4178
|
price_marked: Joi.number().required(),
|
|
3514
4179
|
amount_paid: Joi.number().required(),
|
|
3515
4180
|
promo_list: Joi.array().items(CartPlatformModel.OverrideCartItemPromo()),
|
|
3516
|
-
extra_meta: Joi.any(),
|
|
4181
|
+
extra_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3517
4182
|
item_id: Joi.number().required(),
|
|
3518
4183
|
discount: Joi.number().required(),
|
|
3519
4184
|
price_effective: Joi.number().required(),
|
|
@@ -3525,9 +4190,9 @@ class CartPlatformModel {
|
|
|
3525
4190
|
return Joi.object({
|
|
3526
4191
|
cart_id: Joi.string().allow("").required(),
|
|
3527
4192
|
payment_mode: Joi.string().allow("").required(),
|
|
3528
|
-
billing_address: Joi.any(),
|
|
4193
|
+
billing_address: Joi.object().pattern(/\S/, Joi.any()),
|
|
3529
4194
|
merchant_code: Joi.string().allow("").required(),
|
|
3530
|
-
payment_identifier: Joi.string().allow("").
|
|
4195
|
+
payment_identifier: Joi.string().allow("").required(),
|
|
3531
4196
|
currency_code: Joi.string().allow("").required(),
|
|
3532
4197
|
aggregator: Joi.string().allow("").required(),
|
|
3533
4198
|
order_type: Joi.string().allow("").required(),
|
|
@@ -3536,31 +4201,31 @@ class CartPlatformModel {
|
|
|
3536
4201
|
.items(CartPlatformModel.OverrideCartItem())
|
|
3537
4202
|
.required(),
|
|
3538
4203
|
ordering_store: Joi.number().allow(null),
|
|
3539
|
-
shipping_address: Joi.any(),
|
|
4204
|
+
shipping_address: Joi.object().pattern(/\S/, Joi.any()),
|
|
3540
4205
|
});
|
|
3541
4206
|
}
|
|
3542
4207
|
|
|
3543
|
-
/** @returns {
|
|
3544
|
-
static
|
|
4208
|
+
/** @returns {OverrideCheckoutResult} */
|
|
4209
|
+
static OverrideCheckoutResult() {
|
|
3545
4210
|
return Joi.object({
|
|
3546
|
-
data: Joi.any().required(),
|
|
3547
|
-
cart: Joi.any().required(),
|
|
4211
|
+
data: Joi.object().pattern(/\S/, Joi.any()).required(),
|
|
4212
|
+
cart: Joi.object().pattern(/\S/, Joi.any()).required(),
|
|
3548
4213
|
success: Joi.string().allow("").required(),
|
|
3549
4214
|
order_id: Joi.string().allow("").required(),
|
|
3550
4215
|
message: Joi.string().allow("").required(),
|
|
3551
4216
|
});
|
|
3552
4217
|
}
|
|
3553
4218
|
|
|
3554
|
-
/** @returns {
|
|
3555
|
-
static
|
|
4219
|
+
/** @returns {GetShareCartLinkCreation} */
|
|
4220
|
+
static GetShareCartLinkCreation() {
|
|
3556
4221
|
return Joi.object({
|
|
3557
4222
|
id: Joi.string().allow(""),
|
|
3558
|
-
meta: Joi.any(),
|
|
4223
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3559
4224
|
});
|
|
3560
4225
|
}
|
|
3561
4226
|
|
|
3562
|
-
/** @returns {
|
|
3563
|
-
static
|
|
4227
|
+
/** @returns {GetShareCartLinkResult} */
|
|
4228
|
+
static GetShareCartLinkResult() {
|
|
3564
4229
|
return Joi.object({
|
|
3565
4230
|
token: Joi.string().allow(""),
|
|
3566
4231
|
share_url: Joi.string().allow(""),
|
|
@@ -3570,11 +4235,11 @@ class CartPlatformModel {
|
|
|
3570
4235
|
/** @returns {SharedCartDetails} */
|
|
3571
4236
|
static SharedCartDetails() {
|
|
3572
4237
|
return Joi.object({
|
|
3573
|
-
source: Joi.any(),
|
|
3574
|
-
user: Joi.any(),
|
|
4238
|
+
source: Joi.object().pattern(/\S/, Joi.any()),
|
|
4239
|
+
user: Joi.object().pattern(/\S/, Joi.any()),
|
|
3575
4240
|
token: Joi.string().allow(""),
|
|
3576
4241
|
created_on: Joi.string().allow(""),
|
|
3577
|
-
meta: Joi.any(),
|
|
4242
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3578
4243
|
});
|
|
3579
4244
|
}
|
|
3580
4245
|
|
|
@@ -3600,12 +4265,12 @@ class CartPlatformModel {
|
|
|
3600
4265
|
buy_now: Joi.boolean(),
|
|
3601
4266
|
cart_id: Joi.number(),
|
|
3602
4267
|
gstin: Joi.string().allow(""),
|
|
3603
|
-
custom_cart_meta: Joi.any(),
|
|
4268
|
+
custom_cart_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3604
4269
|
});
|
|
3605
4270
|
}
|
|
3606
4271
|
|
|
3607
|
-
/** @returns {
|
|
3608
|
-
static
|
|
4272
|
+
/** @returns {SharedCartResult} */
|
|
4273
|
+
static SharedCartResult() {
|
|
3609
4274
|
return Joi.object({
|
|
3610
4275
|
cart: CartPlatformModel.SharedCart(),
|
|
3611
4276
|
error: Joi.string().allow(""),
|
|
@@ -3616,7 +4281,7 @@ class CartPlatformModel {
|
|
|
3616
4281
|
static CartList() {
|
|
3617
4282
|
return Joi.object({
|
|
3618
4283
|
cart_id: Joi.string().allow(""),
|
|
3619
|
-
pick_up_customer_details: Joi.any(),
|
|
4284
|
+
pick_up_customer_details: Joi.object().pattern(/\S/, Joi.any()),
|
|
3620
4285
|
cart_value: Joi.number(),
|
|
3621
4286
|
created_on: Joi.string().allow(""),
|
|
3622
4287
|
user_id: Joi.string().allow(""),
|
|
@@ -3625,8 +4290,8 @@ class CartPlatformModel {
|
|
|
3625
4290
|
});
|
|
3626
4291
|
}
|
|
3627
4292
|
|
|
3628
|
-
/** @returns {
|
|
3629
|
-
static
|
|
4293
|
+
/** @returns {MultiCartResult} */
|
|
4294
|
+
static MultiCartResult() {
|
|
3630
4295
|
return Joi.object({
|
|
3631
4296
|
success: Joi.boolean(),
|
|
3632
4297
|
data: Joi.array().items(CartPlatformModel.CartList()),
|
|
@@ -3655,13 +4320,13 @@ class CartPlatformModel {
|
|
|
3655
4320
|
});
|
|
3656
4321
|
}
|
|
3657
4322
|
|
|
3658
|
-
/** @returns {
|
|
3659
|
-
static
|
|
4323
|
+
/** @returns {UserCartMappingResult} */
|
|
4324
|
+
static UserCartMappingResult() {
|
|
3660
4325
|
return Joi.object({
|
|
3661
4326
|
coupon_text: Joi.string().allow(""),
|
|
3662
4327
|
user: CartPlatformModel.UserInfo(),
|
|
3663
4328
|
id: Joi.string().allow(""),
|
|
3664
|
-
pan_config: Joi.any(),
|
|
4329
|
+
pan_config: Joi.object().pattern(/\S/, Joi.any()),
|
|
3665
4330
|
delivery_promise: CartPlatformModel.ShipmentPromise(),
|
|
3666
4331
|
comment: Joi.string().allow(""),
|
|
3667
4332
|
items: Joi.array().items(CartPlatformModel.CartProductInfo()),
|
|
@@ -3676,7 +4341,7 @@ class CartPlatformModel {
|
|
|
3676
4341
|
last_modified: Joi.string().allow(""),
|
|
3677
4342
|
buy_now: Joi.boolean(),
|
|
3678
4343
|
gstin: Joi.string().allow(""),
|
|
3679
|
-
custom_cart_meta: Joi.any(),
|
|
4344
|
+
custom_cart_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3680
4345
|
applied_promo_details: Joi.array().items(
|
|
3681
4346
|
CartPlatformModel.AppliedPromotion()
|
|
3682
4347
|
),
|
|
@@ -3684,8 +4349,8 @@ class CartPlatformModel {
|
|
|
3684
4349
|
});
|
|
3685
4350
|
}
|
|
3686
4351
|
|
|
3687
|
-
/** @returns {
|
|
3688
|
-
static
|
|
4352
|
+
/** @returns {PlatformAddCartDetails} */
|
|
4353
|
+
static PlatformAddCartDetails() {
|
|
3689
4354
|
return Joi.object({
|
|
3690
4355
|
user_id: Joi.string().allow(""),
|
|
3691
4356
|
new_cart: Joi.boolean(),
|
|
@@ -3693,32 +4358,35 @@ class CartPlatformModel {
|
|
|
3693
4358
|
});
|
|
3694
4359
|
}
|
|
3695
4360
|
|
|
3696
|
-
/** @returns {
|
|
3697
|
-
static
|
|
4361
|
+
/** @returns {PlatformUpdateCartDetails} */
|
|
4362
|
+
static PlatformUpdateCartDetails() {
|
|
3698
4363
|
return Joi.object({
|
|
3699
4364
|
user_id: Joi.string().allow(""),
|
|
3700
4365
|
items: Joi.array().items(CartPlatformModel.UpdateProductCart()),
|
|
4366
|
+
free_gift_items: Joi.array().items(
|
|
4367
|
+
CartPlatformModel.FreeGiftItemCreation()
|
|
4368
|
+
),
|
|
3701
4369
|
operation: Joi.string().allow("").required(),
|
|
3702
4370
|
});
|
|
3703
4371
|
}
|
|
3704
4372
|
|
|
3705
|
-
/** @returns {
|
|
3706
|
-
static
|
|
4373
|
+
/** @returns {DeleteCartDetails} */
|
|
4374
|
+
static DeleteCartDetails() {
|
|
3707
4375
|
return Joi.object({
|
|
3708
4376
|
cart_id_list: Joi.array().items(Joi.string().allow("")),
|
|
3709
4377
|
});
|
|
3710
4378
|
}
|
|
3711
4379
|
|
|
3712
|
-
/** @returns {
|
|
3713
|
-
static
|
|
4380
|
+
/** @returns {DeleteCartDetailResult} */
|
|
4381
|
+
static DeleteCartDetailResult() {
|
|
3714
4382
|
return Joi.object({
|
|
3715
4383
|
success: Joi.boolean(),
|
|
3716
4384
|
message: Joi.string().allow(""),
|
|
3717
4385
|
});
|
|
3718
4386
|
}
|
|
3719
4387
|
|
|
3720
|
-
/** @returns {
|
|
3721
|
-
static
|
|
4388
|
+
/** @returns {CartItemCountResult} */
|
|
4389
|
+
static CartItemCountResult() {
|
|
3722
4390
|
return Joi.object({
|
|
3723
4391
|
user_cart_items_count: Joi.number(),
|
|
3724
4392
|
});
|
|
@@ -3756,16 +4424,16 @@ class CartPlatformModel {
|
|
|
3756
4424
|
});
|
|
3757
4425
|
}
|
|
3758
4426
|
|
|
3759
|
-
/** @returns {
|
|
3760
|
-
static
|
|
4427
|
+
/** @returns {GetCouponResult} */
|
|
4428
|
+
static GetCouponResult() {
|
|
3761
4429
|
return Joi.object({
|
|
3762
4430
|
available_coupon_list: Joi.array().items(CartPlatformModel.Coupon()),
|
|
3763
4431
|
page: CartPlatformModel.PageCoupon(),
|
|
3764
4432
|
});
|
|
3765
4433
|
}
|
|
3766
4434
|
|
|
3767
|
-
/** @returns {
|
|
3768
|
-
static
|
|
4435
|
+
/** @returns {ApplyCouponDetails} */
|
|
4436
|
+
static ApplyCouponDetails() {
|
|
3769
4437
|
return Joi.object({
|
|
3770
4438
|
coupon_code: Joi.string().allow("").required(),
|
|
3771
4439
|
});
|
|
@@ -3796,10 +4464,10 @@ class CartPlatformModel {
|
|
|
3796
4464
|
email: Joi.string().allow(""),
|
|
3797
4465
|
area_code: Joi.string().allow(""),
|
|
3798
4466
|
checkout_mode: Joi.string().allow(""),
|
|
3799
|
-
meta: Joi.any(),
|
|
4467
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3800
4468
|
is_active: Joi.boolean(),
|
|
3801
4469
|
name: Joi.string().allow(""),
|
|
3802
|
-
google_map_point: Joi.any(),
|
|
4470
|
+
google_map_point: Joi.object().pattern(/\S/, Joi.any()),
|
|
3803
4471
|
cart_id: Joi.string().allow(""),
|
|
3804
4472
|
city: Joi.string().allow(""),
|
|
3805
4473
|
sector: Joi.string().allow(""),
|
|
@@ -3810,19 +4478,28 @@ class CartPlatformModel {
|
|
|
3810
4478
|
address: Joi.string().allow(""),
|
|
3811
4479
|
country_phone_code: Joi.string().allow(""),
|
|
3812
4480
|
country_iso_code: Joi.string().allow(""),
|
|
3813
|
-
_custom_json: Joi.any(),
|
|
4481
|
+
_custom_json: Joi.object().pattern(/\S/, Joi.any()),
|
|
4482
|
+
});
|
|
4483
|
+
}
|
|
4484
|
+
|
|
4485
|
+
/** @returns {ValidationConfig} */
|
|
4486
|
+
static ValidationConfig() {
|
|
4487
|
+
return Joi.object({
|
|
4488
|
+
address_max_limit: Joi.number().required(),
|
|
4489
|
+
user_address_count: Joi.number().required(),
|
|
3814
4490
|
});
|
|
3815
4491
|
}
|
|
3816
4492
|
|
|
3817
|
-
/** @returns {
|
|
3818
|
-
static
|
|
4493
|
+
/** @returns {PlatformGetAddressesDetails} */
|
|
4494
|
+
static PlatformGetAddressesDetails() {
|
|
3819
4495
|
return Joi.object({
|
|
3820
4496
|
address: Joi.array().items(CartPlatformModel.PlatformAddress()),
|
|
4497
|
+
validation_config: CartPlatformModel.ValidationConfig(),
|
|
3821
4498
|
});
|
|
3822
4499
|
}
|
|
3823
4500
|
|
|
3824
|
-
/** @returns {
|
|
3825
|
-
static
|
|
4501
|
+
/** @returns {SaveAddressDetails} */
|
|
4502
|
+
static SaveAddressDetails() {
|
|
3826
4503
|
return Joi.object({
|
|
3827
4504
|
id: Joi.string().allow(""),
|
|
3828
4505
|
success: Joi.boolean(),
|
|
@@ -3830,8 +4507,8 @@ class CartPlatformModel {
|
|
|
3830
4507
|
});
|
|
3831
4508
|
}
|
|
3832
4509
|
|
|
3833
|
-
/** @returns {
|
|
3834
|
-
static
|
|
4510
|
+
/** @returns {UpdateAddressDetails} */
|
|
4511
|
+
static UpdateAddressDetails() {
|
|
3835
4512
|
return Joi.object({
|
|
3836
4513
|
id: Joi.string().allow(""),
|
|
3837
4514
|
is_default_address: Joi.boolean(),
|
|
@@ -3840,16 +4517,16 @@ class CartPlatformModel {
|
|
|
3840
4517
|
});
|
|
3841
4518
|
}
|
|
3842
4519
|
|
|
3843
|
-
/** @returns {
|
|
3844
|
-
static
|
|
4520
|
+
/** @returns {DeleteAddressResult} */
|
|
4521
|
+
static DeleteAddressResult() {
|
|
3845
4522
|
return Joi.object({
|
|
3846
4523
|
id: Joi.string().allow(""),
|
|
3847
4524
|
is_deleted: Joi.boolean(),
|
|
3848
4525
|
});
|
|
3849
4526
|
}
|
|
3850
4527
|
|
|
3851
|
-
/** @returns {
|
|
3852
|
-
static
|
|
4528
|
+
/** @returns {PlatformSelectCartAddress} */
|
|
4529
|
+
static PlatformSelectCartAddress() {
|
|
3853
4530
|
return Joi.object({
|
|
3854
4531
|
cart_id: Joi.string().allow(""),
|
|
3855
4532
|
billing_address_id: Joi.string().allow(""),
|
|
@@ -3868,13 +4545,13 @@ class CartPlatformModel {
|
|
|
3868
4545
|
});
|
|
3869
4546
|
}
|
|
3870
4547
|
|
|
3871
|
-
/** @returns {
|
|
3872
|
-
static
|
|
4548
|
+
/** @returns {PlatformShipmentDetails} */
|
|
4549
|
+
static PlatformShipmentDetails() {
|
|
3873
4550
|
return Joi.object({
|
|
3874
4551
|
shipments: Joi.number(),
|
|
3875
4552
|
fulfillment_id: Joi.number(),
|
|
3876
4553
|
items: Joi.array().items(CartPlatformModel.CartProductInfo()),
|
|
3877
|
-
dp_options: Joi.any().allow(null),
|
|
4554
|
+
dp_options: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
|
|
3878
4555
|
shipment_type: Joi.string().allow(""),
|
|
3879
4556
|
order_type: Joi.string().allow(""),
|
|
3880
4557
|
box_type: Joi.string().allow("").allow(null),
|
|
@@ -3885,12 +4562,12 @@ class CartPlatformModel {
|
|
|
3885
4562
|
});
|
|
3886
4563
|
}
|
|
3887
4564
|
|
|
3888
|
-
/** @returns {
|
|
3889
|
-
static
|
|
4565
|
+
/** @returns {PlatformCartShipmentsResult} */
|
|
4566
|
+
static PlatformCartShipmentsResult() {
|
|
3890
4567
|
return Joi.object({
|
|
3891
4568
|
coupon_text: Joi.string().allow(""),
|
|
3892
4569
|
id: Joi.string().allow(""),
|
|
3893
|
-
pan_config: Joi.any(),
|
|
4570
|
+
pan_config: Joi.object().pattern(/\S/, Joi.any()),
|
|
3894
4571
|
delivery_promise: CartPlatformModel.ShipmentPromise(),
|
|
3895
4572
|
comment: Joi.string().allow(""),
|
|
3896
4573
|
items: Joi.array().items(CartPlatformModel.CartProductInfo()),
|
|
@@ -3901,9 +4578,7 @@ class CartPlatformModel {
|
|
|
3901
4578
|
breakup_values: CartPlatformModel.CartBreakup(),
|
|
3902
4579
|
staff_user_id: Joi.string().allow("").allow(null),
|
|
3903
4580
|
is_valid: Joi.boolean(),
|
|
3904
|
-
shipments: Joi.array().items(
|
|
3905
|
-
CartPlatformModel.PlatformShipmentResponse()
|
|
3906
|
-
),
|
|
4581
|
+
shipments: Joi.array().items(CartPlatformModel.PlatformShipmentDetails()),
|
|
3907
4582
|
currency: CartPlatformModel.CartCurrency(),
|
|
3908
4583
|
checkout_mode: Joi.string().allow(""),
|
|
3909
4584
|
last_modified: Joi.string().allow(""),
|
|
@@ -3914,7 +4589,7 @@ class CartPlatformModel {
|
|
|
3914
4589
|
),
|
|
3915
4590
|
error: Joi.boolean(),
|
|
3916
4591
|
pan_no: Joi.string().allow(""),
|
|
3917
|
-
custom_cart_meta: Joi.any(),
|
|
4592
|
+
custom_cart_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
3918
4593
|
});
|
|
3919
4594
|
}
|
|
3920
4595
|
|
|
@@ -3927,8 +4602,8 @@ class CartPlatformModel {
|
|
|
3927
4602
|
});
|
|
3928
4603
|
}
|
|
3929
4604
|
|
|
3930
|
-
/** @returns {
|
|
3931
|
-
static
|
|
4605
|
+
/** @returns {UpdateCartShipmentCreation} */
|
|
4606
|
+
static UpdateCartShipmentCreation() {
|
|
3932
4607
|
return Joi.object({
|
|
3933
4608
|
shipments: Joi.array()
|
|
3934
4609
|
.items(CartPlatformModel.UpdateCartShipmentItem())
|
|
@@ -3936,29 +4611,29 @@ class CartPlatformModel {
|
|
|
3936
4611
|
});
|
|
3937
4612
|
}
|
|
3938
4613
|
|
|
3939
|
-
/** @returns {
|
|
3940
|
-
static
|
|
4614
|
+
/** @returns {PlatformCartMetaCreation} */
|
|
4615
|
+
static PlatformCartMetaCreation() {
|
|
3941
4616
|
return Joi.object({
|
|
3942
4617
|
gstin: Joi.string().allow(""),
|
|
3943
|
-
pick_up_customer_details: Joi.any(),
|
|
4618
|
+
pick_up_customer_details: Joi.object().pattern(/\S/, Joi.any()),
|
|
3944
4619
|
checkout_mode: Joi.string().allow(""),
|
|
3945
|
-
gift_details: Joi.any().allow(null),
|
|
4620
|
+
gift_details: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
|
|
3946
4621
|
pan_no: Joi.string().allow(""),
|
|
3947
4622
|
comment: Joi.string().allow(""),
|
|
3948
4623
|
staff_user_id: Joi.string().allow("").allow(null),
|
|
3949
4624
|
});
|
|
3950
4625
|
}
|
|
3951
4626
|
|
|
3952
|
-
/** @returns {
|
|
3953
|
-
static
|
|
4627
|
+
/** @returns {CartMetaDetails} */
|
|
4628
|
+
static CartMetaDetails() {
|
|
3954
4629
|
return Joi.object({
|
|
3955
4630
|
is_valid: Joi.boolean(),
|
|
3956
4631
|
message: Joi.string().allow(""),
|
|
3957
4632
|
});
|
|
3958
4633
|
}
|
|
3959
4634
|
|
|
3960
|
-
/** @returns {
|
|
3961
|
-
static
|
|
4635
|
+
/** @returns {CartMetaMissingDetails} */
|
|
4636
|
+
static CartMetaMissingDetails() {
|
|
3962
4637
|
return Joi.object({
|
|
3963
4638
|
errors: Joi.array().items(Joi.string().allow("")),
|
|
3964
4639
|
});
|
|
@@ -3992,6 +4667,53 @@ class CartPlatformModel {
|
|
|
3992
4667
|
});
|
|
3993
4668
|
}
|
|
3994
4669
|
|
|
4670
|
+
/** @returns {CartCheckoutCustomMeta} */
|
|
4671
|
+
static CartCheckoutCustomMeta() {
|
|
4672
|
+
return Joi.object({
|
|
4673
|
+
key: Joi.string().allow("").required(),
|
|
4674
|
+
value: Joi.string().allow("").required(),
|
|
4675
|
+
});
|
|
4676
|
+
}
|
|
4677
|
+
|
|
4678
|
+
/** @returns {PlatformCartCheckoutDetailCreation} */
|
|
4679
|
+
static PlatformCartCheckoutDetailCreation() {
|
|
4680
|
+
return Joi.object({
|
|
4681
|
+
custom_meta: Joi.array().items(
|
|
4682
|
+
CartPlatformModel.CartCheckoutCustomMeta()
|
|
4683
|
+
),
|
|
4684
|
+
address_id: Joi.string().allow(""),
|
|
4685
|
+
payment_identifier: Joi.string().allow("").allow(null),
|
|
4686
|
+
payment_params: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
|
|
4687
|
+
payment_auto_confirm: Joi.boolean(),
|
|
4688
|
+
id: Joi.string().allow("").required(),
|
|
4689
|
+
pos: Joi.boolean(),
|
|
4690
|
+
billing_address_id: Joi.string().allow(""),
|
|
4691
|
+
merchant_code: Joi.string().allow(""),
|
|
4692
|
+
aggregator: Joi.string().allow(""),
|
|
4693
|
+
pick_at_store_uid: Joi.number().allow(null),
|
|
4694
|
+
device_id: Joi.string().allow("").allow(null),
|
|
4695
|
+
delivery_address: Joi.object().pattern(/\S/, Joi.any()),
|
|
4696
|
+
payment_mode: Joi.string().allow("").required(),
|
|
4697
|
+
checkout_mode: Joi.string().allow(""),
|
|
4698
|
+
customer_details: CartPlatformModel.CustomerDetails(),
|
|
4699
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
4700
|
+
staff: CartPlatformModel.StaffCheckout(),
|
|
4701
|
+
employee_code: Joi.string().allow("").allow(null),
|
|
4702
|
+
billing_address: Joi.object().pattern(/\S/, Joi.any()),
|
|
4703
|
+
callback_url: Joi.string().allow("").allow(null),
|
|
4704
|
+
user_id: Joi.string().allow("").allow(null),
|
|
4705
|
+
extra_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
4706
|
+
order_type: Joi.string().allow("").required(),
|
|
4707
|
+
files: Joi.array().items(CartPlatformModel.Files()),
|
|
4708
|
+
ordering_store: Joi.number().allow(null),
|
|
4709
|
+
payment_extra_identifiers: Joi.object().pattern(/\S/, Joi.any()),
|
|
4710
|
+
iin: Joi.string().allow(""),
|
|
4711
|
+
network: Joi.string().allow(""),
|
|
4712
|
+
type: Joi.string().allow(""),
|
|
4713
|
+
card_id: Joi.string().allow(""),
|
|
4714
|
+
});
|
|
4715
|
+
}
|
|
4716
|
+
|
|
3995
4717
|
/** @returns {CheckCart} */
|
|
3996
4718
|
static CheckCart() {
|
|
3997
4719
|
return Joi.object({
|
|
@@ -4024,15 +4746,15 @@ class CartPlatformModel {
|
|
|
4024
4746
|
gstin: Joi.string().allow(""),
|
|
4025
4747
|
cod_available: Joi.boolean(),
|
|
4026
4748
|
delivery_charges: Joi.number(),
|
|
4027
|
-
custom_cart_meta: Joi.any(),
|
|
4749
|
+
custom_cart_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
4028
4750
|
});
|
|
4029
4751
|
}
|
|
4030
4752
|
|
|
4031
|
-
/** @returns {
|
|
4032
|
-
static
|
|
4753
|
+
/** @returns {CartCheckoutDetails} */
|
|
4754
|
+
static CartCheckoutDetails() {
|
|
4033
4755
|
return Joi.object({
|
|
4034
4756
|
app_intercept_url: Joi.string().allow(""),
|
|
4035
|
-
data: Joi.any(),
|
|
4757
|
+
data: Joi.object().pattern(/\S/, Joi.any()),
|
|
4036
4758
|
cart: CartPlatformModel.CheckCart(),
|
|
4037
4759
|
success: Joi.boolean(),
|
|
4038
4760
|
callback_url: Joi.string().allow(""),
|
|
@@ -4042,8 +4764,22 @@ class CartPlatformModel {
|
|
|
4042
4764
|
});
|
|
4043
4765
|
}
|
|
4044
4766
|
|
|
4045
|
-
/** @returns {
|
|
4046
|
-
static
|
|
4767
|
+
/** @returns {CartCheckoutResult} */
|
|
4768
|
+
static CartCheckoutResult() {
|
|
4769
|
+
return Joi.object({
|
|
4770
|
+
app_intercept_url: Joi.string().allow(""),
|
|
4771
|
+
data: Joi.object().pattern(/\S/, Joi.any()),
|
|
4772
|
+
cart: CartPlatformModel.CheckCart(),
|
|
4773
|
+
success: Joi.boolean(),
|
|
4774
|
+
callback_url: Joi.string().allow(""),
|
|
4775
|
+
payment_confirm_url: Joi.string().allow(""),
|
|
4776
|
+
order_id: Joi.string().allow(""),
|
|
4777
|
+
message: Joi.string().allow(""),
|
|
4778
|
+
});
|
|
4779
|
+
}
|
|
4780
|
+
|
|
4781
|
+
/** @returns {CartDeliveryModesDetails} */
|
|
4782
|
+
static CartDeliveryModesDetails() {
|
|
4047
4783
|
return Joi.object({
|
|
4048
4784
|
pickup_stores: Joi.array().items(Joi.number()),
|
|
4049
4785
|
available_modes: Joi.array().items(Joi.string().allow("")),
|
|
@@ -4073,15 +4809,15 @@ class CartPlatformModel {
|
|
|
4073
4809
|
});
|
|
4074
4810
|
}
|
|
4075
4811
|
|
|
4076
|
-
/** @returns {
|
|
4077
|
-
static
|
|
4812
|
+
/** @returns {StoreDetails} */
|
|
4813
|
+
static StoreDetails() {
|
|
4078
4814
|
return Joi.object({
|
|
4079
4815
|
items: Joi.array().items(CartPlatformModel.PickupStoreDetail()),
|
|
4080
4816
|
});
|
|
4081
4817
|
}
|
|
4082
4818
|
|
|
4083
|
-
/** @returns {
|
|
4084
|
-
static
|
|
4819
|
+
/** @returns {CartPaymentUpdate} */
|
|
4820
|
+
static CartPaymentUpdate() {
|
|
4085
4821
|
return Joi.object({
|
|
4086
4822
|
address_id: Joi.string().allow(""),
|
|
4087
4823
|
payment_mode: Joi.string().allow(""),
|
|
@@ -4101,6 +4837,7 @@ class CartPlatformModel {
|
|
|
4101
4837
|
display_message_en: Joi.string().allow("").allow(null),
|
|
4102
4838
|
code: Joi.string().allow("").allow(null),
|
|
4103
4839
|
discount: Joi.number(),
|
|
4840
|
+
error_en: Joi.string().allow("").allow(null),
|
|
4104
4841
|
});
|
|
4105
4842
|
}
|
|
4106
4843
|
|
|
@@ -4131,17 +4868,19 @@ class CartPlatformModel {
|
|
|
4131
4868
|
payment_meta: CartPlatformModel.PaymentMeta().required(),
|
|
4132
4869
|
amount: Joi.number().allow(null),
|
|
4133
4870
|
name: Joi.string().allow(""),
|
|
4134
|
-
payment_extra_identifiers: Joi.any(),
|
|
4871
|
+
payment_extra_identifiers: Joi.object().pattern(/\S/, Joi.any()),
|
|
4135
4872
|
});
|
|
4136
4873
|
}
|
|
4137
4874
|
|
|
4138
|
-
/** @returns {
|
|
4139
|
-
static
|
|
4875
|
+
/** @returns {PlatformCartCheckoutDetailV2Creation} */
|
|
4876
|
+
static PlatformCartCheckoutDetailV2Creation() {
|
|
4140
4877
|
return Joi.object({
|
|
4141
4878
|
address_id: Joi.string().allow(""),
|
|
4142
4879
|
payment_identifier: Joi.string().allow("").allow(null),
|
|
4143
|
-
payment_params: Joi.any().allow(null),
|
|
4144
|
-
custom_meta: Joi.
|
|
4880
|
+
payment_params: Joi.object().pattern(/\S/, Joi.any()).allow(null, ""),
|
|
4881
|
+
custom_meta: Joi.array().items(
|
|
4882
|
+
CartPlatformModel.CartCheckoutCustomMeta()
|
|
4883
|
+
),
|
|
4145
4884
|
payment_auto_confirm: Joi.boolean(),
|
|
4146
4885
|
id: Joi.string().allow("").required(),
|
|
4147
4886
|
pos: Joi.boolean(),
|
|
@@ -4150,20 +4889,20 @@ class CartPlatformModel {
|
|
|
4150
4889
|
aggregator: Joi.string().allow(""),
|
|
4151
4890
|
pick_at_store_uid: Joi.number().allow(null),
|
|
4152
4891
|
device_id: Joi.string().allow("").allow(null),
|
|
4153
|
-
delivery_address: Joi.any(),
|
|
4892
|
+
delivery_address: Joi.object().pattern(/\S/, Joi.any()),
|
|
4154
4893
|
payment_mode: Joi.string().allow(""),
|
|
4155
4894
|
checkout_mode: Joi.string().allow(""),
|
|
4156
|
-
customer_details:
|
|
4157
|
-
meta: Joi.any(),
|
|
4895
|
+
customer_details: CartPlatformModel.CustomerDetails(),
|
|
4896
|
+
meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
4158
4897
|
payment_methods: Joi.array()
|
|
4159
4898
|
.items(CartPlatformModel.PaymentMethod())
|
|
4160
4899
|
.required(),
|
|
4161
4900
|
staff: CartPlatformModel.StaffCheckout(),
|
|
4162
4901
|
employee_code: Joi.string().allow("").allow(null),
|
|
4163
|
-
billing_address: Joi.any(),
|
|
4902
|
+
billing_address: Joi.object().pattern(/\S/, Joi.any()),
|
|
4164
4903
|
callback_url: Joi.string().allow("").allow(null),
|
|
4165
|
-
user_id: Joi.string().allow("").
|
|
4166
|
-
extra_meta: Joi.any(),
|
|
4904
|
+
user_id: Joi.string().allow("").required(),
|
|
4905
|
+
extra_meta: Joi.object().pattern(/\S/, Joi.any()),
|
|
4167
4906
|
order_type: Joi.string().allow("").required(),
|
|
4168
4907
|
files: Joi.array().items(CartPlatformModel.Files()),
|
|
4169
4908
|
ordering_store: Joi.number().allow(null),
|
|
@@ -4204,14 +4943,25 @@ class CartPlatformModel {
|
|
|
4204
4943
|
});
|
|
4205
4944
|
}
|
|
4206
4945
|
|
|
4946
|
+
/** @returns {ArticlePriceDetails} */
|
|
4947
|
+
static ArticlePriceDetails() {
|
|
4948
|
+
return Joi.object({
|
|
4949
|
+
marked: Joi.number(),
|
|
4950
|
+
effective: Joi.number(),
|
|
4951
|
+
});
|
|
4952
|
+
}
|
|
4953
|
+
|
|
4207
4954
|
/** @returns {FreeGiftItems} */
|
|
4208
4955
|
static FreeGiftItems() {
|
|
4209
4956
|
return Joi.object({
|
|
4210
4957
|
item_slug: Joi.string().allow(""),
|
|
4211
4958
|
item_name: Joi.string().allow(""),
|
|
4212
4959
|
item_price_details: CartPlatformModel.ItemPriceDetails(),
|
|
4960
|
+
article_price: CartPlatformModel.ArticlePriceDetails(),
|
|
4213
4961
|
item_brand_name: Joi.string().allow(""),
|
|
4214
4962
|
item_id: Joi.number(),
|
|
4963
|
+
available_sizes: Joi.array().items(Joi.string().allow("")),
|
|
4964
|
+
size: Joi.string().allow(""),
|
|
4215
4965
|
item_images_url: Joi.array().items(Joi.string().allow("")),
|
|
4216
4966
|
});
|
|
4217
4967
|
}
|
|
@@ -4220,7 +4970,7 @@ class CartPlatformModel {
|
|
|
4220
4970
|
static PromotionOffer() {
|
|
4221
4971
|
return Joi.object({
|
|
4222
4972
|
id: Joi.string().allow(""),
|
|
4223
|
-
buy_rules: Joi.any(),
|
|
4973
|
+
buy_rules: Joi.object().pattern(/\S/, Joi.any()),
|
|
4224
4974
|
offer_text: Joi.string().allow(""),
|
|
4225
4975
|
promotion_type: Joi.string().allow(""),
|
|
4226
4976
|
promotion_name: Joi.string().allow(""),
|
|
@@ -4229,11 +4979,12 @@ class CartPlatformModel {
|
|
|
4229
4979
|
discount_rules: Joi.array().items(Joi.any()),
|
|
4230
4980
|
free_gift_items: Joi.array().items(CartPlatformModel.FreeGiftItems()),
|
|
4231
4981
|
description: Joi.string().allow(""),
|
|
4982
|
+
is_bank_offer: Joi.boolean(),
|
|
4232
4983
|
});
|
|
4233
4984
|
}
|
|
4234
4985
|
|
|
4235
|
-
/** @returns {
|
|
4236
|
-
static
|
|
4986
|
+
/** @returns {PromotionOffersDetails} */
|
|
4987
|
+
static PromotionOffersDetails() {
|
|
4237
4988
|
return Joi.object({
|
|
4238
4989
|
available_promotions: Joi.array().items(
|
|
4239
4990
|
CartPlatformModel.PromotionOffer()
|
|
@@ -4257,12 +5008,20 @@ class CartPlatformModel {
|
|
|
4257
5008
|
});
|
|
4258
5009
|
}
|
|
4259
5010
|
|
|
4260
|
-
/** @returns {
|
|
4261
|
-
static
|
|
5011
|
+
/** @returns {PromotionPaymentOffersDetails} */
|
|
5012
|
+
static PromotionPaymentOffersDetails() {
|
|
4262
5013
|
return Joi.object({
|
|
4263
5014
|
success: Joi.boolean(),
|
|
4264
5015
|
promotions: Joi.array().items(CartPlatformModel.PromotionPaymentOffer()),
|
|
4265
5016
|
});
|
|
4266
5017
|
}
|
|
5018
|
+
|
|
5019
|
+
/** @returns {ValidationError} */
|
|
5020
|
+
static ValidationError() {
|
|
5021
|
+
return Joi.object({
|
|
5022
|
+
message: Joi.string().allow("").required(),
|
|
5023
|
+
field: Joi.string().allow("").required(),
|
|
5024
|
+
});
|
|
5025
|
+
}
|
|
4267
5026
|
}
|
|
4268
5027
|
module.exports = CartPlatformModel;
|