@gofynd/fdk-client-javascript 1.4.2-beta.2 → 1.4.2-beta.3
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/Cart/CartApplicationModel.d.ts +1742 -1726
- package/sdk/application/Cart/CartApplicationModel.js +1497 -1481
- package/sdk/application/Catalog/CatalogApplicationModel.d.ts +1917 -1917
- package/sdk/application/Catalog/CatalogApplicationModel.js +1611 -1611
- package/sdk/application/Common/CommonApplicationModel.d.ts +235 -235
- package/sdk/application/Common/CommonApplicationModel.js +172 -172
- package/sdk/application/Communication/CommunicationApplicationModel.d.ts +72 -72
- package/sdk/application/Communication/CommunicationApplicationModel.js +64 -64
- package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +1614 -1614
- package/sdk/application/Configuration/ConfigurationApplicationModel.js +1151 -1151
- package/sdk/application/Content/ContentApplicationModel.d.ts +797 -797
- package/sdk/application/Content/ContentApplicationModel.js +757 -757
- package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +79 -79
- package/sdk/application/FileStorage/FileStorageApplicationModel.js +84 -84
- package/sdk/application/Lead/LeadApplicationModel.d.ts +417 -417
- package/sdk/application/Lead/LeadApplicationModel.js +301 -301
- package/sdk/application/Logistic/LogisticApplicationModel.d.ts +666 -666
- package/sdk/application/Logistic/LogisticApplicationModel.js +601 -601
- package/sdk/application/Order/OrderApplicationModel.d.ts +846 -846
- package/sdk/application/Order/OrderApplicationModel.js +822 -822
- package/sdk/application/Payment/PaymentApplicationClient.d.ts +5 -5
- package/sdk/application/Payment/PaymentApplicationClient.js +10 -10
- package/sdk/application/Payment/PaymentApplicationModel.d.ts +2155 -2150
- package/sdk/application/Payment/PaymentApplicationModel.js +1460 -1458
- package/sdk/application/Payment/PaymentApplicationValidator.d.ts +5 -5
- package/sdk/application/Payment/PaymentApplicationValidator.js +3 -3
- package/sdk/application/PosCart/PosCartApplicationModel.d.ts +1462 -1462
- package/sdk/application/PosCart/PosCartApplicationModel.js +1260 -1260
- package/sdk/application/Rewards/RewardsApplicationModel.d.ts +214 -214
- package/sdk/application/Rewards/RewardsApplicationModel.js +211 -211
- package/sdk/application/Share/ShareApplicationModel.d.ts +114 -114
- package/sdk/application/Share/ShareApplicationModel.js +121 -121
- package/sdk/application/Theme/ThemeApplicationModel.d.ts +895 -895
- package/sdk/application/Theme/ThemeApplicationModel.js +684 -684
- package/sdk/application/User/UserApplicationModel.d.ts +762 -762
- package/sdk/application/User/UserApplicationModel.js +738 -738
- package/sdk/partner/FileStorage/FileStoragePartnerModel.d.ts +63 -63
- package/sdk/partner/FileStorage/FileStoragePartnerModel.js +65 -65
- package/sdk/partner/Lead/LeadPartnerModel.d.ts +661 -661
- package/sdk/partner/Lead/LeadPartnerModel.js +491 -491
- package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +223 -223
- package/sdk/partner/Logistics/LogisticsPartnerModel.js +235 -235
- package/sdk/partner/Theme/ThemePartnerModel.d.ts +1087 -1087
- package/sdk/partner/Theme/ThemePartnerModel.js +819 -819
- package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +386 -386
- package/sdk/partner/Webhook/WebhookPartnerModel.js +342 -342
- package/sdk/platform/AuditTrail/AuditTrailPlatformModel.d.ts +123 -123
- package/sdk/platform/AuditTrail/AuditTrailPlatformModel.js +109 -109
- package/sdk/platform/Billing/BillingPlatformModel.d.ts +801 -801
- package/sdk/platform/Billing/BillingPlatformModel.js +783 -783
- package/sdk/platform/Cart/CartPlatformModel.d.ts +3333 -3317
- package/sdk/platform/Cart/CartPlatformModel.js +2936 -2920
- package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +1013 -1013
- package/sdk/platform/Catalog/CatalogPlatformModel.js +923 -923
- package/sdk/platform/Common/CommonPlatformModel.d.ts +255 -255
- package/sdk/platform/Common/CommonPlatformModel.js +187 -187
- package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +1238 -1238
- package/sdk/platform/Communication/CommunicationPlatformModel.js +1273 -1273
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +661 -661
- package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +692 -692
- package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +3198 -3198
- package/sdk/platform/Configuration/ConfigurationPlatformModel.js +2247 -2247
- package/sdk/platform/Content/ContentPlatformModel.d.ts +1833 -1833
- package/sdk/platform/Content/ContentPlatformModel.js +1837 -1837
- package/sdk/platform/Discount/DiscountPlatformModel.d.ts +245 -245
- package/sdk/platform/Discount/DiscountPlatformModel.js +248 -248
- package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +865 -865
- package/sdk/platform/FileStorage/FileStoragePlatformModel.js +877 -877
- package/sdk/platform/Finance/FinancePlatformModel.d.ts +1044 -1044
- package/sdk/platform/Finance/FinancePlatformModel.js +974 -974
- package/sdk/platform/Inventory/InventoryPlatformModel.d.ts +942 -942
- package/sdk/platform/Inventory/InventoryPlatformModel.js +1003 -1003
- package/sdk/platform/Lead/LeadPlatformModel.d.ts +608 -608
- package/sdk/platform/Lead/LeadPlatformModel.js +465 -465
- package/sdk/platform/Order/OrderPlatformModel.d.ts +5180 -5176
- package/sdk/platform/Order/OrderPlatformModel.js +4740 -4736
- package/sdk/platform/Partner/PartnerPlatformModel.d.ts +22 -22
- package/sdk/platform/Partner/PartnerPlatformModel.js +22 -22
- package/sdk/platform/Payment/PaymentPlatformModel.d.ts +2670 -2660
- package/sdk/platform/Payment/PaymentPlatformModel.js +1831 -1827
- package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +204 -204
- package/sdk/platform/Rewards/RewardsPlatformModel.js +199 -199
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +1505 -1507
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +1532 -1536
- package/sdk/platform/Share/SharePlatformModel.d.ts +147 -147
- package/sdk/platform/Share/SharePlatformModel.js +139 -139
- package/sdk/platform/Theme/ThemePlatformModel.d.ts +1046 -1046
- package/sdk/platform/Theme/ThemePlatformModel.js +789 -789
- package/sdk/platform/User/UserPlatformModel.d.ts +758 -758
- package/sdk/platform/User/UserPlatformModel.js +643 -643
- package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +439 -439
- package/sdk/platform/Webhook/WebhookPlatformModel.js +364 -364
- package/sdk/public/Billing/BillingPublicModel.d.ts +55 -55
- package/sdk/public/Billing/BillingPublicModel.js +51 -51
- package/sdk/public/Configuration/ConfigurationPublicModel.d.ts +237 -237
- package/sdk/public/Configuration/ConfigurationPublicModel.js +174 -174
- package/sdk/public/Content/ContentPublicModel.d.ts +26 -26
- package/sdk/public/Content/ContentPublicModel.js +28 -28
- package/sdk/public/Inventory/InventoryPublicModel.d.ts +237 -237
- package/sdk/public/Inventory/InventoryPublicModel.js +257 -257
- package/sdk/public/Partner/PartnerPublicModel.d.ts +104 -104
- package/sdk/public/Partner/PartnerPublicModel.js +113 -113
- package/sdk/public/Webhook/WebhookPublicModel.d.ts +87 -87
- package/sdk/public/Webhook/WebhookPublicModel.js +93 -93
|
@@ -1,1338 +1,1357 @@
|
|
|
1
1
|
const Joi = require("joi");
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @typedef
|
|
5
|
-
* @property {number} [
|
|
6
|
-
*
|
|
7
|
-
* @property {
|
|
8
|
-
* @property {number} [minimum] - The minimum quantity required for purchase.
|
|
4
|
+
* @typedef ProductDetailCustomOrder
|
|
5
|
+
* @property {number} [manufacturing_time]
|
|
6
|
+
* @property {string} [manufacturing_time_unit]
|
|
7
|
+
* @property {boolean} [is_custom_order]
|
|
9
8
|
*/
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
|
-
* @typedef
|
|
13
|
-
* @property {
|
|
14
|
-
* @property {Object} [title] - The SEO title of the item
|
|
11
|
+
* @typedef Meta
|
|
12
|
+
* @property {string} [source]
|
|
15
13
|
*/
|
|
16
14
|
|
|
17
15
|
/**
|
|
18
|
-
* @typedef
|
|
19
|
-
* @property {
|
|
20
|
-
* @property {
|
|
21
|
-
* @property {
|
|
16
|
+
* @typedef Media
|
|
17
|
+
* @property {string} [url]
|
|
18
|
+
* @property {string} [type]
|
|
19
|
+
* @property {Meta} [meta]
|
|
20
|
+
* @property {string} [alt]
|
|
22
21
|
*/
|
|
23
22
|
|
|
24
23
|
/**
|
|
25
|
-
* @typedef
|
|
26
|
-
* @property {
|
|
27
|
-
* @property {
|
|
28
|
-
* @property {
|
|
29
|
-
* @property {StoreDepartments[]} [departments]
|
|
30
|
-
* @property {StoreManagerSerializer} [manager]
|
|
31
|
-
* @property {string} [name]
|
|
32
|
-
* @property {string} [store_code]
|
|
33
|
-
* @property {number} [uid]
|
|
24
|
+
* @typedef ProductListingActionPage
|
|
25
|
+
* @property {string} [type]
|
|
26
|
+
* @property {Object} [query]
|
|
27
|
+
* @property {Object} [params]
|
|
34
28
|
*/
|
|
35
29
|
|
|
36
30
|
/**
|
|
37
|
-
* @typedef
|
|
38
|
-
* @property {string} [
|
|
39
|
-
* @property {
|
|
31
|
+
* @typedef ProductListingAction
|
|
32
|
+
* @property {string} [type]
|
|
33
|
+
* @property {ProductListingActionPage} [page]
|
|
40
34
|
*/
|
|
41
35
|
|
|
42
36
|
/**
|
|
43
|
-
* @typedef
|
|
37
|
+
* @typedef ProductBrand
|
|
38
|
+
* @property {number} [uid]
|
|
39
|
+
* @property {Media} [logo]
|
|
44
40
|
* @property {string} [description]
|
|
45
|
-
* @property {string} [
|
|
46
|
-
* @property {
|
|
47
|
-
* @property {string} [logo]
|
|
41
|
+
* @property {string} [name]
|
|
42
|
+
* @property {ProductListingAction} [action]
|
|
48
43
|
*/
|
|
49
44
|
|
|
50
45
|
/**
|
|
51
|
-
* @typedef
|
|
52
|
-
* @property {
|
|
53
|
-
* @property {
|
|
46
|
+
* @typedef ProductDepartment
|
|
47
|
+
* @property {number} [uid]
|
|
48
|
+
* @property {Media} [logo]
|
|
49
|
+
* @property {string} [slug]
|
|
50
|
+
* @property {string} [name]
|
|
54
51
|
*/
|
|
55
52
|
|
|
56
53
|
/**
|
|
57
|
-
* @typedef
|
|
58
|
-
* @property {
|
|
59
|
-
* @property {
|
|
60
|
-
* @property {
|
|
61
|
-
* @property {Media} [logo]
|
|
62
|
-
* @property {string} [type]
|
|
54
|
+
* @typedef ProductCategoryMap
|
|
55
|
+
* @property {ProductBrand} [l1]
|
|
56
|
+
* @property {ProductBrand} [l2]
|
|
57
|
+
* @property {ProductBrand} [l3]
|
|
63
58
|
*/
|
|
64
59
|
|
|
65
60
|
/**
|
|
66
|
-
* @typedef
|
|
67
|
-
* @property {
|
|
61
|
+
* @typedef NetQuantity
|
|
62
|
+
* @property {Object} [unit] - The unit of measurement used for the net quantity
|
|
63
|
+
* of the product.
|
|
64
|
+
* @property {number} [value] - The value of the net quantity of the product.
|
|
68
65
|
*/
|
|
69
66
|
|
|
70
67
|
/**
|
|
71
|
-
* @typedef
|
|
72
|
-
* @property {
|
|
73
|
-
* @property {
|
|
74
|
-
* @property {string} [description]
|
|
75
|
-
* @property {Media} [logo]
|
|
76
|
-
* @property {string} [name]
|
|
77
|
-
* @property {number} [uid]
|
|
68
|
+
* @typedef CustomMetaFields
|
|
69
|
+
* @property {string} value - A value to store in the custom field.
|
|
70
|
+
* @property {string} key - A key to store a custom field.
|
|
78
71
|
*/
|
|
79
72
|
|
|
80
73
|
/**
|
|
81
|
-
* @typedef
|
|
82
|
-
* @property {
|
|
83
|
-
* @property {
|
|
84
|
-
* @property {string[]} [departments]
|
|
85
|
-
* @property {string} [description]
|
|
86
|
-
* @property {string} [discount]
|
|
87
|
-
* @property {Media} [logo]
|
|
88
|
-
* @property {string} [name]
|
|
89
|
-
* @property {string} [slug]
|
|
90
|
-
* @property {number} [uid]
|
|
74
|
+
* @typedef ApplicationItemSEO
|
|
75
|
+
* @property {Object} [title] - The SEO title of the item
|
|
76
|
+
* @property {Object} [description] - The SEO description of the item
|
|
91
77
|
*/
|
|
92
78
|
|
|
93
79
|
/**
|
|
94
|
-
* @typedef
|
|
95
|
-
* @property {
|
|
96
|
-
* @property {
|
|
80
|
+
* @typedef ProductDetailAttribute
|
|
81
|
+
* @property {string} [value]
|
|
82
|
+
* @property {string} [type]
|
|
83
|
+
* @property {string} [key]
|
|
97
84
|
*/
|
|
98
85
|
|
|
99
86
|
/**
|
|
100
|
-
* @typedef
|
|
101
|
-
* @property {
|
|
102
|
-
* @property {
|
|
87
|
+
* @typedef ProductDetailGroupedAttribute
|
|
88
|
+
* @property {string} [title]
|
|
89
|
+
* @property {ProductDetailAttribute[]} [details]
|
|
103
90
|
*/
|
|
104
91
|
|
|
105
92
|
/**
|
|
106
|
-
* @typedef
|
|
107
|
-
* @property {
|
|
108
|
-
* @property {
|
|
109
|
-
* @property {
|
|
110
|
-
*
|
|
111
|
-
* @property {string} slug
|
|
112
|
-
* @property {number} uid
|
|
93
|
+
* @typedef ApplicationItemMOQ
|
|
94
|
+
* @property {number} [minimum] - The minimum quantity required for purchase.
|
|
95
|
+
* @property {number} [maximum] - The maximum quantity allowed for purchase.
|
|
96
|
+
* @property {number} [increment_unit] - The minimum quantity increment in which
|
|
97
|
+
* the item can be purchased.
|
|
113
98
|
*/
|
|
114
99
|
|
|
115
100
|
/**
|
|
116
|
-
* @typedef
|
|
117
|
-
* @property {
|
|
118
|
-
* @property {
|
|
101
|
+
* @typedef Price
|
|
102
|
+
* @property {number} [min] - The minimum price for the product across stores.
|
|
103
|
+
* @property {string} [currency_symbol] - The currency symbol for the currency
|
|
104
|
+
* in which the product is available.
|
|
105
|
+
* @property {string} [currency_code] - The currency code for the currency in
|
|
106
|
+
* which the product is available.
|
|
107
|
+
* @property {number} [max] - The maximum price for the product across stores.
|
|
119
108
|
*/
|
|
120
109
|
|
|
121
110
|
/**
|
|
122
|
-
* @typedef
|
|
123
|
-
* @property {
|
|
124
|
-
* @property {
|
|
125
|
-
* @property {Media} [logo]
|
|
126
|
-
* @property {string} [name]
|
|
127
|
-
* @property {number} [uid]
|
|
111
|
+
* @typedef ProductListingPrice
|
|
112
|
+
* @property {Price} [effective]
|
|
113
|
+
* @property {Price} [marked]
|
|
128
114
|
*/
|
|
129
115
|
|
|
130
116
|
/**
|
|
131
|
-
* @typedef
|
|
132
|
-
* @property {
|
|
133
|
-
* @property {
|
|
134
|
-
* @property {
|
|
135
|
-
* @property {SecondLevelChild[]} [childs]
|
|
136
|
-
* @property {string} [name]
|
|
137
|
-
* @property {string} [slug]
|
|
138
|
-
* @property {number} [uid]
|
|
117
|
+
* @typedef ProductSizesPrice
|
|
118
|
+
* @property {Price} [effective]
|
|
119
|
+
* @property {Price} [marked]
|
|
120
|
+
* @property {Price} [selling]
|
|
139
121
|
*/
|
|
140
122
|
|
|
141
123
|
/**
|
|
142
|
-
* @typedef
|
|
143
|
-
* @property {
|
|
144
|
-
* @property {
|
|
145
|
-
* @property {
|
|
146
|
-
* @property {
|
|
147
|
-
* @property {
|
|
148
|
-
* @property {
|
|
149
|
-
* @property {
|
|
150
|
-
* @property {
|
|
124
|
+
* @typedef ProductDetail
|
|
125
|
+
* @property {number} [uid]
|
|
126
|
+
* @property {ProductDetailCustomOrder} [custom_order]
|
|
127
|
+
* @property {ProductCategoryMap} [category_map]
|
|
128
|
+
* @property {NetQuantity} [net_quantity]
|
|
129
|
+
* @property {number} [rating_count]
|
|
130
|
+
* @property {CustomMetaFields[]} [_custom_meta]
|
|
131
|
+
* @property {string[]} [similars]
|
|
132
|
+
* @property {string[]} [tags]
|
|
133
|
+
* @property {ApplicationItemSEO} [seo]
|
|
134
|
+
* @property {string} [image_nature]
|
|
135
|
+
* @property {boolean} [has_variant]
|
|
136
|
+
* @property {string} [item_type]
|
|
151
137
|
* @property {string} [description]
|
|
152
|
-
* @property {
|
|
153
|
-
* @property {Media} [
|
|
154
|
-
* @property {
|
|
155
|
-
* @property {string} [name]
|
|
156
|
-
* @property {number} [priority]
|
|
157
|
-
* @property {CollectionQuery[]} [query]
|
|
158
|
-
* @property {string} [slug]
|
|
159
|
-
* @property {string} [sort_on]
|
|
160
|
-
* @property {string[]} [tag]
|
|
138
|
+
* @property {ProductDetailGroupedAttribute[]} [grouped_attributes]
|
|
139
|
+
* @property {Media[]} [medias]
|
|
140
|
+
* @property {string} [color]
|
|
161
141
|
* @property {string} [type]
|
|
162
|
-
* @property {string
|
|
142
|
+
* @property {string} [product_online_date]
|
|
143
|
+
* @property {Object} [_custom_json]
|
|
144
|
+
* @property {string} [item_code]
|
|
145
|
+
* @property {string} [name]
|
|
146
|
+
* @property {ApplicationItemMOQ} [moq]
|
|
147
|
+
* @property {string} [short_description]
|
|
148
|
+
* @property {ProductBrand[]} [categories]
|
|
149
|
+
* @property {Object} [attributes]
|
|
150
|
+
* @property {string} [discount]
|
|
151
|
+
* @property {string[]} [tryouts]
|
|
152
|
+
* @property {string} slug
|
|
153
|
+
* @property {ProductListingAction} [action]
|
|
154
|
+
* @property {number} [rating]
|
|
155
|
+
* @property {boolean} [is_dependent]
|
|
156
|
+
* @property {string[]} [product_group_tag]
|
|
157
|
+
* @property {string[]} [highlights]
|
|
158
|
+
* @property {ProductListingPrice} [price]
|
|
159
|
+
* @property {ProductBrand} [brand]
|
|
160
|
+
* @property {ProductDepartment} [department]
|
|
161
|
+
* @property {string} [teaser_tag]
|
|
163
162
|
*/
|
|
164
163
|
|
|
165
164
|
/**
|
|
166
|
-
* @typedef
|
|
167
|
-
* @property {
|
|
168
|
-
* @property {CollectionListingFilterType[]} [type]
|
|
165
|
+
* @typedef ErrorResponse
|
|
166
|
+
* @property {string} [error]
|
|
169
167
|
*/
|
|
170
168
|
|
|
171
169
|
/**
|
|
172
|
-
* @typedef
|
|
173
|
-
* @property {string}
|
|
174
|
-
* @property {
|
|
175
|
-
* @property {
|
|
170
|
+
* @typedef Dimension
|
|
171
|
+
* @property {string} unit - The unit of dimension
|
|
172
|
+
* @property {number} height - The height of the product
|
|
173
|
+
* @property {number} length - The length of the product
|
|
174
|
+
* @property {number} width - The width of the product
|
|
175
|
+
* @property {boolean} is_default - Whether the dimension is the default one or not
|
|
176
176
|
*/
|
|
177
177
|
|
|
178
178
|
/**
|
|
179
|
-
* @typedef
|
|
180
|
-
* @property {string}
|
|
181
|
-
* @property {
|
|
182
|
-
* @property {
|
|
179
|
+
* @typedef Weight
|
|
180
|
+
* @property {string} unit - The unit of weight
|
|
181
|
+
* @property {number} shipping - The shipping weight of the product
|
|
182
|
+
* @property {boolean} is_default - Whether the weight is the default one or not
|
|
183
183
|
*/
|
|
184
184
|
|
|
185
185
|
/**
|
|
186
|
-
* @typedef
|
|
187
|
-
* @property {
|
|
188
|
-
*
|
|
189
|
-
* @property {
|
|
186
|
+
* @typedef DiscountMeta
|
|
187
|
+
* @property {boolean} timer - Determines whether the discount countdown is
|
|
188
|
+
* visible or not.
|
|
189
|
+
* @property {number} [start_timer_in_minutes] - The time in minutes before the
|
|
190
|
+
* discount ends when the countdown timer should start.
|
|
191
|
+
* @property {string} [start] - The start time of the live discount.
|
|
192
|
+
* @property {string} [end] - The end time of the live discount.
|
|
190
193
|
*/
|
|
191
194
|
|
|
192
195
|
/**
|
|
193
|
-
* @typedef
|
|
194
|
-
* @property {
|
|
196
|
+
* @typedef ProductSize
|
|
197
|
+
* @property {number} [quantity]
|
|
198
|
+
* @property {Dimension} [dimension]
|
|
199
|
+
* @property {Weight} [weight]
|
|
200
|
+
* @property {boolean} [is_available]
|
|
201
|
+
* @property {string[]} [seller_identifiers]
|
|
195
202
|
* @property {string} [value]
|
|
203
|
+
* @property {string} [display]
|
|
196
204
|
*/
|
|
197
205
|
|
|
198
206
|
/**
|
|
199
|
-
* @typedef
|
|
200
|
-
* @property {
|
|
201
|
-
* @property {
|
|
202
|
-
* @property {
|
|
203
|
-
* @property {
|
|
204
|
-
* @property {
|
|
205
|
-
* @property {
|
|
206
|
-
*/
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* @typedef CompanyDetail
|
|
210
|
-
* @property {number} [id]
|
|
211
|
-
* @property {string} [name]
|
|
212
|
-
*/
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* @typedef CompanyStore
|
|
216
|
-
* @property {string} [business_type]
|
|
217
|
-
* @property {string} [company_type]
|
|
218
|
-
* @property {string} [name]
|
|
219
|
-
* @property {number} [uid]
|
|
207
|
+
* @typedef SizeChartValues
|
|
208
|
+
* @property {string} [col_3]
|
|
209
|
+
* @property {string} [col_6]
|
|
210
|
+
* @property {string} [col_2]
|
|
211
|
+
* @property {string} [col_4]
|
|
212
|
+
* @property {string} [col_1]
|
|
213
|
+
* @property {string} [col_5]
|
|
220
214
|
*/
|
|
221
215
|
|
|
222
216
|
/**
|
|
223
|
-
* @typedef
|
|
224
|
-
* @property {
|
|
225
|
-
* @property {string} value
|
|
217
|
+
* @typedef ColumnHeader
|
|
218
|
+
* @property {boolean} [convertable]
|
|
219
|
+
* @property {string} [value]
|
|
226
220
|
*/
|
|
227
221
|
|
|
228
222
|
/**
|
|
229
|
-
* @typedef
|
|
230
|
-
* @property {
|
|
231
|
-
* @property {
|
|
232
|
-
* @property {
|
|
233
|
-
* @property {
|
|
234
|
-
* @property {
|
|
223
|
+
* @typedef ColumnHeaders
|
|
224
|
+
* @property {ColumnHeader} [col_3]
|
|
225
|
+
* @property {ColumnHeader} [col_6]
|
|
226
|
+
* @property {ColumnHeader} [col_2]
|
|
227
|
+
* @property {ColumnHeader} [col_4]
|
|
228
|
+
* @property {ColumnHeader} [col_1]
|
|
229
|
+
* @property {ColumnHeader} [col_5]
|
|
235
230
|
*/
|
|
236
231
|
|
|
237
232
|
/**
|
|
238
|
-
* @typedef
|
|
239
|
-
* @property {string}
|
|
240
|
-
* @property {
|
|
233
|
+
* @typedef SizeChart
|
|
234
|
+
* @property {string} [unit]
|
|
235
|
+
* @property {string} [image]
|
|
236
|
+
* @property {string} [size_tip]
|
|
237
|
+
* @property {SizeChartValues[]} [sizes]
|
|
238
|
+
* @property {string} [description]
|
|
239
|
+
* @property {string} [title]
|
|
240
|
+
* @property {ColumnHeaders} [headers]
|
|
241
241
|
*/
|
|
242
242
|
|
|
243
243
|
/**
|
|
244
|
-
* @typedef
|
|
245
|
-
* @property {
|
|
246
|
-
* @property {number} [uid]
|
|
244
|
+
* @typedef ProductSizeStores
|
|
245
|
+
* @property {number} [count]
|
|
247
246
|
*/
|
|
248
247
|
|
|
249
248
|
/**
|
|
250
|
-
* @typedef
|
|
251
|
-
* @property {
|
|
249
|
+
* @typedef ProductSizes
|
|
250
|
+
* @property {ProductSize[]} [sizes]
|
|
251
|
+
* @property {ProductSizesPrice} [price]
|
|
252
|
+
* @property {SizeChart} [size_chart]
|
|
253
|
+
* @property {boolean} [sellable]
|
|
254
|
+
* @property {boolean} [multi_size]
|
|
255
|
+
* @property {string} [discount]
|
|
256
|
+
* @property {ProductSizeStores} [stores]
|
|
257
|
+
* @property {DiscountMeta} [discount_meta]
|
|
252
258
|
*/
|
|
253
259
|
|
|
254
260
|
/**
|
|
255
|
-
* @typedef
|
|
261
|
+
* @typedef AttributeDetail
|
|
262
|
+
* @property {string} [logo]
|
|
263
|
+
* @property {string} [description]
|
|
264
|
+
* @property {string} [display]
|
|
256
265
|
* @property {string} [key]
|
|
257
|
-
* @property {string} [type]
|
|
258
|
-
* @property {string} [value]
|
|
259
|
-
*/
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* @typedef Dimension
|
|
263
|
-
* @property {number} height - The height of the product
|
|
264
|
-
* @property {boolean} is_default - Whether the dimension is the default one or not
|
|
265
|
-
* @property {number} length - The length of the product
|
|
266
|
-
* @property {string} unit - The unit of dimension
|
|
267
|
-
* @property {number} width - The width of the product
|
|
268
|
-
*/
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* @typedef DiscountMeta
|
|
272
|
-
* @property {string} [end] - The end time of the live discount.
|
|
273
|
-
* @property {string} [start] - The start time of the live discount.
|
|
274
|
-
* @property {number} [start_timer_in_minutes] - The time in minutes before the
|
|
275
|
-
* discount ends when the countdown timer should start.
|
|
276
|
-
* @property {boolean} timer - Determines whether the discount countdown is
|
|
277
|
-
* visible or not.
|
|
278
266
|
*/
|
|
279
267
|
|
|
280
268
|
/**
|
|
281
|
-
* @typedef
|
|
282
|
-
* @property {string} [
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
/**
|
|
286
|
-
* @typedef FollowerCountResponse
|
|
287
|
-
* @property {number} [count]
|
|
269
|
+
* @typedef AttributeMetadata
|
|
270
|
+
* @property {string} [title]
|
|
271
|
+
* @property {AttributeDetail[]} [details]
|
|
288
272
|
*/
|
|
289
273
|
|
|
290
274
|
/**
|
|
291
|
-
* @typedef
|
|
292
|
-
* @property {
|
|
293
|
-
* @property {
|
|
294
|
-
* @property {number[]} [products]
|
|
275
|
+
* @typedef ProductsComparisonResponse
|
|
276
|
+
* @property {ProductDetail[]} [items]
|
|
277
|
+
* @property {AttributeMetadata[]} [attributes_metadata]
|
|
295
278
|
*/
|
|
296
279
|
|
|
297
280
|
/**
|
|
298
|
-
* @typedef
|
|
299
|
-
* @property {
|
|
281
|
+
* @typedef ProductCompareResponse
|
|
282
|
+
* @property {string} [title]
|
|
283
|
+
* @property {ProductDetail[]} [items]
|
|
284
|
+
* @property {AttributeMetadata[]} [attributes_metadata]
|
|
285
|
+
* @property {string} [subtitle]
|
|
300
286
|
*/
|
|
301
287
|
|
|
302
288
|
/**
|
|
303
|
-
* @typedef
|
|
304
|
-
* @property {
|
|
305
|
-
* @property {string} message
|
|
289
|
+
* @typedef ProductFrequentlyComparedSimilarResponse
|
|
290
|
+
* @property {ProductCompareResponse} [similars]
|
|
306
291
|
*/
|
|
307
292
|
|
|
308
293
|
/**
|
|
309
|
-
* @typedef
|
|
310
|
-
* @property {
|
|
311
|
-
* @property {
|
|
312
|
-
* @property {
|
|
313
|
-
* @property {
|
|
314
|
-
* @property {boolean} [
|
|
315
|
-
* @property {
|
|
316
|
-
* @property {Object} [badge]
|
|
317
|
-
* @property {ImageUrls} [banners]
|
|
318
|
-
* @property {Object} [cron]
|
|
319
|
-
* @property {string} [description]
|
|
320
|
-
* @property {boolean} [is_active]
|
|
321
|
-
* @property {Media} [logo]
|
|
322
|
-
* @property {Object} [meta]
|
|
294
|
+
* @typedef ProductVariantItemResponse
|
|
295
|
+
* @property {number} [uid]
|
|
296
|
+
* @property {string} [color_name]
|
|
297
|
+
* @property {string} [color]
|
|
298
|
+
* @property {Media[]} [medias]
|
|
299
|
+
* @property {boolean} [is_available]
|
|
300
|
+
* @property {CustomMetaFields[]} [_custom_meta]
|
|
323
301
|
* @property {string} [name]
|
|
324
|
-
* @property {
|
|
325
|
-
* @property {CollectionQuery[]} [query]
|
|
302
|
+
* @property {string} [value]
|
|
326
303
|
* @property {string} [slug]
|
|
327
|
-
* @property {
|
|
328
|
-
* @property {string[]} [tags]
|
|
329
|
-
* @property {string} [type]
|
|
330
|
-
* @property {string} [uid]
|
|
331
|
-
* @property {string[]} [visible_facets_keys]
|
|
332
|
-
*/
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* @typedef GetCollectionListingResponse
|
|
336
|
-
* @property {CollectionListingFilter} [filters]
|
|
337
|
-
* @property {GetCollectionDetailNest[]} [items]
|
|
338
|
-
* @property {Page} page
|
|
304
|
+
* @property {ProductListingAction} [action]
|
|
339
305
|
*/
|
|
340
306
|
|
|
341
307
|
/**
|
|
342
|
-
* @typedef
|
|
343
|
-
* @property {
|
|
344
|
-
* @property {
|
|
308
|
+
* @typedef ProductVariantResponse
|
|
309
|
+
* @property {string} [display_type]
|
|
310
|
+
* @property {string} [header]
|
|
311
|
+
* @property {ProductVariantItemResponse[]} [items]
|
|
312
|
+
* @property {string} [key]
|
|
345
313
|
*/
|
|
346
314
|
|
|
347
315
|
/**
|
|
348
|
-
* @typedef
|
|
349
|
-
* @property {
|
|
350
|
-
* @property {string} [message]
|
|
351
|
-
* @property {Page} page
|
|
316
|
+
* @typedef ProductVariantsResponse
|
|
317
|
+
* @property {ProductVariantResponse[]} [variants]
|
|
352
318
|
*/
|
|
353
319
|
|
|
354
320
|
/**
|
|
355
|
-
* @typedef
|
|
356
|
-
* @property {
|
|
357
|
-
* @property {
|
|
321
|
+
* @typedef StoreDetail
|
|
322
|
+
* @property {string} [name]
|
|
323
|
+
* @property {string} [city]
|
|
324
|
+
* @property {number} [id]
|
|
325
|
+
* @property {string} [code]
|
|
358
326
|
*/
|
|
359
327
|
|
|
360
328
|
/**
|
|
361
|
-
* @typedef
|
|
362
|
-
* @property {number
|
|
363
|
-
* @property {string} [
|
|
329
|
+
* @typedef ProductStockPrice
|
|
330
|
+
* @property {number} [effective]
|
|
331
|
+
* @property {string} [currency]
|
|
332
|
+
* @property {number} [marked]
|
|
364
333
|
*/
|
|
365
334
|
|
|
366
335
|
/**
|
|
367
|
-
* @typedef
|
|
368
|
-
* @property {
|
|
369
|
-
* @property {
|
|
336
|
+
* @typedef CompanyDetail
|
|
337
|
+
* @property {string} [name]
|
|
338
|
+
* @property {number} [id]
|
|
370
339
|
*/
|
|
371
340
|
|
|
372
341
|
/**
|
|
373
|
-
* @typedef
|
|
374
|
-
* @property {
|
|
375
|
-
* @property {
|
|
376
|
-
* @property {
|
|
377
|
-
* @property {string} [url]
|
|
342
|
+
* @typedef Seller
|
|
343
|
+
* @property {number} [uid]
|
|
344
|
+
* @property {string} [name]
|
|
345
|
+
* @property {number} [count]
|
|
378
346
|
*/
|
|
379
347
|
|
|
380
348
|
/**
|
|
381
|
-
* @typedef
|
|
382
|
-
* @property {string} [
|
|
349
|
+
* @typedef ProductStockStatusItem
|
|
350
|
+
* @property {string} [uid]
|
|
351
|
+
* @property {number} [quantity]
|
|
352
|
+
* @property {StoreDetail} [store]
|
|
353
|
+
* @property {string} [size]
|
|
354
|
+
* @property {ProductStockPrice} [price]
|
|
355
|
+
* @property {CompanyDetail} [company]
|
|
356
|
+
* @property {number} [item_id]
|
|
357
|
+
* @property {Seller} [seller]
|
|
358
|
+
* @property {Object} [identifier]
|
|
383
359
|
*/
|
|
384
360
|
|
|
385
361
|
/**
|
|
386
|
-
* @typedef
|
|
387
|
-
* @property {
|
|
388
|
-
* of the product.
|
|
389
|
-
* @property {number} [value] - The value of the net quantity of the product.
|
|
362
|
+
* @typedef ProductStockStatusResponse
|
|
363
|
+
* @property {ProductStockStatusItem[]} [items]
|
|
390
364
|
*/
|
|
391
365
|
|
|
392
366
|
/**
|
|
393
367
|
* @typedef Page
|
|
394
|
-
* @property {number} [current]
|
|
395
|
-
* @property {boolean} [has_next]
|
|
396
|
-
* @property {boolean} [has_previous]
|
|
397
368
|
* @property {number} [item_total]
|
|
398
369
|
* @property {string} [next_id]
|
|
399
|
-
* @property {
|
|
370
|
+
* @property {boolean} [has_previous]
|
|
371
|
+
* @property {boolean} [has_next]
|
|
372
|
+
* @property {number} [current]
|
|
400
373
|
* @property {string} type
|
|
374
|
+
* @property {number} [size]
|
|
401
375
|
*/
|
|
402
376
|
|
|
403
377
|
/**
|
|
404
|
-
* @typedef
|
|
405
|
-
* @property {
|
|
406
|
-
*
|
|
407
|
-
* @property {string} [currency_symbol] - The currency symbol for the currency
|
|
408
|
-
* in which the product is available.
|
|
409
|
-
* @property {number} [max] - The maximum price for the product across stores.
|
|
410
|
-
* @property {number} [min] - The minimum price for the product across stores.
|
|
378
|
+
* @typedef ProductStockPolling
|
|
379
|
+
* @property {ProductStockStatusItem[]} [items]
|
|
380
|
+
* @property {Page} page
|
|
411
381
|
*/
|
|
412
382
|
|
|
413
383
|
/**
|
|
414
|
-
* @typedef
|
|
415
|
-
* @property {
|
|
416
|
-
* @property {
|
|
417
|
-
* @property {
|
|
418
|
-
* @property {string} [
|
|
419
|
-
* @property {
|
|
384
|
+
* @typedef ProductVariantListingResponse
|
|
385
|
+
* @property {string} [header]
|
|
386
|
+
* @property {ProductVariantItemResponse[]} [items]
|
|
387
|
+
* @property {number} [total]
|
|
388
|
+
* @property {string} [key]
|
|
389
|
+
* @property {string} [display_type]
|
|
420
390
|
*/
|
|
421
391
|
|
|
422
392
|
/**
|
|
423
|
-
* @typedef
|
|
424
|
-
* @property {
|
|
393
|
+
* @typedef ProductListingDetail
|
|
394
|
+
* @property {number} [uid]
|
|
395
|
+
* @property {ProductDetailCustomOrder} [custom_order]
|
|
396
|
+
* @property {string[]} [sizes]
|
|
397
|
+
* @property {ProductCategoryMap} [category_map]
|
|
398
|
+
* @property {NetQuantity} [net_quantity]
|
|
399
|
+
* @property {number} [rating_count]
|
|
400
|
+
* @property {CustomMetaFields[]} [_custom_meta]
|
|
401
|
+
* @property {string[]} [similars]
|
|
402
|
+
* @property {string[]} [tags]
|
|
403
|
+
* @property {ApplicationItemSEO} [seo]
|
|
404
|
+
* @property {string} [image_nature]
|
|
405
|
+
* @property {boolean} [has_variant]
|
|
406
|
+
* @property {string} [item_type]
|
|
407
|
+
* @property {string} [description]
|
|
408
|
+
* @property {ProductDetailGroupedAttribute[]} [grouped_attributes]
|
|
409
|
+
* @property {Media[]} [medias]
|
|
410
|
+
* @property {string} [color]
|
|
411
|
+
* @property {string} [type]
|
|
412
|
+
* @property {string} [product_online_date]
|
|
413
|
+
* @property {Object} [_custom_json]
|
|
414
|
+
* @property {string} [item_code]
|
|
415
|
+
* @property {string} [name]
|
|
416
|
+
* @property {ApplicationItemMOQ} [moq]
|
|
417
|
+
* @property {string} [short_description]
|
|
418
|
+
* @property {ProductBrand[]} [categories]
|
|
419
|
+
* @property {boolean} [sellable]
|
|
420
|
+
* @property {Object} [attributes]
|
|
421
|
+
* @property {ProductVariantListingResponse[]} [variants]
|
|
422
|
+
* @property {string} [discount]
|
|
423
|
+
* @property {string[]} [tryouts]
|
|
424
|
+
* @property {string[]} [identifiers]
|
|
425
|
+
* @property {string} slug
|
|
426
|
+
* @property {ProductListingAction} [action]
|
|
427
|
+
* @property {number} [rating]
|
|
428
|
+
* @property {boolean} [is_dependent]
|
|
429
|
+
* @property {string[]} [product_group_tag]
|
|
430
|
+
* @property {string[]} [highlights]
|
|
431
|
+
* @property {ProductListingPrice} [price]
|
|
432
|
+
* @property {ProductBrand} [brand]
|
|
433
|
+
* @property {string} [teaser_tag]
|
|
425
434
|
*/
|
|
426
435
|
|
|
427
436
|
/**
|
|
428
|
-
* @typedef
|
|
429
|
-
* @property {
|
|
430
|
-
* @property {
|
|
431
|
-
* @property {
|
|
437
|
+
* @typedef ProductFiltersValue
|
|
438
|
+
* @property {number} [min]
|
|
439
|
+
* @property {string} [display_format]
|
|
440
|
+
* @property {number} [selected_max]
|
|
441
|
+
* @property {string} [value]
|
|
442
|
+
* @property {string} [query_format]
|
|
443
|
+
* @property {string} [currency_symbol]
|
|
444
|
+
* @property {number} [selected_min]
|
|
445
|
+
* @property {string} [currency_code]
|
|
446
|
+
* @property {boolean} is_selected
|
|
447
|
+
* @property {string} display
|
|
448
|
+
* @property {number} [count]
|
|
449
|
+
* @property {number} [max]
|
|
432
450
|
*/
|
|
433
451
|
|
|
434
452
|
/**
|
|
435
|
-
* @typedef
|
|
436
|
-
* @property {
|
|
437
|
-
* @property {
|
|
438
|
-
* @property {string} [
|
|
439
|
-
* @property {string}
|
|
453
|
+
* @typedef ProductFiltersKey
|
|
454
|
+
* @property {string} [logo]
|
|
455
|
+
* @property {string} name
|
|
456
|
+
* @property {string} [kind]
|
|
457
|
+
* @property {string} display
|
|
440
458
|
*/
|
|
441
459
|
|
|
442
460
|
/**
|
|
443
|
-
* @typedef
|
|
444
|
-
* @property {
|
|
461
|
+
* @typedef ProductFilters
|
|
462
|
+
* @property {ProductFiltersValue[]} values
|
|
463
|
+
* @property {ProductFiltersKey} key
|
|
464
|
+
*/
|
|
465
|
+
|
|
466
|
+
/**
|
|
467
|
+
* @typedef ProductSortOn
|
|
468
|
+
* @property {string} [logo]
|
|
469
|
+
* @property {boolean} [is_selected]
|
|
445
470
|
* @property {string} [name]
|
|
446
|
-
* @property {string} [
|
|
447
|
-
* @property {
|
|
471
|
+
* @property {string} [value]
|
|
472
|
+
* @property {string} [display]
|
|
448
473
|
*/
|
|
449
474
|
|
|
450
475
|
/**
|
|
451
|
-
* @typedef
|
|
452
|
-
* @property {
|
|
453
|
-
* @property {
|
|
454
|
-
* @property {
|
|
455
|
-
* @property {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
* @
|
|
460
|
-
* @property {
|
|
461
|
-
* @property {
|
|
476
|
+
* @typedef ProductListingResponse
|
|
477
|
+
* @property {ProductListingDetail[]} [items]
|
|
478
|
+
* @property {ProductFilters[]} [filters]
|
|
479
|
+
* @property {Page} page
|
|
480
|
+
* @property {ProductSortOn[]} [sort_on]
|
|
481
|
+
*/
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* @typedef ImageUrls
|
|
485
|
+
* @property {Media} [portrait]
|
|
486
|
+
* @property {Media} [landscape]
|
|
487
|
+
*/
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* @typedef BrandItem
|
|
491
|
+
* @property {number} [uid]
|
|
492
|
+
* @property {Media} [logo]
|
|
462
493
|
* @property {string} [description]
|
|
494
|
+
* @property {ImageUrls} [banners]
|
|
495
|
+
* @property {string[]} [departments]
|
|
463
496
|
* @property {string} [discount]
|
|
464
|
-
* @property {ProductDetailGroupedAttribute[]} [grouped_attributes]
|
|
465
|
-
* @property {boolean} [has_variant]
|
|
466
|
-
* @property {string[]} [highlights]
|
|
467
|
-
* @property {string} [image_nature]
|
|
468
|
-
* @property {boolean} [is_dependent]
|
|
469
|
-
* @property {string} [item_code]
|
|
470
|
-
* @property {string} [item_type]
|
|
471
|
-
* @property {Media[]} [medias]
|
|
472
|
-
* @property {ApplicationItemMOQ} [moq]
|
|
473
497
|
* @property {string} [name]
|
|
474
|
-
* @property {
|
|
475
|
-
* @property {
|
|
476
|
-
* @property {string[]} [product_group_tag]
|
|
477
|
-
* @property {string} [product_online_date]
|
|
478
|
-
* @property {number} [rating]
|
|
479
|
-
* @property {number} [rating_count]
|
|
480
|
-
* @property {ApplicationItemSEO} [seo]
|
|
481
|
-
* @property {string} [short_description]
|
|
482
|
-
* @property {string[]} [similars]
|
|
483
|
-
* @property {string} slug
|
|
484
|
-
* @property {string[]} [tags]
|
|
485
|
-
* @property {string} [teaser_tag]
|
|
486
|
-
* @property {string[]} [tryouts]
|
|
487
|
-
* @property {string} [type]
|
|
488
|
-
* @property {number} [uid]
|
|
498
|
+
* @property {string} [slug]
|
|
499
|
+
* @property {ProductListingAction} [action]
|
|
489
500
|
*/
|
|
490
501
|
|
|
491
502
|
/**
|
|
492
|
-
* @typedef
|
|
493
|
-
* @property {
|
|
494
|
-
* @property {
|
|
495
|
-
* @property {string} [value]
|
|
503
|
+
* @typedef BrandListingResponse
|
|
504
|
+
* @property {BrandItem[]} [items]
|
|
505
|
+
* @property {Page} page
|
|
496
506
|
*/
|
|
497
507
|
|
|
498
508
|
/**
|
|
499
|
-
* @typedef
|
|
500
|
-
* @property {
|
|
501
|
-
* @property {number} [
|
|
502
|
-
* @property {string} [
|
|
509
|
+
* @typedef BrandDetailResponse
|
|
510
|
+
* @property {Media} [logo]
|
|
511
|
+
* @property {number} [uid]
|
|
512
|
+
* @property {string} [description]
|
|
513
|
+
* @property {ImageUrls} [banners]
|
|
514
|
+
* @property {Object} [_custom_json]
|
|
515
|
+
* @property {string} [name]
|
|
503
516
|
*/
|
|
504
517
|
|
|
505
518
|
/**
|
|
506
|
-
* @typedef
|
|
507
|
-
* @property {
|
|
508
|
-
* @property {
|
|
519
|
+
* @typedef CategoryBanner
|
|
520
|
+
* @property {Media} portrait
|
|
521
|
+
* @property {Media} landscape
|
|
509
522
|
*/
|
|
510
523
|
|
|
511
524
|
/**
|
|
512
|
-
* @typedef
|
|
513
|
-
* @property {
|
|
514
|
-
* @property {
|
|
515
|
-
* @property {Object} [
|
|
516
|
-
* @property {Object} [
|
|
517
|
-
* @property {
|
|
518
|
-
* @property {
|
|
519
|
-
* @property {
|
|
520
|
-
* @property {number} [hsn_code] - The HSN code of the product
|
|
521
|
-
* @property {Object} [identifier] - A dictionary of product identifiers
|
|
522
|
-
* @property {Object} [image_nature] - The nature of the product's images
|
|
523
|
-
* @property {Object[]} [images] - A list of image URLs for the product
|
|
524
|
-
* @property {boolean} [is_set] - Whether or not the product is a set of items
|
|
525
|
-
* @property {Object} [item_code] - The item code of the product
|
|
526
|
-
* @property {Object[]} [media] - A list of media objects for the product
|
|
527
|
-
* @property {Object} [name] - The name of the product
|
|
528
|
-
* @property {boolean} [out_of_stock] - Whether or not the product is out of stock
|
|
529
|
-
* @property {number} [rating] - The rating of the product
|
|
530
|
-
* @property {number} [rating_count] - The number of ratings the product has received
|
|
531
|
-
* @property {Object} [short_description] - The short description of the product
|
|
532
|
-
* @property {Object} [slug] - The slug of the product
|
|
533
|
-
* @property {Object} [template_tag] - The template tag of the product
|
|
525
|
+
* @typedef ThirdLevelChild
|
|
526
|
+
* @property {number} [uid]
|
|
527
|
+
* @property {ImageUrls} [banners]
|
|
528
|
+
* @property {Object[]} [childs]
|
|
529
|
+
* @property {Object} [_custom_json]
|
|
530
|
+
* @property {string} [name]
|
|
531
|
+
* @property {string} [slug]
|
|
532
|
+
* @property {ProductListingAction} [action]
|
|
534
533
|
*/
|
|
535
534
|
|
|
536
535
|
/**
|
|
537
|
-
* @typedef
|
|
538
|
-
* @property {
|
|
539
|
-
* @property {
|
|
536
|
+
* @typedef SecondLevelChild
|
|
537
|
+
* @property {number} [uid]
|
|
538
|
+
* @property {ImageUrls} [banners]
|
|
539
|
+
* @property {ThirdLevelChild[]} [childs]
|
|
540
|
+
* @property {Object} [_custom_json]
|
|
541
|
+
* @property {string} [name]
|
|
542
|
+
* @property {string} [slug]
|
|
543
|
+
* @property {ProductListingAction} [action]
|
|
540
544
|
*/
|
|
541
545
|
|
|
542
546
|
/**
|
|
543
|
-
* @typedef
|
|
544
|
-
* @property {
|
|
545
|
-
* @property {
|
|
546
|
-
* @property {
|
|
547
|
+
* @typedef Child
|
|
548
|
+
* @property {number} [uid]
|
|
549
|
+
* @property {ImageUrls} [banners]
|
|
550
|
+
* @property {SecondLevelChild[]} [childs]
|
|
551
|
+
* @property {Object} [_custom_json]
|
|
552
|
+
* @property {string} [name]
|
|
553
|
+
* @property {string} [slug]
|
|
554
|
+
* @property {ProductListingAction} [action]
|
|
555
|
+
*/
|
|
556
|
+
|
|
557
|
+
/**
|
|
558
|
+
* @typedef CategoryItems
|
|
559
|
+
* @property {number} uid
|
|
560
|
+
* @property {CategoryBanner} banners
|
|
561
|
+
* @property {Child[]} [childs]
|
|
547
562
|
* @property {string} name
|
|
563
|
+
* @property {string} slug
|
|
564
|
+
* @property {ProductListingAction} action
|
|
548
565
|
*/
|
|
549
566
|
|
|
550
567
|
/**
|
|
551
|
-
* @typedef
|
|
552
|
-
* @property {
|
|
553
|
-
* @property {string}
|
|
554
|
-
* @property {string} [currency_symbol]
|
|
555
|
-
* @property {string} display
|
|
556
|
-
* @property {string} [display_format]
|
|
557
|
-
* @property {boolean} is_selected
|
|
558
|
-
* @property {number} [max]
|
|
559
|
-
* @property {number} [min]
|
|
560
|
-
* @property {string} [query_format]
|
|
561
|
-
* @property {number} [selected_max]
|
|
562
|
-
* @property {number} [selected_min]
|
|
563
|
-
* @property {string} [value]
|
|
568
|
+
* @typedef DepartmentCategoryTree
|
|
569
|
+
* @property {CategoryItems[]} [items]
|
|
570
|
+
* @property {string} department
|
|
564
571
|
*/
|
|
565
572
|
|
|
566
573
|
/**
|
|
567
|
-
* @typedef
|
|
568
|
-
* @property {
|
|
574
|
+
* @typedef DepartmentIdentifier
|
|
575
|
+
* @property {number} [uid]
|
|
576
|
+
* @property {string} [slug]
|
|
569
577
|
*/
|
|
570
578
|
|
|
571
579
|
/**
|
|
572
|
-
* @typedef
|
|
573
|
-
* @property {
|
|
574
|
-
* @property {
|
|
575
|
-
* @property {number} [company_id] - The ID of the company that owns the product grouping.
|
|
576
|
-
* @property {UserDetail} [created_by] - User details of the creator of the document
|
|
577
|
-
* @property {string} created_on - Timestamp of the creation of the document
|
|
578
|
-
* @property {boolean} [is_active] - Whether the product grouping is active.
|
|
579
|
-
* @property {string} [logo] - The URL for the logo of the product grouping.
|
|
580
|
-
* @property {Object} [meta] - A dictionary containing metadata information.
|
|
581
|
-
* @property {UserDetail} [modified_by] - User details of the last modifier of
|
|
582
|
-
* the document
|
|
583
|
-
* @property {string} modified_on - Timestamp of the last modification of the document
|
|
584
|
-
* @property {Object} name - The name of the product grouping.
|
|
585
|
-
* @property {Object[]} [page_visibility] - A list of page visibilities of the
|
|
586
|
-
* product grouping.
|
|
587
|
-
* @property {ProductInGroup[]} products - A list of products in the grouping.
|
|
588
|
-
* @property {boolean} [same_store_assignment] - Whether the products are
|
|
589
|
-
* assigned to the same store.
|
|
590
|
-
* @property {Object} [slug] - The unique identifier for the product grouping.
|
|
591
|
-
* @property {UserDetail} [verified_by] - User details of the verifier of the
|
|
592
|
-
* document, if applicable
|
|
593
|
-
* @property {string} [verified_on] - Timestamp of when the document was
|
|
594
|
-
* verified, if applicable
|
|
580
|
+
* @typedef CategoryListingResponse
|
|
581
|
+
* @property {DepartmentCategoryTree[]} [data]
|
|
582
|
+
* @property {DepartmentIdentifier[]} [departments]
|
|
595
583
|
*/
|
|
596
584
|
|
|
597
585
|
/**
|
|
598
|
-
* @typedef
|
|
599
|
-
* @property {
|
|
600
|
-
* @property {number} [
|
|
601
|
-
* @property {
|
|
602
|
-
* @property {
|
|
603
|
-
* @property {
|
|
586
|
+
* @typedef CategoryMetaResponse
|
|
587
|
+
* @property {Media} [logo]
|
|
588
|
+
* @property {number} [uid]
|
|
589
|
+
* @property {ImageUrls} [banners]
|
|
590
|
+
* @property {Object} [_custom_json]
|
|
591
|
+
* @property {string} [name]
|
|
604
592
|
*/
|
|
605
593
|
|
|
606
594
|
/**
|
|
607
|
-
* @typedef
|
|
608
|
-
* @property {
|
|
609
|
-
*
|
|
610
|
-
* @property {
|
|
611
|
-
* product should be automatically added to the cart.
|
|
612
|
-
* @property {boolean} [auto_select] - A flag indicating whether the product
|
|
613
|
-
* should be automatically selected.
|
|
614
|
-
* @property {number} max_quantity - The maximum quantity of the product that
|
|
615
|
-
* can be added to the cart.
|
|
616
|
-
* @property {number} [min_quantity] - The minimum quantity of the product that
|
|
617
|
-
* can be added to the cart.
|
|
618
|
-
* @property {ProductGroupPrice} [price] - The price details for the product group.
|
|
619
|
-
* @property {ProductDetails} [product_details] - The details of the product.
|
|
620
|
-
* @property {number} product_uid - The unique ID of the product in the group.
|
|
621
|
-
* @property {Size[]} [sizes] - The available sizes for the product.
|
|
595
|
+
* @typedef HomeListingResponse
|
|
596
|
+
* @property {ProductListingDetail[]} [items]
|
|
597
|
+
* @property {Page} page
|
|
598
|
+
* @property {string} [message]
|
|
622
599
|
*/
|
|
623
600
|
|
|
624
601
|
/**
|
|
625
|
-
* @typedef
|
|
626
|
-
* @property {
|
|
627
|
-
* @property {
|
|
602
|
+
* @typedef Department
|
|
603
|
+
* @property {number} [uid]
|
|
604
|
+
* @property {Media} [logo]
|
|
605
|
+
* @property {number} [priority_order]
|
|
606
|
+
* @property {string} [name]
|
|
607
|
+
* @property {string} [slug]
|
|
628
608
|
*/
|
|
629
609
|
|
|
630
610
|
/**
|
|
631
|
-
* @typedef
|
|
632
|
-
* @property {
|
|
633
|
-
* @property {Object} [query]
|
|
634
|
-
* @property {string} [type]
|
|
611
|
+
* @typedef DepartmentResponse
|
|
612
|
+
* @property {Department[]} [items]
|
|
635
613
|
*/
|
|
636
614
|
|
|
637
615
|
/**
|
|
638
|
-
* @typedef
|
|
616
|
+
* @typedef AutocompleteItem
|
|
617
|
+
* @property {Media} [logo]
|
|
618
|
+
* @property {string} [display]
|
|
619
|
+
* @property {string} [type]
|
|
639
620
|
* @property {Object} [_custom_json]
|
|
640
|
-
* @property {CustomMetaFields[]} [_custom_meta]
|
|
641
621
|
* @property {ProductListingAction} [action]
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
* @
|
|
646
|
-
* @property {
|
|
647
|
-
|
|
622
|
+
*/
|
|
623
|
+
|
|
624
|
+
/**
|
|
625
|
+
* @typedef AutoCompleteResponse
|
|
626
|
+
* @property {AutocompleteItem[]} [items]
|
|
627
|
+
*/
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* @typedef CollectionQuery
|
|
631
|
+
* @property {string} op
|
|
632
|
+
* @property {Object[]} value
|
|
633
|
+
* @property {string} attribute
|
|
634
|
+
*/
|
|
635
|
+
|
|
636
|
+
/**
|
|
637
|
+
* @typedef GetCollectionDetailNest
|
|
638
|
+
* @property {boolean} [is_active]
|
|
639
|
+
* @property {string} [uid]
|
|
640
|
+
* @property {string} [sort_on]
|
|
641
|
+
* @property {Object} [meta]
|
|
642
|
+
* @property {ImageUrls} [banners]
|
|
643
|
+
* @property {Object} [cron]
|
|
644
|
+
* @property {Object} [_schedule]
|
|
645
|
+
* @property {CollectionQuery[]} [query]
|
|
648
646
|
* @property {string} [description]
|
|
649
|
-
* @property {string} [
|
|
650
|
-
* @property {
|
|
651
|
-
* @property {boolean} [has_variant]
|
|
652
|
-
* @property {string[]} [highlights]
|
|
653
|
-
* @property {string[]} [identifiers]
|
|
654
|
-
* @property {string} [image_nature]
|
|
655
|
-
* @property {boolean} [is_dependent]
|
|
656
|
-
* @property {string} [item_code]
|
|
657
|
-
* @property {string} [item_type]
|
|
658
|
-
* @property {Media[]} [medias]
|
|
659
|
-
* @property {ApplicationItemMOQ} [moq]
|
|
647
|
+
* @property {string} [type]
|
|
648
|
+
* @property {Object} [_custom_json]
|
|
660
649
|
* @property {string} [name]
|
|
661
|
-
* @property {
|
|
662
|
-
* @property {
|
|
663
|
-
* @property {
|
|
664
|
-
* @property {string} [
|
|
665
|
-
* @property {
|
|
666
|
-
* @property {
|
|
667
|
-
* @property {
|
|
668
|
-
* @property {
|
|
669
|
-
* @property {string} [short_description]
|
|
670
|
-
* @property {string[]} [similars]
|
|
671
|
-
* @property {string[]} [sizes]
|
|
672
|
-
* @property {string} slug
|
|
650
|
+
* @property {boolean} [allow_sort]
|
|
651
|
+
* @property {string[]} [visible_facets_keys]
|
|
652
|
+
* @property {Object} [badge]
|
|
653
|
+
* @property {string} [slug]
|
|
654
|
+
* @property {ProductListingAction} [action]
|
|
655
|
+
* @property {boolean} [allow_facets]
|
|
656
|
+
* @property {Media} [logo]
|
|
657
|
+
* @property {number} [priority]
|
|
673
658
|
* @property {string[]} [tags]
|
|
674
|
-
* @property {string} [
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
* @
|
|
659
|
+
* @property {string} [app_id]
|
|
660
|
+
*/
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* @typedef CollectionListingFilterTag
|
|
664
|
+
* @property {string} [name]
|
|
665
|
+
* @property {boolean} [is_selected]
|
|
666
|
+
* @property {string} [display]
|
|
667
|
+
*/
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* @typedef CollectionListingFilterType
|
|
671
|
+
* @property {string} [name]
|
|
672
|
+
* @property {boolean} [is_selected]
|
|
673
|
+
* @property {string} [display]
|
|
679
674
|
*/
|
|
680
675
|
|
|
681
676
|
/**
|
|
682
|
-
* @typedef
|
|
683
|
-
* @property {
|
|
684
|
-
* @property {
|
|
677
|
+
* @typedef CollectionListingFilter
|
|
678
|
+
* @property {CollectionListingFilterTag[]} [tags]
|
|
679
|
+
* @property {CollectionListingFilterType[]} [type]
|
|
685
680
|
*/
|
|
686
681
|
|
|
687
682
|
/**
|
|
688
|
-
* @typedef
|
|
689
|
-
* @property {
|
|
690
|
-
* @property {
|
|
683
|
+
* @typedef GetCollectionListingResponse
|
|
684
|
+
* @property {GetCollectionDetailNest[]} [items]
|
|
685
|
+
* @property {CollectionListingFilter} [filters]
|
|
691
686
|
* @property {Page} page
|
|
692
|
-
* @property {ProductSortOn[]} [sort_on]
|
|
693
687
|
*/
|
|
694
688
|
|
|
695
689
|
/**
|
|
696
|
-
* @typedef
|
|
697
|
-
* @property {
|
|
698
|
-
* @property {
|
|
690
|
+
* @typedef CollectionDetailResponse
|
|
691
|
+
* @property {boolean} [is_active]
|
|
692
|
+
* @property {string} [sort_on]
|
|
693
|
+
* @property {Object} [meta]
|
|
694
|
+
* @property {ImageUrls} [banners]
|
|
695
|
+
* @property {Object} [cron]
|
|
696
|
+
* @property {Object} [_schedule]
|
|
697
|
+
* @property {CollectionQuery[]} [query]
|
|
698
|
+
* @property {string} [description]
|
|
699
|
+
* @property {string} [type]
|
|
700
|
+
* @property {Object} [_custom_json]
|
|
701
|
+
* @property {string} [name]
|
|
702
|
+
* @property {boolean} [allow_sort]
|
|
703
|
+
* @property {string[]} [visible_facets_keys]
|
|
704
|
+
* @property {Object} [badge]
|
|
705
|
+
* @property {string} [slug]
|
|
706
|
+
* @property {boolean} [allow_facets]
|
|
707
|
+
* @property {Media} [logo]
|
|
708
|
+
* @property {number} [priority]
|
|
709
|
+
* @property {string[]} [tag]
|
|
710
|
+
* @property {string} [app_id]
|
|
699
711
|
*/
|
|
700
712
|
|
|
701
713
|
/**
|
|
702
|
-
* @typedef
|
|
703
|
-
* @property {
|
|
704
|
-
* @property {
|
|
714
|
+
* @typedef GetFollowListingResponse
|
|
715
|
+
* @property {ProductListingDetail[]} items
|
|
716
|
+
* @property {Page} page
|
|
705
717
|
*/
|
|
706
718
|
|
|
707
719
|
/**
|
|
708
|
-
* @typedef
|
|
709
|
-
* @property {
|
|
720
|
+
* @typedef FollowPostResponse
|
|
721
|
+
* @property {string} message
|
|
722
|
+
* @property {string} id
|
|
710
723
|
*/
|
|
711
724
|
|
|
712
725
|
/**
|
|
713
|
-
* @typedef
|
|
714
|
-
* @property {number} [
|
|
715
|
-
* @property {ProductSetDistributionV3} [size_distribution]
|
|
726
|
+
* @typedef FollowerCountResponse
|
|
727
|
+
* @property {number} [count]
|
|
716
728
|
*/
|
|
717
729
|
|
|
718
730
|
/**
|
|
719
|
-
* @typedef
|
|
720
|
-
* @property {
|
|
721
|
-
* @property {
|
|
722
|
-
* @property {
|
|
723
|
-
* @property {number} [quantity]
|
|
724
|
-
* @property {string[]} [seller_identifiers]
|
|
725
|
-
* @property {string} [value]
|
|
726
|
-
* @property {Weight} [weight]
|
|
731
|
+
* @typedef FollowIdsData
|
|
732
|
+
* @property {number[]} [products]
|
|
733
|
+
* @property {number[]} [collections]
|
|
734
|
+
* @property {number[]} [brands]
|
|
727
735
|
*/
|
|
728
736
|
|
|
729
737
|
/**
|
|
730
|
-
* @typedef
|
|
731
|
-
* @property {
|
|
732
|
-
* @property {string} [article_id]
|
|
733
|
-
* @property {PromiseSchema} [delivery_promise]
|
|
734
|
-
* @property {string} [discount]
|
|
735
|
-
* @property {DiscountMeta} [discount_meta]
|
|
736
|
-
* @property {SellerGroupAttributes[]} [grouped_attributes]
|
|
737
|
-
* @property {boolean} [is_cod]
|
|
738
|
-
* @property {boolean} [is_gift]
|
|
739
|
-
* @property {string} [item_type]
|
|
740
|
-
* @property {number[]} [long_lat]
|
|
741
|
-
* @property {MarketPlaceSttributesSchemaV3[]} [marketplace_attributes]
|
|
742
|
-
* @property {number} [pincode]
|
|
743
|
-
* @property {ProductStockPriceV3} [price]
|
|
744
|
-
* @property {ProductStockPriceV3} [price_per_piece]
|
|
745
|
-
* @property {ProductStockUnitPriceV3} [price_per_unit]
|
|
746
|
-
* @property {number} [quantity]
|
|
747
|
-
* @property {ReturnConfigSchemaV3} [return_config]
|
|
748
|
-
* @property {SellerV3} [seller]
|
|
749
|
-
* @property {number} [seller_count]
|
|
750
|
-
* @property {ProductSetV3} [set]
|
|
751
|
-
* @property {string} [special_badge]
|
|
752
|
-
* @property {StoreV3} [store]
|
|
753
|
-
* @property {StrategyWiseListingSchemaV3[]} [strategy_wise_listing]
|
|
738
|
+
* @typedef FollowIdsResponse
|
|
739
|
+
* @property {FollowIdsData} [data]
|
|
754
740
|
*/
|
|
755
741
|
|
|
756
742
|
/**
|
|
757
|
-
* @typedef
|
|
758
|
-
* @property {
|
|
759
|
-
* @property {
|
|
760
|
-
* @property {boolean} [multi_size]
|
|
761
|
-
* @property {ProductSizesPrice} [price]
|
|
762
|
-
* @property {boolean} [sellable]
|
|
763
|
-
* @property {SizeChart} [size_chart]
|
|
764
|
-
* @property {ProductSize[]} [sizes]
|
|
765
|
-
* @property {ProductSizeStores} [stores]
|
|
743
|
+
* @typedef LatLong
|
|
744
|
+
* @property {number[]} [coordinates]
|
|
745
|
+
* @property {string} [type]
|
|
766
746
|
*/
|
|
767
747
|
|
|
768
748
|
/**
|
|
769
|
-
* @typedef
|
|
770
|
-
* @property {
|
|
749
|
+
* @typedef Store
|
|
750
|
+
* @property {number} [uid]
|
|
751
|
+
* @property {string} [store_email]
|
|
752
|
+
* @property {string} [state]
|
|
753
|
+
* @property {string} [country]
|
|
754
|
+
* @property {number} [pincode]
|
|
755
|
+
* @property {string} [city]
|
|
756
|
+
* @property {string} [address]
|
|
757
|
+
* @property {string} [store_code]
|
|
758
|
+
* @property {LatLong} [lat_long]
|
|
771
759
|
* @property {string} [name]
|
|
772
|
-
* @property {string} [
|
|
760
|
+
* @property {string[]} [tags]
|
|
773
761
|
*/
|
|
774
762
|
|
|
775
763
|
/**
|
|
776
|
-
* @typedef
|
|
777
|
-
* @property {
|
|
764
|
+
* @typedef StoreListingResponse
|
|
765
|
+
* @property {Store[]} items
|
|
778
766
|
* @property {Page} page
|
|
779
|
-
* @property {ProductSizeSellerFilterSchemaV3[]} [sort_on]
|
|
780
767
|
*/
|
|
781
768
|
|
|
782
769
|
/**
|
|
783
|
-
* @typedef
|
|
784
|
-
* @property {
|
|
785
|
-
* @property {
|
|
786
|
-
* @property {
|
|
770
|
+
* @typedef StoreDepartments
|
|
771
|
+
* @property {number} [uid]
|
|
772
|
+
* @property {Object} [logo]
|
|
773
|
+
* @property {number} [priority_order]
|
|
774
|
+
* @property {string} [name]
|
|
775
|
+
* @property {string} [slug]
|
|
787
776
|
*/
|
|
788
777
|
|
|
789
778
|
/**
|
|
790
|
-
* @typedef
|
|
791
|
-
* @property {number} [
|
|
779
|
+
* @typedef CompanyStore
|
|
780
|
+
* @property {number} [uid]
|
|
781
|
+
* @property {string} [name]
|
|
782
|
+
* @property {string} [company_type]
|
|
783
|
+
* @property {string} [business_type]
|
|
792
784
|
*/
|
|
793
785
|
|
|
794
786
|
/**
|
|
795
|
-
* @typedef
|
|
796
|
-
* @property {
|
|
797
|
-
* @property {
|
|
798
|
-
* @property {string} [logo]
|
|
799
|
-
* @property {string} [name]
|
|
800
|
-
* @property {string} [value]
|
|
787
|
+
* @typedef SellerPhoneNumber
|
|
788
|
+
* @property {number} country_code
|
|
789
|
+
* @property {string} number
|
|
801
790
|
*/
|
|
802
791
|
|
|
803
792
|
/**
|
|
804
|
-
* @typedef
|
|
805
|
-
* @property {
|
|
806
|
-
* @property {
|
|
793
|
+
* @typedef StoreManagerSerializer
|
|
794
|
+
* @property {string} [name]
|
|
795
|
+
* @property {string} [email]
|
|
796
|
+
* @property {SellerPhoneNumber} [mobile_no]
|
|
807
797
|
*/
|
|
808
798
|
|
|
809
799
|
/**
|
|
810
|
-
* @typedef
|
|
811
|
-
* @property {
|
|
812
|
-
* @property {
|
|
813
|
-
* @property {
|
|
800
|
+
* @typedef StoreAddressSerializer
|
|
801
|
+
* @property {number} [latitude]
|
|
802
|
+
* @property {string} [state]
|
|
803
|
+
* @property {string} [country]
|
|
804
|
+
* @property {string} [landmark]
|
|
805
|
+
* @property {string} [address1]
|
|
806
|
+
* @property {number} [pincode]
|
|
807
|
+
* @property {string} [city]
|
|
808
|
+
* @property {number} [longitude]
|
|
809
|
+
* @property {string} [address2]
|
|
814
810
|
*/
|
|
815
811
|
|
|
816
812
|
/**
|
|
817
|
-
* @typedef
|
|
818
|
-
* @property {
|
|
819
|
-
*
|
|
820
|
-
* @property {
|
|
821
|
-
*
|
|
822
|
-
* @property {
|
|
823
|
-
*
|
|
824
|
-
* @property {
|
|
825
|
-
* @property {
|
|
813
|
+
* @typedef AppStore
|
|
814
|
+
* @property {number} [uid]
|
|
815
|
+
* @property {StoreDepartments[]} [departments]
|
|
816
|
+
* @property {CompanyStore} [company]
|
|
817
|
+
* @property {StoreManagerSerializer} [manager]
|
|
818
|
+
* @property {string} [store_code]
|
|
819
|
+
* @property {StoreAddressSerializer} [address]
|
|
820
|
+
* @property {string} [name]
|
|
821
|
+
* @property {SellerPhoneNumber[]} [contact_numbers]
|
|
826
822
|
*/
|
|
827
823
|
|
|
828
824
|
/**
|
|
829
|
-
* @typedef
|
|
830
|
-
* @property {
|
|
831
|
-
* @property {
|
|
832
|
-
* @property {
|
|
833
|
-
* @property {ProductStockPrice} [price]
|
|
834
|
-
* @property {number} [quantity]
|
|
835
|
-
* @property {Seller} [seller]
|
|
836
|
-
* @property {string} [size]
|
|
837
|
-
* @property {StoreDetail} [store]
|
|
838
|
-
* @property {string} [uid]
|
|
825
|
+
* @typedef ApplicationStoreListing
|
|
826
|
+
* @property {Object[]} [filters]
|
|
827
|
+
* @property {AppStore[]} [items]
|
|
828
|
+
* @property {Page} [page]
|
|
839
829
|
*/
|
|
840
830
|
|
|
841
831
|
/**
|
|
842
|
-
* @typedef
|
|
843
|
-
* @property {
|
|
832
|
+
* @typedef Time
|
|
833
|
+
* @property {number} [hour]
|
|
834
|
+
* @property {number} [minute]
|
|
844
835
|
*/
|
|
845
836
|
|
|
846
837
|
/**
|
|
847
|
-
* @typedef
|
|
848
|
-
* @property {
|
|
849
|
-
* @property {
|
|
850
|
-
* @property {
|
|
851
|
-
* @property {
|
|
838
|
+
* @typedef StoreTiming
|
|
839
|
+
* @property {boolean} [open]
|
|
840
|
+
* @property {Time} [closing]
|
|
841
|
+
* @property {string} [weekday]
|
|
842
|
+
* @property {Time} [opening]
|
|
852
843
|
*/
|
|
853
844
|
|
|
854
845
|
/**
|
|
855
|
-
* @typedef
|
|
856
|
-
* @property {CustomMetaFields[]} [_custom_meta]
|
|
857
|
-
* @property {ProductListingAction} [action]
|
|
858
|
-
* @property {string} [color]
|
|
859
|
-
* @property {string} [color_name]
|
|
860
|
-
* @property {boolean} [is_available]
|
|
861
|
-
* @property {Media[]} [medias]
|
|
862
|
-
* @property {string} [name]
|
|
863
|
-
* @property {string} [slug]
|
|
846
|
+
* @typedef StoreDetails
|
|
864
847
|
* @property {number} [uid]
|
|
865
|
-
* @property {
|
|
848
|
+
* @property {StoreDepartments[]} [departments]
|
|
849
|
+
* @property {CompanyStore} [company]
|
|
850
|
+
* @property {StoreManagerSerializer} [manager]
|
|
851
|
+
* @property {string} [store_code]
|
|
852
|
+
* @property {StoreTiming[]} [timing]
|
|
853
|
+
* @property {StoreAddressSerializer} [address]
|
|
854
|
+
* @property {Object} [_custom_json]
|
|
855
|
+
* @property {string} [name]
|
|
856
|
+
* @property {SellerPhoneNumber[]} [contact_numbers]
|
|
866
857
|
*/
|
|
867
858
|
|
|
868
859
|
/**
|
|
869
|
-
* @typedef
|
|
870
|
-
* @property {
|
|
871
|
-
* @property {string} [
|
|
872
|
-
* @property {
|
|
873
|
-
* @property {string}
|
|
874
|
-
* @property {number} [total]
|
|
860
|
+
* @typedef UserDetail
|
|
861
|
+
* @property {boolean} [super_user] - A flag indicating whether the user is a super user.
|
|
862
|
+
* @property {string} [contact] - The contact details of the user.
|
|
863
|
+
* @property {string} username - The username of the user.
|
|
864
|
+
* @property {string} user_id - The user ID of the user.
|
|
875
865
|
*/
|
|
876
866
|
|
|
877
867
|
/**
|
|
878
|
-
* @typedef
|
|
879
|
-
* @property {
|
|
880
|
-
* @property {
|
|
881
|
-
* @property {
|
|
882
|
-
* @property {
|
|
868
|
+
* @typedef Size
|
|
869
|
+
* @property {number} [quantity] - The quantity of this size available
|
|
870
|
+
* @property {Object} [value] - The value of the size
|
|
871
|
+
* @property {Object} [display] - The display string for the size
|
|
872
|
+
* @property {boolean} [is_available] - Whether or not this size is available
|
|
883
873
|
*/
|
|
884
874
|
|
|
885
875
|
/**
|
|
886
|
-
* @typedef
|
|
887
|
-
* @property {
|
|
876
|
+
* @typedef ProductGroupPrice
|
|
877
|
+
* @property {number} [max_effective] - The maximum effective price of the product group.
|
|
878
|
+
* @property {number} [min_effective] - The minimum effective price of the product group.
|
|
879
|
+
* @property {number} [min_marked] - The minimum marked price of the product group.
|
|
880
|
+
* @property {Object} [currency] - The currency code for the prices.
|
|
881
|
+
* @property {number} [max_marked] - The maximum marked price of the product group.
|
|
888
882
|
*/
|
|
889
883
|
|
|
890
884
|
/**
|
|
891
|
-
* @typedef
|
|
892
|
-
* @property {
|
|
893
|
-
* @property {
|
|
885
|
+
* @typedef ProductDetails
|
|
886
|
+
* @property {Object} [template_tag] - The template tag of the product
|
|
887
|
+
* @property {number} [rating_count] - The number of ratings the product has received
|
|
888
|
+
* @property {Object} [image_nature] - The nature of the product's images
|
|
889
|
+
* @property {boolean} [has_variant] - Whether or not the product has a variant
|
|
890
|
+
* @property {Object} [description] - The long description of the product
|
|
891
|
+
* @property {boolean} [out_of_stock] - Whether or not the product is out of stock
|
|
892
|
+
* @property {number} [hsn_code] - The HSN code of the product
|
|
893
|
+
* @property {Object} [grouped_attributes] - A dictionary of grouped product attributes
|
|
894
|
+
* @property {Object} [item_code] - The item code of the product
|
|
895
|
+
* @property {Object} [name] - The name of the product
|
|
896
|
+
* @property {Object} [country_of_origin] - The country of origin for the product
|
|
897
|
+
* @property {Object} [short_description] - The short description of the product
|
|
898
|
+
* @property {Object[]} [media] - A list of media objects for the product
|
|
899
|
+
* @property {Object} [attributes] - A dictionary of product attributes
|
|
900
|
+
* @property {boolean} [is_set] - Whether or not the product is a set of items
|
|
901
|
+
* @property {Object[]} [images] - A list of image URLs for the product
|
|
902
|
+
* @property {Object} [slug] - The slug of the product
|
|
903
|
+
* @property {number} [rating] - The rating of the product
|
|
904
|
+
* @property {Object} [identifier] - A dictionary of product identifiers
|
|
905
|
+
* @property {Object[]} [highlights] - A list of highlights for the product
|
|
906
|
+
* @property {number} [brand_uid] - The unique ID of the product's brand
|
|
894
907
|
*/
|
|
895
908
|
|
|
896
909
|
/**
|
|
897
|
-
* @typedef
|
|
898
|
-
* @property {boolean} [
|
|
899
|
-
*
|
|
900
|
-
* @property {
|
|
910
|
+
* @typedef ProductInGroup
|
|
911
|
+
* @property {boolean} [auto_add_to_cart] - A flag indicating whether the
|
|
912
|
+
* product should be automatically added to the cart.
|
|
913
|
+
* @property {number} max_quantity - The maximum quantity of the product that
|
|
914
|
+
* can be added to the cart.
|
|
915
|
+
* @property {Size[]} [sizes] - The available sizes for the product.
|
|
916
|
+
* @property {ProductGroupPrice} [price] - The price details for the product group.
|
|
917
|
+
* @property {boolean} [auto_select] - A flag indicating whether the product
|
|
918
|
+
* should be automatically selected.
|
|
919
|
+
* @property {ProductDetails} [product_details] - The details of the product.
|
|
920
|
+
* @property {number} [min_quantity] - The minimum quantity of the product that
|
|
921
|
+
* can be added to the cart.
|
|
922
|
+
* @property {boolean} [allow_remove] - A flag indicating whether the product
|
|
923
|
+
* can be removed from the cart.
|
|
924
|
+
* @property {number} product_uid - The unique ID of the product in the group.
|
|
901
925
|
*/
|
|
902
926
|
|
|
903
927
|
/**
|
|
904
|
-
* @typedef
|
|
905
|
-
* @property {
|
|
906
|
-
* @property {
|
|
907
|
-
* @property {
|
|
908
|
-
* @property {
|
|
909
|
-
*
|
|
910
|
-
* @property {string}
|
|
911
|
-
* @property {number} [
|
|
928
|
+
* @typedef ProductGroupingModel
|
|
929
|
+
* @property {string} [logo] - The URL for the logo of the product grouping.
|
|
930
|
+
* @property {boolean} [is_active] - Whether the product grouping is active.
|
|
931
|
+
* @property {Object} [meta] - A dictionary containing metadata information.
|
|
932
|
+
* @property {UserDetail} [verified_by] - User details of the verifier of the
|
|
933
|
+
* document, if applicable
|
|
934
|
+
* @property {string} created_on - Timestamp of the creation of the document
|
|
935
|
+
* @property {number} [company_id] - The ID of the company that owns the product grouping.
|
|
936
|
+
* @property {Object[]} [page_visibility] - A list of page visibilities of the
|
|
937
|
+
* product grouping.
|
|
938
|
+
* @property {string} modified_on - Timestamp of the last modification of the document
|
|
939
|
+
* @property {UserDetail} [created_by] - User details of the creator of the document
|
|
940
|
+
* @property {UserDetail} [modified_by] - User details of the last modifier of
|
|
941
|
+
* the document
|
|
942
|
+
* @property {ProductInGroup[]} products - A list of products in the grouping.
|
|
943
|
+
* @property {boolean} [same_store_assignment] - Whether the products are
|
|
944
|
+
* assigned to the same store.
|
|
945
|
+
* @property {Object} [_id]
|
|
946
|
+
* @property {Object} name - The name of the product grouping.
|
|
947
|
+
* @property {Object} [choice] - The choice of the product grouping.
|
|
948
|
+
* @property {Object} [slug] - The unique identifier for the product grouping.
|
|
949
|
+
* @property {string} [verified_on] - Timestamp of when the document was
|
|
950
|
+
* verified, if applicable
|
|
912
951
|
*/
|
|
913
952
|
|
|
914
953
|
/**
|
|
915
|
-
* @typedef
|
|
916
|
-
* @property {
|
|
917
|
-
* @property {string} [name]
|
|
918
|
-
* @property {number} [uid]
|
|
954
|
+
* @typedef ProductBundle
|
|
955
|
+
* @property {ProductGroupingModel[]} [items]
|
|
919
956
|
*/
|
|
920
957
|
|
|
921
958
|
/**
|
|
922
|
-
* @typedef
|
|
923
|
-
* @property {
|
|
924
|
-
* @property {string} [
|
|
959
|
+
* @typedef StoreV3
|
|
960
|
+
* @property {number} [uid]
|
|
961
|
+
* @property {string} [name]
|
|
962
|
+
* @property {number} [count]
|
|
925
963
|
*/
|
|
926
964
|
|
|
927
965
|
/**
|
|
928
|
-
* @typedef
|
|
929
|
-
* @property {
|
|
930
|
-
* @property {string}
|
|
966
|
+
* @typedef ArticleAssignmentV3
|
|
967
|
+
* @property {string} [strategy]
|
|
968
|
+
* @property {string} [level]
|
|
931
969
|
*/
|
|
932
970
|
|
|
933
971
|
/**
|
|
934
|
-
* @typedef
|
|
935
|
-
* @property {number} [
|
|
936
|
-
* @property {
|
|
937
|
-
* @property {number} [
|
|
972
|
+
* @typedef StrategyWiseListingSchemaV3
|
|
973
|
+
* @property {number} [distance]
|
|
974
|
+
* @property {number} [pincode]
|
|
975
|
+
* @property {number} [tat]
|
|
976
|
+
* @property {number} [quantity]
|
|
938
977
|
*/
|
|
939
978
|
|
|
940
979
|
/**
|
|
941
|
-
* @typedef
|
|
942
|
-
* @property {
|
|
943
|
-
* @property {
|
|
944
|
-
* @property {
|
|
945
|
-
* @property {Object} [value] - The value of the size
|
|
980
|
+
* @typedef DetailsSchemaV3
|
|
981
|
+
* @property {string} [value]
|
|
982
|
+
* @property {string} [type]
|
|
983
|
+
* @property {string} [key]
|
|
946
984
|
*/
|
|
947
985
|
|
|
948
986
|
/**
|
|
949
|
-
* @typedef
|
|
950
|
-
* @property {string} [description]
|
|
951
|
-
* @property {ColumnHeaders} [headers]
|
|
952
|
-
* @property {string} [image]
|
|
953
|
-
* @property {string} [size_tip]
|
|
954
|
-
* @property {SizeChartValues[]} [sizes]
|
|
987
|
+
* @typedef SellerGroupAttributes
|
|
955
988
|
* @property {string} [title]
|
|
956
|
-
* @property {
|
|
989
|
+
* @property {DetailsSchemaV3[]} [details]
|
|
957
990
|
*/
|
|
958
991
|
|
|
959
992
|
/**
|
|
960
|
-
* @typedef
|
|
961
|
-
* @property {string} [
|
|
962
|
-
* @property {
|
|
963
|
-
* @property {
|
|
964
|
-
* @property {string} [col_4]
|
|
965
|
-
* @property {string} [col_5]
|
|
966
|
-
* @property {string} [col_6]
|
|
993
|
+
* @typedef ReturnConfigSchemaV3
|
|
994
|
+
* @property {string} [unit]
|
|
995
|
+
* @property {boolean} [returnable]
|
|
996
|
+
* @property {number} [time]
|
|
967
997
|
*/
|
|
968
998
|
|
|
969
999
|
/**
|
|
970
|
-
* @typedef
|
|
971
|
-
* @property {
|
|
972
|
-
* @property {string} [
|
|
973
|
-
* @property {string} [country]
|
|
974
|
-
* @property {LatLong} [lat_long]
|
|
975
|
-
* @property {string} [name]
|
|
976
|
-
* @property {number} [pincode]
|
|
977
|
-
* @property {string} [state]
|
|
978
|
-
* @property {string} [store_code]
|
|
979
|
-
* @property {string} [store_email]
|
|
980
|
-
* @property {string[]} [tags]
|
|
981
|
-
* @property {number} [uid]
|
|
1000
|
+
* @typedef ProductSetDistributionSizeV3
|
|
1001
|
+
* @property {number} [pieces]
|
|
1002
|
+
* @property {string} [size]
|
|
982
1003
|
*/
|
|
983
1004
|
|
|
984
1005
|
/**
|
|
985
|
-
* @typedef
|
|
986
|
-
* @property {
|
|
987
|
-
* @property {string} [address2]
|
|
988
|
-
* @property {string} [city]
|
|
989
|
-
* @property {string} [country]
|
|
990
|
-
* @property {string} [landmark]
|
|
991
|
-
* @property {number} [latitude]
|
|
992
|
-
* @property {number} [longitude]
|
|
993
|
-
* @property {number} [pincode]
|
|
994
|
-
* @property {string} [state]
|
|
1006
|
+
* @typedef ProductSetDistributionV3
|
|
1007
|
+
* @property {ProductSetDistributionSizeV3[]} [sizes]
|
|
995
1008
|
*/
|
|
996
1009
|
|
|
997
1010
|
/**
|
|
998
|
-
* @typedef
|
|
999
|
-
* @property {
|
|
1000
|
-
* @property {
|
|
1001
|
-
* @property {number} [priority_order]
|
|
1002
|
-
* @property {string} [slug]
|
|
1003
|
-
* @property {number} [uid]
|
|
1011
|
+
* @typedef ProductSetV3
|
|
1012
|
+
* @property {number} [quantity]
|
|
1013
|
+
* @property {ProductSetDistributionV3} [size_distribution]
|
|
1004
1014
|
*/
|
|
1005
1015
|
|
|
1006
1016
|
/**
|
|
1007
|
-
* @typedef
|
|
1008
|
-
* @property {
|
|
1009
|
-
*
|
|
1010
|
-
* @property {
|
|
1011
|
-
*
|
|
1017
|
+
* @typedef ProductStockPriceV3
|
|
1018
|
+
* @property {number} [effective] - The effective or final price for the product
|
|
1019
|
+
* at the given pincode.
|
|
1020
|
+
* @property {string} [currency_code] - The currency code for which the product
|
|
1021
|
+
* is available
|
|
1022
|
+
* @property {string} [currency_symbol] - The currency symbol for the currency
|
|
1023
|
+
* in which the product is available.
|
|
1024
|
+
* @property {number} [marked] - The marked price of the product.
|
|
1025
|
+
* @property {number} [selling] - The selling price of the product.
|
|
1012
1026
|
*/
|
|
1013
1027
|
|
|
1014
1028
|
/**
|
|
1015
|
-
* @typedef
|
|
1016
|
-
* @property {
|
|
1017
|
-
* @property {
|
|
1018
|
-
* @property {
|
|
1019
|
-
* @property {
|
|
1020
|
-
* @property {StoreDepartments[]} [departments]
|
|
1021
|
-
* @property {StoreManagerSerializer} [manager]
|
|
1022
|
-
* @property {string} [name]
|
|
1023
|
-
* @property {string} [store_code]
|
|
1024
|
-
* @property {StoreTiming[]} [timing]
|
|
1025
|
-
* @property {number} [uid]
|
|
1029
|
+
* @typedef ProductStockUnitPriceV3
|
|
1030
|
+
* @property {string} [unit]
|
|
1031
|
+
* @property {string} [currency_symbol]
|
|
1032
|
+
* @property {string} [currency_code]
|
|
1033
|
+
* @property {number} [price]
|
|
1026
1034
|
*/
|
|
1027
1035
|
|
|
1028
1036
|
/**
|
|
1029
|
-
* @typedef
|
|
1030
|
-
* @property {
|
|
1031
|
-
* @property {
|
|
1037
|
+
* @typedef MarketPlaceSttributesSchemaV3
|
|
1038
|
+
* @property {string} [title]
|
|
1039
|
+
* @property {DetailsSchemaV3[]} [details]
|
|
1032
1040
|
*/
|
|
1033
1041
|
|
|
1034
1042
|
/**
|
|
1035
|
-
* @typedef
|
|
1036
|
-
* @property {
|
|
1037
|
-
* @property {SellerPhoneNumber} [mobile_no]
|
|
1043
|
+
* @typedef SellerV3
|
|
1044
|
+
* @property {number} [uid]
|
|
1038
1045
|
* @property {string} [name]
|
|
1046
|
+
* @property {number} [count]
|
|
1039
1047
|
*/
|
|
1040
1048
|
|
|
1041
1049
|
/**
|
|
1042
|
-
* @typedef
|
|
1043
|
-
* @property {
|
|
1044
|
-
* @property {
|
|
1045
|
-
* @property {Time} [opening]
|
|
1046
|
-
* @property {string} [weekday]
|
|
1047
|
-
*/
|
|
1048
|
-
|
|
1049
|
-
/**
|
|
1050
|
-
* @typedef StoreV3
|
|
1051
|
-
* @property {number} [count]
|
|
1052
|
-
* @property {string} [name]
|
|
1053
|
-
* @property {number} [uid]
|
|
1050
|
+
* @typedef PromiseSchema
|
|
1051
|
+
* @property {string} [min]
|
|
1052
|
+
* @property {string} [max]
|
|
1054
1053
|
*/
|
|
1055
1054
|
|
|
1056
1055
|
/**
|
|
1057
|
-
* @typedef
|
|
1058
|
-
* @property {
|
|
1056
|
+
* @typedef ProductSizePriceResponseV3
|
|
1057
|
+
* @property {StoreV3} [store]
|
|
1058
|
+
* @property {ArticleAssignmentV3} [article_assignment]
|
|
1059
|
+
* @property {boolean} [is_cod]
|
|
1060
|
+
* @property {StrategyWiseListingSchemaV3[]} [strategy_wise_listing]
|
|
1061
|
+
* @property {number} [quantity]
|
|
1062
|
+
* @property {string} [item_type]
|
|
1063
|
+
* @property {SellerGroupAttributes[]} [grouped_attributes]
|
|
1064
|
+
* @property {ReturnConfigSchemaV3} [return_config]
|
|
1065
|
+
* @property {string} [article_id]
|
|
1066
|
+
* @property {boolean} [is_gift]
|
|
1067
|
+
* @property {ProductSetV3} [set]
|
|
1068
|
+
* @property {number} [seller_count]
|
|
1069
|
+
* @property {ProductStockPriceV3} [price_per_piece]
|
|
1070
|
+
* @property {DiscountMeta} [discount_meta]
|
|
1071
|
+
* @property {string} [discount]
|
|
1072
|
+
* @property {number[]} [long_lat]
|
|
1073
|
+
* @property {string} [special_badge]
|
|
1074
|
+
* @property {ProductStockPriceV3} [price]
|
|
1075
|
+
* @property {ProductStockUnitPriceV3} [price_per_unit]
|
|
1059
1076
|
* @property {number} [pincode]
|
|
1060
|
-
* @property {
|
|
1061
|
-
* @property {
|
|
1077
|
+
* @property {MarketPlaceSttributesSchemaV3[]} [marketplace_attributes]
|
|
1078
|
+
* @property {SellerV3} [seller]
|
|
1079
|
+
* @property {PromiseSchema} [delivery_promise]
|
|
1062
1080
|
*/
|
|
1063
1081
|
|
|
1064
1082
|
/**
|
|
1065
|
-
* @typedef
|
|
1066
|
-
* @property {Object} [_custom_json]
|
|
1067
|
-
* @property {ProductListingAction} [action]
|
|
1068
|
-
* @property {ImageUrls} [banners]
|
|
1069
|
-
* @property {Object[]} [childs]
|
|
1083
|
+
* @typedef ProductSizeSellerFilterSchemaV3
|
|
1070
1084
|
* @property {string} [name]
|
|
1071
|
-
* @property {
|
|
1072
|
-
* @property {
|
|
1085
|
+
* @property {boolean} [is_selected]
|
|
1086
|
+
* @property {string} [value]
|
|
1073
1087
|
*/
|
|
1074
1088
|
|
|
1075
1089
|
/**
|
|
1076
|
-
* @typedef
|
|
1077
|
-
* @property {
|
|
1078
|
-
* @property {
|
|
1090
|
+
* @typedef ProductSizeSellersResponseV3
|
|
1091
|
+
* @property {ProductSizePriceResponseV3[]} [items]
|
|
1092
|
+
* @property {Page} page
|
|
1093
|
+
* @property {ProductSizeSellerFilterSchemaV3[]} [sort_on]
|
|
1079
1094
|
*/
|
|
1080
1095
|
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1096
|
+
class CatalogApplicationModel {
|
|
1097
|
+
/** @returns {ProductDetailCustomOrder} */
|
|
1098
|
+
static ProductDetailCustomOrder() {
|
|
1099
|
+
return Joi.object({
|
|
1100
|
+
manufacturing_time: Joi.number(),
|
|
1101
|
+
manufacturing_time_unit: Joi.string().allow(""),
|
|
1102
|
+
is_custom_order: Joi.boolean(),
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1088
1105
|
|
|
1089
|
-
/**
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1106
|
+
/** @returns {Meta} */
|
|
1107
|
+
static Meta() {
|
|
1108
|
+
return Joi.object({
|
|
1109
|
+
source: Joi.string().allow(""),
|
|
1110
|
+
});
|
|
1111
|
+
}
|
|
1095
1112
|
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
static ApplicationItemMOQ() {
|
|
1113
|
+
/** @returns {Media} */
|
|
1114
|
+
static Media() {
|
|
1099
1115
|
return Joi.object({
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1116
|
+
url: Joi.string().allow(""),
|
|
1117
|
+
type: Joi.string().allow(""),
|
|
1118
|
+
meta: CatalogApplicationModel.Meta(),
|
|
1119
|
+
alt: Joi.string().allow(""),
|
|
1103
1120
|
});
|
|
1104
1121
|
}
|
|
1105
1122
|
|
|
1106
|
-
/** @returns {
|
|
1107
|
-
static
|
|
1123
|
+
/** @returns {ProductListingActionPage} */
|
|
1124
|
+
static ProductListingActionPage() {
|
|
1108
1125
|
return Joi.object({
|
|
1109
|
-
|
|
1110
|
-
|
|
1126
|
+
type: Joi.string().allow(""),
|
|
1127
|
+
query: Joi.any(),
|
|
1128
|
+
params: Joi.any(),
|
|
1111
1129
|
});
|
|
1112
1130
|
}
|
|
1113
1131
|
|
|
1114
|
-
/** @returns {
|
|
1115
|
-
static
|
|
1132
|
+
/** @returns {ProductListingAction} */
|
|
1133
|
+
static ProductListingAction() {
|
|
1116
1134
|
return Joi.object({
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
page: CatalogApplicationModel.Page(),
|
|
1135
|
+
type: Joi.string().allow(""),
|
|
1136
|
+
page: CatalogApplicationModel.ProductListingActionPage(),
|
|
1120
1137
|
});
|
|
1121
1138
|
}
|
|
1122
1139
|
|
|
1123
|
-
/** @returns {
|
|
1124
|
-
static
|
|
1140
|
+
/** @returns {ProductBrand} */
|
|
1141
|
+
static ProductBrand() {
|
|
1125
1142
|
return Joi.object({
|
|
1126
|
-
address: CatalogApplicationModel.StoreAddressSerializer(),
|
|
1127
|
-
company: CatalogApplicationModel.CompanyStore(),
|
|
1128
|
-
contact_numbers: Joi.array().items(
|
|
1129
|
-
CatalogApplicationModel.SellerPhoneNumber()
|
|
1130
|
-
),
|
|
1131
|
-
departments: Joi.array().items(
|
|
1132
|
-
CatalogApplicationModel.StoreDepartments()
|
|
1133
|
-
),
|
|
1134
|
-
manager: CatalogApplicationModel.StoreManagerSerializer(),
|
|
1135
|
-
name: Joi.string().allow(""),
|
|
1136
|
-
store_code: Joi.string().allow(""),
|
|
1137
1143
|
uid: Joi.number(),
|
|
1144
|
+
logo: CatalogApplicationModel.Media(),
|
|
1145
|
+
description: Joi.string().allow(""),
|
|
1146
|
+
name: Joi.string().allow(""),
|
|
1147
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1138
1148
|
});
|
|
1139
1149
|
}
|
|
1140
1150
|
|
|
1141
|
-
/** @returns {
|
|
1142
|
-
static
|
|
1151
|
+
/** @returns {ProductDepartment} */
|
|
1152
|
+
static ProductDepartment() {
|
|
1143
1153
|
return Joi.object({
|
|
1144
|
-
|
|
1145
|
-
|
|
1154
|
+
uid: Joi.number(),
|
|
1155
|
+
logo: CatalogApplicationModel.Media(),
|
|
1156
|
+
slug: Joi.string().allow(""),
|
|
1157
|
+
name: Joi.string().allow(""),
|
|
1146
1158
|
});
|
|
1147
1159
|
}
|
|
1148
1160
|
|
|
1149
|
-
/** @returns {
|
|
1150
|
-
static
|
|
1161
|
+
/** @returns {ProductCategoryMap} */
|
|
1162
|
+
static ProductCategoryMap() {
|
|
1151
1163
|
return Joi.object({
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
logo: Joi.string().allow(""),
|
|
1164
|
+
l1: CatalogApplicationModel.ProductBrand(),
|
|
1165
|
+
l2: CatalogApplicationModel.ProductBrand(),
|
|
1166
|
+
l3: CatalogApplicationModel.ProductBrand(),
|
|
1156
1167
|
});
|
|
1157
1168
|
}
|
|
1158
1169
|
|
|
1159
|
-
/** @returns {
|
|
1160
|
-
static
|
|
1170
|
+
/** @returns {NetQuantity} */
|
|
1171
|
+
static NetQuantity() {
|
|
1161
1172
|
return Joi.object({
|
|
1162
|
-
|
|
1163
|
-
|
|
1173
|
+
unit: Joi.any(),
|
|
1174
|
+
value: Joi.number(),
|
|
1164
1175
|
});
|
|
1165
1176
|
}
|
|
1166
1177
|
|
|
1167
|
-
/** @returns {
|
|
1168
|
-
static
|
|
1178
|
+
/** @returns {CustomMetaFields} */
|
|
1179
|
+
static CustomMetaFields() {
|
|
1169
1180
|
return Joi.object({
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
display: Joi.string().allow(""),
|
|
1173
|
-
logo: CatalogApplicationModel.Media(),
|
|
1174
|
-
type: Joi.string().allow(""),
|
|
1181
|
+
value: Joi.string().allow("").required(),
|
|
1182
|
+
key: Joi.string().allow("").required(),
|
|
1175
1183
|
});
|
|
1176
1184
|
}
|
|
1177
1185
|
|
|
1178
|
-
/** @returns {
|
|
1179
|
-
static
|
|
1186
|
+
/** @returns {ApplicationItemSEO} */
|
|
1187
|
+
static ApplicationItemSEO() {
|
|
1180
1188
|
return Joi.object({
|
|
1181
|
-
|
|
1189
|
+
title: Joi.any(),
|
|
1190
|
+
description: Joi.any(),
|
|
1182
1191
|
});
|
|
1183
1192
|
}
|
|
1184
1193
|
|
|
1185
|
-
/** @returns {
|
|
1186
|
-
static
|
|
1194
|
+
/** @returns {ProductDetailAttribute} */
|
|
1195
|
+
static ProductDetailAttribute() {
|
|
1187
1196
|
return Joi.object({
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
logo: CatalogApplicationModel.Media(),
|
|
1192
|
-
name: Joi.string().allow(""),
|
|
1193
|
-
uid: Joi.number(),
|
|
1197
|
+
value: Joi.string().allow(""),
|
|
1198
|
+
type: Joi.string().allow(""),
|
|
1199
|
+
key: Joi.string().allow(""),
|
|
1194
1200
|
});
|
|
1195
1201
|
}
|
|
1196
1202
|
|
|
1197
|
-
/** @returns {
|
|
1198
|
-
static
|
|
1203
|
+
/** @returns {ProductDetailGroupedAttribute} */
|
|
1204
|
+
static ProductDetailGroupedAttribute() {
|
|
1199
1205
|
return Joi.object({
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
discount: Joi.string().allow(""),
|
|
1205
|
-
logo: CatalogApplicationModel.Media(),
|
|
1206
|
-
name: Joi.string().allow(""),
|
|
1207
|
-
slug: Joi.string().allow(""),
|
|
1208
|
-
uid: Joi.number(),
|
|
1206
|
+
title: Joi.string().allow(""),
|
|
1207
|
+
details: Joi.array().items(
|
|
1208
|
+
CatalogApplicationModel.ProductDetailAttribute()
|
|
1209
|
+
),
|
|
1209
1210
|
});
|
|
1210
1211
|
}
|
|
1211
1212
|
|
|
1212
|
-
/** @returns {
|
|
1213
|
-
static
|
|
1213
|
+
/** @returns {ApplicationItemMOQ} */
|
|
1214
|
+
static ApplicationItemMOQ() {
|
|
1214
1215
|
return Joi.object({
|
|
1215
|
-
|
|
1216
|
-
|
|
1216
|
+
minimum: Joi.number(),
|
|
1217
|
+
maximum: Joi.number(),
|
|
1218
|
+
increment_unit: Joi.number(),
|
|
1217
1219
|
});
|
|
1218
1220
|
}
|
|
1219
1221
|
|
|
1220
|
-
/** @returns {
|
|
1221
|
-
static
|
|
1222
|
+
/** @returns {Price} */
|
|
1223
|
+
static Price() {
|
|
1222
1224
|
return Joi.object({
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
+
min: Joi.number(),
|
|
1226
|
+
currency_symbol: Joi.string().allow(""),
|
|
1227
|
+
currency_code: Joi.string().allow(""),
|
|
1228
|
+
max: Joi.number(),
|
|
1225
1229
|
});
|
|
1226
1230
|
}
|
|
1227
1231
|
|
|
1228
|
-
/** @returns {
|
|
1229
|
-
static
|
|
1232
|
+
/** @returns {ProductListingPrice} */
|
|
1233
|
+
static ProductListingPrice() {
|
|
1230
1234
|
return Joi.object({
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
childs: Joi.array().items(CatalogApplicationModel.Child()),
|
|
1234
|
-
name: Joi.string().allow("").required(),
|
|
1235
|
-
slug: Joi.string().allow("").required(),
|
|
1236
|
-
uid: Joi.number().required(),
|
|
1235
|
+
effective: CatalogApplicationModel.Price(),
|
|
1236
|
+
marked: CatalogApplicationModel.Price(),
|
|
1237
1237
|
});
|
|
1238
1238
|
}
|
|
1239
1239
|
|
|
1240
|
-
/** @returns {
|
|
1241
|
-
static
|
|
1240
|
+
/** @returns {ProductSizesPrice} */
|
|
1241
|
+
static ProductSizesPrice() {
|
|
1242
1242
|
return Joi.object({
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
),
|
|
1243
|
+
effective: CatalogApplicationModel.Price(),
|
|
1244
|
+
marked: CatalogApplicationModel.Price(),
|
|
1245
|
+
selling: CatalogApplicationModel.Price(),
|
|
1247
1246
|
});
|
|
1248
1247
|
}
|
|
1249
1248
|
|
|
1250
|
-
/** @returns {
|
|
1251
|
-
static
|
|
1249
|
+
/** @returns {ProductDetail} */
|
|
1250
|
+
static ProductDetail() {
|
|
1252
1251
|
return Joi.object({
|
|
1252
|
+
uid: Joi.number(),
|
|
1253
|
+
custom_order: CatalogApplicationModel.ProductDetailCustomOrder(),
|
|
1254
|
+
category_map: CatalogApplicationModel.ProductCategoryMap(),
|
|
1255
|
+
net_quantity: CatalogApplicationModel.NetQuantity(),
|
|
1256
|
+
rating_count: Joi.number(),
|
|
1257
|
+
_custom_meta: Joi.array().items(
|
|
1258
|
+
CatalogApplicationModel.CustomMetaFields()
|
|
1259
|
+
),
|
|
1260
|
+
similars: Joi.array().items(Joi.string().allow("")),
|
|
1261
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
1262
|
+
seo: CatalogApplicationModel.ApplicationItemSEO(),
|
|
1263
|
+
image_nature: Joi.string().allow(""),
|
|
1264
|
+
has_variant: Joi.boolean(),
|
|
1265
|
+
item_type: Joi.string().allow(""),
|
|
1266
|
+
description: Joi.string().allow(""),
|
|
1267
|
+
grouped_attributes: Joi.array().items(
|
|
1268
|
+
CatalogApplicationModel.ProductDetailGroupedAttribute()
|
|
1269
|
+
),
|
|
1270
|
+
medias: Joi.array().items(CatalogApplicationModel.Media()),
|
|
1271
|
+
color: Joi.string().allow(""),
|
|
1272
|
+
type: Joi.string().allow(""),
|
|
1273
|
+
product_online_date: Joi.string().allow(""),
|
|
1253
1274
|
_custom_json: Joi.any(),
|
|
1254
|
-
|
|
1255
|
-
logo: CatalogApplicationModel.Media(),
|
|
1275
|
+
item_code: Joi.string().allow(""),
|
|
1256
1276
|
name: Joi.string().allow(""),
|
|
1257
|
-
|
|
1277
|
+
moq: CatalogApplicationModel.ApplicationItemMOQ(),
|
|
1278
|
+
short_description: Joi.string().allow(""),
|
|
1279
|
+
categories: Joi.array().items(CatalogApplicationModel.ProductBrand()),
|
|
1280
|
+
attributes: Joi.any(),
|
|
1281
|
+
discount: Joi.string().allow(""),
|
|
1282
|
+
tryouts: Joi.array().items(Joi.string().allow("")),
|
|
1283
|
+
slug: Joi.string().allow("").required(),
|
|
1284
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1285
|
+
rating: Joi.number(),
|
|
1286
|
+
is_dependent: Joi.boolean(),
|
|
1287
|
+
product_group_tag: Joi.array().items(Joi.string().allow("")),
|
|
1288
|
+
highlights: Joi.array().items(Joi.string().allow("")),
|
|
1289
|
+
price: CatalogApplicationModel.ProductListingPrice(),
|
|
1290
|
+
brand: CatalogApplicationModel.ProductBrand(),
|
|
1291
|
+
department: CatalogApplicationModel.ProductDepartment(),
|
|
1292
|
+
teaser_tag: Joi.string().allow(""),
|
|
1258
1293
|
});
|
|
1259
1294
|
}
|
|
1260
1295
|
|
|
1261
|
-
/** @returns {
|
|
1262
|
-
static
|
|
1296
|
+
/** @returns {ErrorResponse} */
|
|
1297
|
+
static ErrorResponse() {
|
|
1263
1298
|
return Joi.object({
|
|
1264
|
-
|
|
1265
|
-
action: CatalogApplicationModel.ProductListingAction(),
|
|
1266
|
-
banners: CatalogApplicationModel.ImageUrls(),
|
|
1267
|
-
childs: Joi.array().items(CatalogApplicationModel.SecondLevelChild()),
|
|
1268
|
-
name: Joi.string().allow(""),
|
|
1269
|
-
slug: Joi.string().allow(""),
|
|
1270
|
-
uid: Joi.number(),
|
|
1299
|
+
error: Joi.string().allow(""),
|
|
1271
1300
|
});
|
|
1272
1301
|
}
|
|
1273
1302
|
|
|
1274
|
-
/** @returns {
|
|
1275
|
-
static
|
|
1303
|
+
/** @returns {Dimension} */
|
|
1304
|
+
static Dimension() {
|
|
1276
1305
|
return Joi.object({
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
badge: Joi.any(),
|
|
1283
|
-
banners: CatalogApplicationModel.ImageUrls(),
|
|
1284
|
-
cron: Joi.any(),
|
|
1285
|
-
description: Joi.string().allow(""),
|
|
1286
|
-
is_active: Joi.boolean(),
|
|
1287
|
-
logo: CatalogApplicationModel.Media(),
|
|
1288
|
-
meta: Joi.any(),
|
|
1289
|
-
name: Joi.string().allow(""),
|
|
1290
|
-
priority: Joi.number(),
|
|
1291
|
-
query: Joi.array().items(CatalogApplicationModel.CollectionQuery()),
|
|
1292
|
-
slug: Joi.string().allow(""),
|
|
1293
|
-
sort_on: Joi.string().allow(""),
|
|
1294
|
-
tag: Joi.array().items(Joi.string().allow("")),
|
|
1295
|
-
type: Joi.string().allow(""),
|
|
1296
|
-
visible_facets_keys: Joi.array().items(Joi.string().allow("")),
|
|
1306
|
+
unit: Joi.string().allow("").required(),
|
|
1307
|
+
height: Joi.number().required(),
|
|
1308
|
+
length: Joi.number().required(),
|
|
1309
|
+
width: Joi.number().required(),
|
|
1310
|
+
is_default: Joi.boolean().required(),
|
|
1297
1311
|
});
|
|
1298
1312
|
}
|
|
1299
1313
|
|
|
1300
|
-
/** @returns {
|
|
1301
|
-
static
|
|
1314
|
+
/** @returns {Weight} */
|
|
1315
|
+
static Weight() {
|
|
1302
1316
|
return Joi.object({
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
),
|
|
1306
|
-
type: Joi.array().items(
|
|
1307
|
-
CatalogApplicationModel.CollectionListingFilterType()
|
|
1308
|
-
),
|
|
1317
|
+
unit: Joi.string().allow("").required(),
|
|
1318
|
+
shipping: Joi.number().required(),
|
|
1319
|
+
is_default: Joi.boolean().required(),
|
|
1309
1320
|
});
|
|
1310
1321
|
}
|
|
1311
1322
|
|
|
1312
|
-
/** @returns {
|
|
1313
|
-
static
|
|
1323
|
+
/** @returns {DiscountMeta} */
|
|
1324
|
+
static DiscountMeta() {
|
|
1314
1325
|
return Joi.object({
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1326
|
+
timer: Joi.boolean().required(),
|
|
1327
|
+
start_timer_in_minutes: Joi.number(),
|
|
1328
|
+
start: Joi.string().allow(""),
|
|
1329
|
+
end: Joi.string().allow(""),
|
|
1318
1330
|
});
|
|
1319
1331
|
}
|
|
1320
1332
|
|
|
1321
|
-
/** @returns {
|
|
1322
|
-
static
|
|
1333
|
+
/** @returns {ProductSize} */
|
|
1334
|
+
static ProductSize() {
|
|
1323
1335
|
return Joi.object({
|
|
1336
|
+
quantity: Joi.number(),
|
|
1337
|
+
dimension: CatalogApplicationModel.Dimension(),
|
|
1338
|
+
weight: CatalogApplicationModel.Weight(),
|
|
1339
|
+
is_available: Joi.boolean(),
|
|
1340
|
+
seller_identifiers: Joi.array().items(Joi.string().allow("")),
|
|
1341
|
+
value: Joi.string().allow(""),
|
|
1324
1342
|
display: Joi.string().allow(""),
|
|
1325
|
-
is_selected: Joi.boolean(),
|
|
1326
|
-
name: Joi.string().allow(""),
|
|
1327
1343
|
});
|
|
1328
1344
|
}
|
|
1329
1345
|
|
|
1330
|
-
/** @returns {
|
|
1331
|
-
static
|
|
1346
|
+
/** @returns {SizeChartValues} */
|
|
1347
|
+
static SizeChartValues() {
|
|
1332
1348
|
return Joi.object({
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1349
|
+
col_3: Joi.string().allow(""),
|
|
1350
|
+
col_6: Joi.string().allow(""),
|
|
1351
|
+
col_2: Joi.string().allow(""),
|
|
1352
|
+
col_4: Joi.string().allow(""),
|
|
1353
|
+
col_1: Joi.string().allow(""),
|
|
1354
|
+
col_5: Joi.string().allow(""),
|
|
1336
1355
|
});
|
|
1337
1356
|
}
|
|
1338
1357
|
|
|
@@ -1347,1124 +1366,1105 @@ class CatalogApplicationModel {
|
|
|
1347
1366
|
/** @returns {ColumnHeaders} */
|
|
1348
1367
|
static ColumnHeaders() {
|
|
1349
1368
|
return Joi.object({
|
|
1350
|
-
col_1: CatalogApplicationModel.ColumnHeader(),
|
|
1351
|
-
col_2: CatalogApplicationModel.ColumnHeader(),
|
|
1352
1369
|
col_3: CatalogApplicationModel.ColumnHeader(),
|
|
1370
|
+
col_6: CatalogApplicationModel.ColumnHeader(),
|
|
1371
|
+
col_2: CatalogApplicationModel.ColumnHeader(),
|
|
1353
1372
|
col_4: CatalogApplicationModel.ColumnHeader(),
|
|
1373
|
+
col_1: CatalogApplicationModel.ColumnHeader(),
|
|
1354
1374
|
col_5: CatalogApplicationModel.ColumnHeader(),
|
|
1355
|
-
col_6: CatalogApplicationModel.ColumnHeader(),
|
|
1356
1375
|
});
|
|
1357
1376
|
}
|
|
1358
1377
|
|
|
1359
|
-
/** @returns {
|
|
1360
|
-
static
|
|
1378
|
+
/** @returns {SizeChart} */
|
|
1379
|
+
static SizeChart() {
|
|
1361
1380
|
return Joi.object({
|
|
1362
|
-
|
|
1363
|
-
|
|
1381
|
+
unit: Joi.string().allow(""),
|
|
1382
|
+
image: Joi.string().allow(""),
|
|
1383
|
+
size_tip: Joi.string().allow(""),
|
|
1384
|
+
sizes: Joi.array().items(CatalogApplicationModel.SizeChartValues()),
|
|
1385
|
+
description: Joi.string().allow(""),
|
|
1386
|
+
title: Joi.string().allow(""),
|
|
1387
|
+
headers: CatalogApplicationModel.ColumnHeaders(),
|
|
1364
1388
|
});
|
|
1365
1389
|
}
|
|
1366
1390
|
|
|
1367
|
-
/** @returns {
|
|
1368
|
-
static
|
|
1391
|
+
/** @returns {ProductSizeStores} */
|
|
1392
|
+
static ProductSizeStores() {
|
|
1369
1393
|
return Joi.object({
|
|
1370
|
-
|
|
1371
|
-
company_type: Joi.string().allow(""),
|
|
1372
|
-
name: Joi.string().allow(""),
|
|
1373
|
-
uid: Joi.number(),
|
|
1394
|
+
count: Joi.number(),
|
|
1374
1395
|
});
|
|
1375
1396
|
}
|
|
1376
1397
|
|
|
1377
|
-
/** @returns {
|
|
1378
|
-
static
|
|
1398
|
+
/** @returns {ProductSizes} */
|
|
1399
|
+
static ProductSizes() {
|
|
1379
1400
|
return Joi.object({
|
|
1380
|
-
|
|
1381
|
-
|
|
1401
|
+
sizes: Joi.array().items(CatalogApplicationModel.ProductSize()),
|
|
1402
|
+
price: CatalogApplicationModel.ProductSizesPrice(),
|
|
1403
|
+
size_chart: CatalogApplicationModel.SizeChart(),
|
|
1404
|
+
sellable: Joi.boolean(),
|
|
1405
|
+
multi_size: Joi.boolean(),
|
|
1406
|
+
discount: Joi.string().allow(""),
|
|
1407
|
+
stores: CatalogApplicationModel.ProductSizeStores(),
|
|
1408
|
+
discount_meta: CatalogApplicationModel.DiscountMeta(),
|
|
1382
1409
|
});
|
|
1383
1410
|
}
|
|
1384
1411
|
|
|
1385
|
-
/** @returns {
|
|
1386
|
-
static
|
|
1412
|
+
/** @returns {AttributeDetail} */
|
|
1413
|
+
static AttributeDetail() {
|
|
1387
1414
|
return Joi.object({
|
|
1388
|
-
logo:
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
uid: Joi.number(),
|
|
1415
|
+
logo: Joi.string().allow(""),
|
|
1416
|
+
description: Joi.string().allow(""),
|
|
1417
|
+
display: Joi.string().allow(""),
|
|
1418
|
+
key: Joi.string().allow(""),
|
|
1393
1419
|
});
|
|
1394
1420
|
}
|
|
1395
1421
|
|
|
1396
|
-
/** @returns {
|
|
1397
|
-
static
|
|
1422
|
+
/** @returns {AttributeMetadata} */
|
|
1423
|
+
static AttributeMetadata() {
|
|
1398
1424
|
return Joi.object({
|
|
1399
|
-
|
|
1400
|
-
|
|
1425
|
+
title: Joi.string().allow(""),
|
|
1426
|
+
details: Joi.array().items(CatalogApplicationModel.AttributeDetail()),
|
|
1401
1427
|
});
|
|
1402
1428
|
}
|
|
1403
1429
|
|
|
1404
|
-
/** @returns {
|
|
1405
|
-
static
|
|
1430
|
+
/** @returns {ProductsComparisonResponse} */
|
|
1431
|
+
static ProductsComparisonResponse() {
|
|
1406
1432
|
return Joi.object({
|
|
1407
|
-
|
|
1408
|
-
|
|
1433
|
+
items: Joi.array().items(CatalogApplicationModel.ProductDetail()),
|
|
1434
|
+
attributes_metadata: Joi.array().items(
|
|
1435
|
+
CatalogApplicationModel.AttributeMetadata()
|
|
1436
|
+
),
|
|
1409
1437
|
});
|
|
1410
1438
|
}
|
|
1411
1439
|
|
|
1412
|
-
/** @returns {
|
|
1413
|
-
static
|
|
1440
|
+
/** @returns {ProductCompareResponse} */
|
|
1441
|
+
static ProductCompareResponse() {
|
|
1414
1442
|
return Joi.object({
|
|
1415
|
-
|
|
1443
|
+
title: Joi.string().allow(""),
|
|
1444
|
+
items: Joi.array().items(CatalogApplicationModel.ProductDetail()),
|
|
1445
|
+
attributes_metadata: Joi.array().items(
|
|
1446
|
+
CatalogApplicationModel.AttributeMetadata()
|
|
1447
|
+
),
|
|
1448
|
+
subtitle: Joi.string().allow(""),
|
|
1416
1449
|
});
|
|
1417
1450
|
}
|
|
1418
1451
|
|
|
1419
|
-
/** @returns {
|
|
1420
|
-
static
|
|
1452
|
+
/** @returns {ProductFrequentlyComparedSimilarResponse} */
|
|
1453
|
+
static ProductFrequentlyComparedSimilarResponse() {
|
|
1421
1454
|
return Joi.object({
|
|
1422
|
-
|
|
1423
|
-
type: Joi.string().allow(""),
|
|
1424
|
-
value: Joi.string().allow(""),
|
|
1455
|
+
similars: CatalogApplicationModel.ProductCompareResponse(),
|
|
1425
1456
|
});
|
|
1426
1457
|
}
|
|
1427
1458
|
|
|
1428
|
-
/** @returns {
|
|
1429
|
-
static
|
|
1459
|
+
/** @returns {ProductVariantItemResponse} */
|
|
1460
|
+
static ProductVariantItemResponse() {
|
|
1430
1461
|
return Joi.object({
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1462
|
+
uid: Joi.number(),
|
|
1463
|
+
color_name: Joi.string().allow(""),
|
|
1464
|
+
color: Joi.string().allow(""),
|
|
1465
|
+
medias: Joi.array().items(CatalogApplicationModel.Media()),
|
|
1466
|
+
is_available: Joi.boolean(),
|
|
1467
|
+
_custom_meta: Joi.array().items(
|
|
1468
|
+
CatalogApplicationModel.CustomMetaFields()
|
|
1469
|
+
),
|
|
1470
|
+
name: Joi.string().allow(""),
|
|
1471
|
+
value: Joi.string().allow(""),
|
|
1472
|
+
slug: Joi.string().allow(""),
|
|
1473
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1436
1474
|
});
|
|
1437
1475
|
}
|
|
1438
1476
|
|
|
1439
|
-
/** @returns {
|
|
1440
|
-
static
|
|
1477
|
+
/** @returns {ProductVariantResponse} */
|
|
1478
|
+
static ProductVariantResponse() {
|
|
1441
1479
|
return Joi.object({
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1480
|
+
display_type: Joi.string().allow(""),
|
|
1481
|
+
header: Joi.string().allow(""),
|
|
1482
|
+
items: Joi.array().items(
|
|
1483
|
+
CatalogApplicationModel.ProductVariantItemResponse()
|
|
1484
|
+
),
|
|
1485
|
+
key: Joi.string().allow(""),
|
|
1446
1486
|
});
|
|
1447
1487
|
}
|
|
1448
1488
|
|
|
1449
|
-
/** @returns {
|
|
1450
|
-
static
|
|
1489
|
+
/** @returns {ProductVariantsResponse} */
|
|
1490
|
+
static ProductVariantsResponse() {
|
|
1451
1491
|
return Joi.object({
|
|
1452
|
-
|
|
1492
|
+
variants: Joi.array().items(
|
|
1493
|
+
CatalogApplicationModel.ProductVariantResponse()
|
|
1494
|
+
),
|
|
1453
1495
|
});
|
|
1454
1496
|
}
|
|
1455
1497
|
|
|
1456
|
-
/** @returns {
|
|
1457
|
-
static
|
|
1498
|
+
/** @returns {StoreDetail} */
|
|
1499
|
+
static StoreDetail() {
|
|
1458
1500
|
return Joi.object({
|
|
1459
|
-
|
|
1501
|
+
name: Joi.string().allow(""),
|
|
1502
|
+
city: Joi.string().allow(""),
|
|
1503
|
+
id: Joi.number(),
|
|
1504
|
+
code: Joi.string().allow(""),
|
|
1460
1505
|
});
|
|
1461
1506
|
}
|
|
1462
1507
|
|
|
1463
|
-
/** @returns {
|
|
1464
|
-
static
|
|
1508
|
+
/** @returns {ProductStockPrice} */
|
|
1509
|
+
static ProductStockPrice() {
|
|
1465
1510
|
return Joi.object({
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1511
|
+
effective: Joi.number(),
|
|
1512
|
+
currency: Joi.string().allow(""),
|
|
1513
|
+
marked: Joi.number(),
|
|
1469
1514
|
});
|
|
1470
1515
|
}
|
|
1471
1516
|
|
|
1472
|
-
/** @returns {
|
|
1473
|
-
static
|
|
1517
|
+
/** @returns {CompanyDetail} */
|
|
1518
|
+
static CompanyDetail() {
|
|
1474
1519
|
return Joi.object({
|
|
1475
|
-
|
|
1520
|
+
name: Joi.string().allow(""),
|
|
1521
|
+
id: Joi.number(),
|
|
1476
1522
|
});
|
|
1477
1523
|
}
|
|
1478
1524
|
|
|
1479
|
-
/** @returns {
|
|
1480
|
-
static
|
|
1525
|
+
/** @returns {Seller} */
|
|
1526
|
+
static Seller() {
|
|
1481
1527
|
return Joi.object({
|
|
1482
|
-
|
|
1483
|
-
|
|
1528
|
+
uid: Joi.number(),
|
|
1529
|
+
name: Joi.string().allow(""),
|
|
1530
|
+
count: Joi.number(),
|
|
1484
1531
|
});
|
|
1485
1532
|
}
|
|
1486
1533
|
|
|
1487
|
-
/** @returns {
|
|
1488
|
-
static
|
|
1534
|
+
/** @returns {ProductStockStatusItem} */
|
|
1535
|
+
static ProductStockStatusItem() {
|
|
1489
1536
|
return Joi.object({
|
|
1490
|
-
_custom_json: Joi.any(),
|
|
1491
|
-
_schedule: Joi.any(),
|
|
1492
|
-
action: CatalogApplicationModel.ProductListingAction(),
|
|
1493
|
-
allow_facets: Joi.boolean(),
|
|
1494
|
-
allow_sort: Joi.boolean(),
|
|
1495
|
-
app_id: Joi.string().allow(""),
|
|
1496
|
-
badge: Joi.any(),
|
|
1497
|
-
banners: CatalogApplicationModel.ImageUrls(),
|
|
1498
|
-
cron: Joi.any(),
|
|
1499
|
-
description: Joi.string().allow(""),
|
|
1500
|
-
is_active: Joi.boolean(),
|
|
1501
|
-
logo: CatalogApplicationModel.Media(),
|
|
1502
|
-
meta: Joi.any(),
|
|
1503
|
-
name: Joi.string().allow(""),
|
|
1504
|
-
priority: Joi.number(),
|
|
1505
|
-
query: Joi.array().items(CatalogApplicationModel.CollectionQuery()),
|
|
1506
|
-
slug: Joi.string().allow(""),
|
|
1507
|
-
sort_on: Joi.string().allow(""),
|
|
1508
|
-
tags: Joi.array().items(Joi.string().allow("")),
|
|
1509
|
-
type: Joi.string().allow(""),
|
|
1510
1537
|
uid: Joi.string().allow(""),
|
|
1511
|
-
|
|
1538
|
+
quantity: Joi.number(),
|
|
1539
|
+
store: CatalogApplicationModel.StoreDetail(),
|
|
1540
|
+
size: Joi.string().allow(""),
|
|
1541
|
+
price: CatalogApplicationModel.ProductStockPrice(),
|
|
1542
|
+
company: CatalogApplicationModel.CompanyDetail(),
|
|
1543
|
+
item_id: Joi.number(),
|
|
1544
|
+
seller: CatalogApplicationModel.Seller(),
|
|
1545
|
+
identifier: Joi.any(),
|
|
1512
1546
|
});
|
|
1513
1547
|
}
|
|
1514
1548
|
|
|
1515
|
-
/** @returns {
|
|
1516
|
-
static
|
|
1549
|
+
/** @returns {ProductStockStatusResponse} */
|
|
1550
|
+
static ProductStockStatusResponse() {
|
|
1517
1551
|
return Joi.object({
|
|
1518
|
-
filters: CatalogApplicationModel.CollectionListingFilter(),
|
|
1519
1552
|
items: Joi.array().items(
|
|
1520
|
-
CatalogApplicationModel.
|
|
1553
|
+
CatalogApplicationModel.ProductStockStatusItem()
|
|
1521
1554
|
),
|
|
1522
|
-
page: CatalogApplicationModel.Page().required(),
|
|
1523
1555
|
});
|
|
1524
1556
|
}
|
|
1525
1557
|
|
|
1526
|
-
/** @returns {
|
|
1527
|
-
static
|
|
1558
|
+
/** @returns {Page} */
|
|
1559
|
+
static Page() {
|
|
1528
1560
|
return Joi.object({
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1561
|
+
item_total: Joi.number(),
|
|
1562
|
+
next_id: Joi.string().allow(""),
|
|
1563
|
+
has_previous: Joi.boolean(),
|
|
1564
|
+
has_next: Joi.boolean(),
|
|
1565
|
+
current: Joi.number(),
|
|
1566
|
+
type: Joi.string().allow("").required(),
|
|
1567
|
+
size: Joi.number(),
|
|
1533
1568
|
});
|
|
1534
1569
|
}
|
|
1535
1570
|
|
|
1536
|
-
/** @returns {
|
|
1537
|
-
static
|
|
1571
|
+
/** @returns {ProductStockPolling} */
|
|
1572
|
+
static ProductStockPolling() {
|
|
1538
1573
|
return Joi.object({
|
|
1539
|
-
items: Joi.array().items(
|
|
1540
|
-
|
|
1574
|
+
items: Joi.array().items(
|
|
1575
|
+
CatalogApplicationModel.ProductStockStatusItem()
|
|
1576
|
+
),
|
|
1541
1577
|
page: CatalogApplicationModel.Page().required(),
|
|
1542
1578
|
});
|
|
1543
1579
|
}
|
|
1544
1580
|
|
|
1545
|
-
/** @returns {
|
|
1546
|
-
static
|
|
1581
|
+
/** @returns {ProductVariantListingResponse} */
|
|
1582
|
+
static ProductVariantListingResponse() {
|
|
1547
1583
|
return Joi.object({
|
|
1548
|
-
|
|
1549
|
-
|
|
1584
|
+
header: Joi.string().allow(""),
|
|
1585
|
+
items: Joi.array().items(
|
|
1586
|
+
CatalogApplicationModel.ProductVariantItemResponse()
|
|
1587
|
+
),
|
|
1588
|
+
total: Joi.number(),
|
|
1589
|
+
key: Joi.string().allow(""),
|
|
1590
|
+
display_type: Joi.string().allow(""),
|
|
1550
1591
|
});
|
|
1551
1592
|
}
|
|
1552
1593
|
|
|
1553
|
-
/** @returns {
|
|
1554
|
-
static
|
|
1594
|
+
/** @returns {ProductListingDetail} */
|
|
1595
|
+
static ProductListingDetail() {
|
|
1555
1596
|
return Joi.object({
|
|
1556
|
-
|
|
1597
|
+
uid: Joi.number(),
|
|
1598
|
+
custom_order: CatalogApplicationModel.ProductDetailCustomOrder(),
|
|
1599
|
+
sizes: Joi.array().items(Joi.string().allow("")),
|
|
1600
|
+
category_map: CatalogApplicationModel.ProductCategoryMap(),
|
|
1601
|
+
net_quantity: CatalogApplicationModel.NetQuantity(),
|
|
1602
|
+
rating_count: Joi.number(),
|
|
1603
|
+
_custom_meta: Joi.array().items(
|
|
1604
|
+
CatalogApplicationModel.CustomMetaFields()
|
|
1605
|
+
),
|
|
1606
|
+
similars: Joi.array().items(Joi.string().allow("")),
|
|
1607
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
1608
|
+
seo: CatalogApplicationModel.ApplicationItemSEO(),
|
|
1609
|
+
image_nature: Joi.string().allow(""),
|
|
1610
|
+
has_variant: Joi.boolean(),
|
|
1611
|
+
item_type: Joi.string().allow(""),
|
|
1612
|
+
description: Joi.string().allow(""),
|
|
1613
|
+
grouped_attributes: Joi.array().items(
|
|
1614
|
+
CatalogApplicationModel.ProductDetailGroupedAttribute()
|
|
1615
|
+
),
|
|
1616
|
+
medias: Joi.array().items(CatalogApplicationModel.Media()),
|
|
1617
|
+
color: Joi.string().allow(""),
|
|
1557
1618
|
type: Joi.string().allow(""),
|
|
1619
|
+
product_online_date: Joi.string().allow(""),
|
|
1620
|
+
_custom_json: Joi.any(),
|
|
1621
|
+
item_code: Joi.string().allow(""),
|
|
1622
|
+
name: Joi.string().allow(""),
|
|
1623
|
+
moq: CatalogApplicationModel.ApplicationItemMOQ(),
|
|
1624
|
+
short_description: Joi.string().allow(""),
|
|
1625
|
+
categories: Joi.array().items(CatalogApplicationModel.ProductBrand()),
|
|
1626
|
+
sellable: Joi.boolean(),
|
|
1627
|
+
attributes: Joi.any(),
|
|
1628
|
+
variants: Joi.array().items(
|
|
1629
|
+
CatalogApplicationModel.ProductVariantListingResponse()
|
|
1630
|
+
),
|
|
1631
|
+
discount: Joi.string().allow(""),
|
|
1632
|
+
tryouts: Joi.array().items(Joi.string().allow("")),
|
|
1633
|
+
identifiers: Joi.array().items(Joi.string().allow("")),
|
|
1634
|
+
slug: Joi.string().allow("").required(),
|
|
1635
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1636
|
+
rating: Joi.number(),
|
|
1637
|
+
is_dependent: Joi.boolean(),
|
|
1638
|
+
product_group_tag: Joi.array().items(Joi.string().allow("")),
|
|
1639
|
+
highlights: Joi.array().items(Joi.string().allow("")),
|
|
1640
|
+
price: CatalogApplicationModel.ProductListingPrice(),
|
|
1641
|
+
brand: CatalogApplicationModel.ProductBrand(),
|
|
1642
|
+
teaser_tag: Joi.string().allow(""),
|
|
1558
1643
|
});
|
|
1559
1644
|
}
|
|
1560
1645
|
|
|
1561
|
-
/** @returns {
|
|
1562
|
-
static
|
|
1646
|
+
/** @returns {ProductFiltersValue} */
|
|
1647
|
+
static ProductFiltersValue() {
|
|
1563
1648
|
return Joi.object({
|
|
1564
|
-
|
|
1565
|
-
|
|
1649
|
+
min: Joi.number(),
|
|
1650
|
+
display_format: Joi.string().allow(""),
|
|
1651
|
+
selected_max: Joi.number(),
|
|
1652
|
+
value: Joi.string().allow(""),
|
|
1653
|
+
query_format: Joi.string().allow(""),
|
|
1654
|
+
currency_symbol: Joi.string().allow(""),
|
|
1655
|
+
selected_min: Joi.number(),
|
|
1656
|
+
currency_code: Joi.string().allow(""),
|
|
1657
|
+
is_selected: Joi.boolean().required(),
|
|
1658
|
+
display: Joi.string().allow("").required(),
|
|
1659
|
+
count: Joi.number(),
|
|
1660
|
+
max: Joi.number(),
|
|
1566
1661
|
});
|
|
1567
1662
|
}
|
|
1568
1663
|
|
|
1569
|
-
/** @returns {
|
|
1570
|
-
static
|
|
1664
|
+
/** @returns {ProductFiltersKey} */
|
|
1665
|
+
static ProductFiltersKey() {
|
|
1571
1666
|
return Joi.object({
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1667
|
+
logo: Joi.string().allow(""),
|
|
1668
|
+
name: Joi.string().allow("").required(),
|
|
1669
|
+
kind: Joi.string().allow(""),
|
|
1670
|
+
display: Joi.string().allow("").required(),
|
|
1576
1671
|
});
|
|
1577
1672
|
}
|
|
1578
1673
|
|
|
1579
|
-
/** @returns {
|
|
1580
|
-
static
|
|
1674
|
+
/** @returns {ProductFilters} */
|
|
1675
|
+
static ProductFilters() {
|
|
1581
1676
|
return Joi.object({
|
|
1582
|
-
|
|
1677
|
+
values: Joi.array()
|
|
1678
|
+
.items(CatalogApplicationModel.ProductFiltersValue())
|
|
1679
|
+
.required(),
|
|
1680
|
+
key: CatalogApplicationModel.ProductFiltersKey().required(),
|
|
1583
1681
|
});
|
|
1584
1682
|
}
|
|
1585
1683
|
|
|
1586
|
-
/** @returns {
|
|
1587
|
-
static
|
|
1684
|
+
/** @returns {ProductSortOn} */
|
|
1685
|
+
static ProductSortOn() {
|
|
1588
1686
|
return Joi.object({
|
|
1589
|
-
|
|
1590
|
-
|
|
1687
|
+
logo: Joi.string().allow(""),
|
|
1688
|
+
is_selected: Joi.boolean(),
|
|
1689
|
+
name: Joi.string().allow(""),
|
|
1690
|
+
value: Joi.string().allow(""),
|
|
1691
|
+
display: Joi.string().allow(""),
|
|
1591
1692
|
});
|
|
1592
1693
|
}
|
|
1593
1694
|
|
|
1594
|
-
/** @returns {
|
|
1595
|
-
static
|
|
1695
|
+
/** @returns {ProductListingResponse} */
|
|
1696
|
+
static ProductListingResponse() {
|
|
1596
1697
|
return Joi.object({
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
next_id: Joi.string().allow(""),
|
|
1602
|
-
size: Joi.number(),
|
|
1603
|
-
type: Joi.string().allow("").required(),
|
|
1698
|
+
items: Joi.array().items(CatalogApplicationModel.ProductListingDetail()),
|
|
1699
|
+
filters: Joi.array().items(CatalogApplicationModel.ProductFilters()),
|
|
1700
|
+
page: CatalogApplicationModel.Page().required(),
|
|
1701
|
+
sort_on: Joi.array().items(CatalogApplicationModel.ProductSortOn()),
|
|
1604
1702
|
});
|
|
1605
1703
|
}
|
|
1606
1704
|
|
|
1607
|
-
/** @returns {
|
|
1608
|
-
static
|
|
1705
|
+
/** @returns {ImageUrls} */
|
|
1706
|
+
static ImageUrls() {
|
|
1609
1707
|
return Joi.object({
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
max: Joi.number(),
|
|
1613
|
-
min: Joi.number(),
|
|
1708
|
+
portrait: CatalogApplicationModel.Media(),
|
|
1709
|
+
landscape: CatalogApplicationModel.Media(),
|
|
1614
1710
|
});
|
|
1615
1711
|
}
|
|
1616
1712
|
|
|
1617
|
-
/** @returns {
|
|
1618
|
-
static
|
|
1713
|
+
/** @returns {BrandItem} */
|
|
1714
|
+
static BrandItem() {
|
|
1619
1715
|
return Joi.object({
|
|
1620
|
-
|
|
1621
|
-
description: Joi.string().allow(""),
|
|
1716
|
+
uid: Joi.number(),
|
|
1622
1717
|
logo: CatalogApplicationModel.Media(),
|
|
1718
|
+
description: Joi.string().allow(""),
|
|
1719
|
+
banners: CatalogApplicationModel.ImageUrls(),
|
|
1720
|
+
departments: Joi.array().items(Joi.string().allow("")),
|
|
1721
|
+
discount: Joi.string().allow(""),
|
|
1623
1722
|
name: Joi.string().allow(""),
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
}
|
|
1627
|
-
|
|
1628
|
-
/** @returns {ProductBundle} */
|
|
1629
|
-
static ProductBundle() {
|
|
1630
|
-
return Joi.object({
|
|
1631
|
-
items: Joi.array().items(CatalogApplicationModel.ProductGroupingModel()),
|
|
1632
|
-
});
|
|
1633
|
-
}
|
|
1634
|
-
|
|
1635
|
-
/** @returns {ProductCategoryMap} */
|
|
1636
|
-
static ProductCategoryMap() {
|
|
1637
|
-
return Joi.object({
|
|
1638
|
-
l1: CatalogApplicationModel.ProductBrand(),
|
|
1639
|
-
l2: CatalogApplicationModel.ProductBrand(),
|
|
1640
|
-
l3: CatalogApplicationModel.ProductBrand(),
|
|
1723
|
+
slug: Joi.string().allow(""),
|
|
1724
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1641
1725
|
});
|
|
1642
1726
|
}
|
|
1643
1727
|
|
|
1644
|
-
/** @returns {
|
|
1645
|
-
static
|
|
1646
|
-
return Joi.object({
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
),
|
|
1650
|
-
items: Joi.array().items(CatalogApplicationModel.ProductDetail()),
|
|
1651
|
-
subtitle: Joi.string().allow(""),
|
|
1652
|
-
title: Joi.string().allow(""),
|
|
1728
|
+
/** @returns {BrandListingResponse} */
|
|
1729
|
+
static BrandListingResponse() {
|
|
1730
|
+
return Joi.object({
|
|
1731
|
+
items: Joi.array().items(CatalogApplicationModel.BrandItem()),
|
|
1732
|
+
page: CatalogApplicationModel.Page().required(),
|
|
1653
1733
|
});
|
|
1654
1734
|
}
|
|
1655
1735
|
|
|
1656
|
-
/** @returns {
|
|
1657
|
-
static
|
|
1736
|
+
/** @returns {BrandDetailResponse} */
|
|
1737
|
+
static BrandDetailResponse() {
|
|
1658
1738
|
return Joi.object({
|
|
1659
1739
|
logo: CatalogApplicationModel.Media(),
|
|
1660
|
-
name: Joi.string().allow(""),
|
|
1661
|
-
slug: Joi.string().allow(""),
|
|
1662
1740
|
uid: Joi.number(),
|
|
1741
|
+
description: Joi.string().allow(""),
|
|
1742
|
+
banners: CatalogApplicationModel.ImageUrls(),
|
|
1743
|
+
_custom_json: Joi.any(),
|
|
1744
|
+
name: Joi.string().allow(""),
|
|
1663
1745
|
});
|
|
1664
1746
|
}
|
|
1665
1747
|
|
|
1666
|
-
/** @returns {
|
|
1667
|
-
static
|
|
1748
|
+
/** @returns {CategoryBanner} */
|
|
1749
|
+
static CategoryBanner() {
|
|
1750
|
+
return Joi.object({
|
|
1751
|
+
portrait: CatalogApplicationModel.Media().required(),
|
|
1752
|
+
landscape: CatalogApplicationModel.Media().required(),
|
|
1753
|
+
});
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
/** @returns {ThirdLevelChild} */
|
|
1757
|
+
static ThirdLevelChild() {
|
|
1668
1758
|
return Joi.object({
|
|
1759
|
+
uid: Joi.number(),
|
|
1760
|
+
banners: CatalogApplicationModel.ImageUrls(),
|
|
1761
|
+
childs: Joi.array().items(Joi.any()),
|
|
1669
1762
|
_custom_json: Joi.any(),
|
|
1670
|
-
_custom_meta: Joi.array().items(
|
|
1671
|
-
CatalogApplicationModel.CustomMetaFields()
|
|
1672
|
-
),
|
|
1673
|
-
action: CatalogApplicationModel.ProductListingAction(),
|
|
1674
|
-
attributes: Joi.any(),
|
|
1675
|
-
brand: CatalogApplicationModel.ProductBrand(),
|
|
1676
|
-
categories: Joi.array().items(CatalogApplicationModel.ProductBrand()),
|
|
1677
|
-
category_map: CatalogApplicationModel.ProductCategoryMap(),
|
|
1678
|
-
color: Joi.string().allow(""),
|
|
1679
|
-
custom_order: CatalogApplicationModel.ProductDetailCustomOrder(),
|
|
1680
|
-
department: CatalogApplicationModel.ProductDepartment(),
|
|
1681
|
-
description: Joi.string().allow(""),
|
|
1682
|
-
discount: Joi.string().allow(""),
|
|
1683
|
-
grouped_attributes: Joi.array().items(
|
|
1684
|
-
CatalogApplicationModel.ProductDetailGroupedAttribute()
|
|
1685
|
-
),
|
|
1686
|
-
has_variant: Joi.boolean(),
|
|
1687
|
-
highlights: Joi.array().items(Joi.string().allow("")),
|
|
1688
|
-
image_nature: Joi.string().allow(""),
|
|
1689
|
-
is_dependent: Joi.boolean(),
|
|
1690
|
-
item_code: Joi.string().allow(""),
|
|
1691
|
-
item_type: Joi.string().allow(""),
|
|
1692
|
-
medias: Joi.array().items(CatalogApplicationModel.Media()),
|
|
1693
|
-
moq: CatalogApplicationModel.ApplicationItemMOQ(),
|
|
1694
1763
|
name: Joi.string().allow(""),
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
product_group_tag: Joi.array().items(Joi.string().allow("")),
|
|
1698
|
-
product_online_date: Joi.string().allow(""),
|
|
1699
|
-
rating: Joi.number(),
|
|
1700
|
-
rating_count: Joi.number(),
|
|
1701
|
-
seo: CatalogApplicationModel.ApplicationItemSEO(),
|
|
1702
|
-
short_description: Joi.string().allow(""),
|
|
1703
|
-
similars: Joi.array().items(Joi.string().allow("")),
|
|
1704
|
-
slug: Joi.string().allow("").required(),
|
|
1705
|
-
tags: Joi.array().items(Joi.string().allow("")),
|
|
1706
|
-
teaser_tag: Joi.string().allow(""),
|
|
1707
|
-
tryouts: Joi.array().items(Joi.string().allow("")),
|
|
1708
|
-
type: Joi.string().allow(""),
|
|
1709
|
-
uid: Joi.number(),
|
|
1764
|
+
slug: Joi.string().allow(""),
|
|
1765
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1710
1766
|
});
|
|
1711
1767
|
}
|
|
1712
1768
|
|
|
1713
|
-
/** @returns {
|
|
1714
|
-
static
|
|
1769
|
+
/** @returns {SecondLevelChild} */
|
|
1770
|
+
static SecondLevelChild() {
|
|
1715
1771
|
return Joi.object({
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1772
|
+
uid: Joi.number(),
|
|
1773
|
+
banners: CatalogApplicationModel.ImageUrls(),
|
|
1774
|
+
childs: Joi.array().items(CatalogApplicationModel.ThirdLevelChild()),
|
|
1775
|
+
_custom_json: Joi.any(),
|
|
1776
|
+
name: Joi.string().allow(""),
|
|
1777
|
+
slug: Joi.string().allow(""),
|
|
1778
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1719
1779
|
});
|
|
1720
1780
|
}
|
|
1721
1781
|
|
|
1722
|
-
/** @returns {
|
|
1723
|
-
static
|
|
1782
|
+
/** @returns {Child} */
|
|
1783
|
+
static Child() {
|
|
1724
1784
|
return Joi.object({
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1785
|
+
uid: Joi.number(),
|
|
1786
|
+
banners: CatalogApplicationModel.ImageUrls(),
|
|
1787
|
+
childs: Joi.array().items(CatalogApplicationModel.SecondLevelChild()),
|
|
1788
|
+
_custom_json: Joi.any(),
|
|
1789
|
+
name: Joi.string().allow(""),
|
|
1790
|
+
slug: Joi.string().allow(""),
|
|
1791
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1728
1792
|
});
|
|
1729
1793
|
}
|
|
1730
1794
|
|
|
1731
|
-
/** @returns {
|
|
1732
|
-
static
|
|
1795
|
+
/** @returns {CategoryItems} */
|
|
1796
|
+
static CategoryItems() {
|
|
1733
1797
|
return Joi.object({
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
),
|
|
1737
|
-
|
|
1798
|
+
uid: Joi.number().required(),
|
|
1799
|
+
banners: CatalogApplicationModel.CategoryBanner().required(),
|
|
1800
|
+
childs: Joi.array().items(CatalogApplicationModel.Child()),
|
|
1801
|
+
name: Joi.string().allow("").required(),
|
|
1802
|
+
slug: Joi.string().allow("").required(),
|
|
1803
|
+
action: CatalogApplicationModel.ProductListingAction().required(),
|
|
1738
1804
|
});
|
|
1739
1805
|
}
|
|
1740
1806
|
|
|
1741
|
-
/** @returns {
|
|
1742
|
-
static
|
|
1807
|
+
/** @returns {DepartmentCategoryTree} */
|
|
1808
|
+
static DepartmentCategoryTree() {
|
|
1743
1809
|
return Joi.object({
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
country_of_origin: Joi.any(),
|
|
1747
|
-
description: Joi.any(),
|
|
1748
|
-
grouped_attributes: Joi.any(),
|
|
1749
|
-
has_variant: Joi.boolean(),
|
|
1750
|
-
highlights: Joi.array().items(Joi.any()),
|
|
1751
|
-
hsn_code: Joi.number(),
|
|
1752
|
-
identifier: Joi.any(),
|
|
1753
|
-
image_nature: Joi.any(),
|
|
1754
|
-
images: Joi.array().items(Joi.any()),
|
|
1755
|
-
is_set: Joi.boolean(),
|
|
1756
|
-
item_code: Joi.any(),
|
|
1757
|
-
media: Joi.array().items(Joi.any()),
|
|
1758
|
-
name: Joi.any(),
|
|
1759
|
-
out_of_stock: Joi.boolean(),
|
|
1760
|
-
rating: Joi.number(),
|
|
1761
|
-
rating_count: Joi.number(),
|
|
1762
|
-
short_description: Joi.any(),
|
|
1763
|
-
slug: Joi.any(),
|
|
1764
|
-
template_tag: Joi.any(),
|
|
1810
|
+
items: Joi.array().items(CatalogApplicationModel.CategoryItems()),
|
|
1811
|
+
department: Joi.string().allow("").required(),
|
|
1765
1812
|
});
|
|
1766
1813
|
}
|
|
1767
1814
|
|
|
1768
|
-
/** @returns {
|
|
1769
|
-
static
|
|
1815
|
+
/** @returns {DepartmentIdentifier} */
|
|
1816
|
+
static DepartmentIdentifier() {
|
|
1770
1817
|
return Joi.object({
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
.items(CatalogApplicationModel.ProductFiltersValue())
|
|
1774
|
-
.required(),
|
|
1818
|
+
uid: Joi.number(),
|
|
1819
|
+
slug: Joi.string().allow(""),
|
|
1775
1820
|
});
|
|
1776
1821
|
}
|
|
1777
1822
|
|
|
1778
|
-
/** @returns {
|
|
1779
|
-
static
|
|
1823
|
+
/** @returns {CategoryListingResponse} */
|
|
1824
|
+
static CategoryListingResponse() {
|
|
1780
1825
|
return Joi.object({
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1826
|
+
data: Joi.array().items(CatalogApplicationModel.DepartmentCategoryTree()),
|
|
1827
|
+
departments: Joi.array().items(
|
|
1828
|
+
CatalogApplicationModel.DepartmentIdentifier()
|
|
1829
|
+
),
|
|
1785
1830
|
});
|
|
1786
1831
|
}
|
|
1787
1832
|
|
|
1788
|
-
/** @returns {
|
|
1789
|
-
static
|
|
1833
|
+
/** @returns {CategoryMetaResponse} */
|
|
1834
|
+
static CategoryMetaResponse() {
|
|
1790
1835
|
return Joi.object({
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
is_selected: Joi.boolean().required(),
|
|
1797
|
-
max: Joi.number(),
|
|
1798
|
-
min: Joi.number(),
|
|
1799
|
-
query_format: Joi.string().allow(""),
|
|
1800
|
-
selected_max: Joi.number(),
|
|
1801
|
-
selected_min: Joi.number(),
|
|
1802
|
-
value: Joi.string().allow(""),
|
|
1836
|
+
logo: CatalogApplicationModel.Media(),
|
|
1837
|
+
uid: Joi.number(),
|
|
1838
|
+
banners: CatalogApplicationModel.ImageUrls(),
|
|
1839
|
+
_custom_json: Joi.any(),
|
|
1840
|
+
name: Joi.string().allow(""),
|
|
1803
1841
|
});
|
|
1804
1842
|
}
|
|
1805
1843
|
|
|
1806
|
-
/** @returns {
|
|
1807
|
-
static
|
|
1844
|
+
/** @returns {HomeListingResponse} */
|
|
1845
|
+
static HomeListingResponse() {
|
|
1808
1846
|
return Joi.object({
|
|
1809
|
-
|
|
1847
|
+
items: Joi.array().items(CatalogApplicationModel.ProductListingDetail()),
|
|
1848
|
+
page: CatalogApplicationModel.Page().required(),
|
|
1849
|
+
message: Joi.string().allow(""),
|
|
1810
1850
|
});
|
|
1811
1851
|
}
|
|
1812
1852
|
|
|
1813
|
-
/** @returns {
|
|
1814
|
-
static
|
|
1853
|
+
/** @returns {Department} */
|
|
1854
|
+
static Department() {
|
|
1815
1855
|
return Joi.object({
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
is_active: Joi.boolean(),
|
|
1822
|
-
logo: Joi.string().allow("").allow(null),
|
|
1823
|
-
meta: Joi.any(),
|
|
1824
|
-
modified_by: CatalogApplicationModel.UserDetail(),
|
|
1825
|
-
modified_on: Joi.string().allow("").required(),
|
|
1826
|
-
name: Joi.any().required(),
|
|
1827
|
-
page_visibility: Joi.array().items(Joi.any()),
|
|
1828
|
-
products: Joi.array()
|
|
1829
|
-
.items(CatalogApplicationModel.ProductInGroup())
|
|
1830
|
-
.required(),
|
|
1831
|
-
same_store_assignment: Joi.boolean(),
|
|
1832
|
-
slug: Joi.any(),
|
|
1833
|
-
verified_by: CatalogApplicationModel.UserDetail(),
|
|
1834
|
-
verified_on: Joi.string().allow(""),
|
|
1856
|
+
uid: Joi.number(),
|
|
1857
|
+
logo: CatalogApplicationModel.Media(),
|
|
1858
|
+
priority_order: Joi.number(),
|
|
1859
|
+
name: Joi.string().allow(""),
|
|
1860
|
+
slug: Joi.string().allow(""),
|
|
1835
1861
|
});
|
|
1836
1862
|
}
|
|
1837
1863
|
|
|
1838
|
-
/** @returns {
|
|
1839
|
-
static
|
|
1864
|
+
/** @returns {DepartmentResponse} */
|
|
1865
|
+
static DepartmentResponse() {
|
|
1840
1866
|
return Joi.object({
|
|
1841
|
-
|
|
1842
|
-
max_effective: Joi.number(),
|
|
1843
|
-
max_marked: Joi.number(),
|
|
1844
|
-
min_effective: Joi.number(),
|
|
1845
|
-
min_marked: Joi.number(),
|
|
1867
|
+
items: Joi.array().items(CatalogApplicationModel.Department()),
|
|
1846
1868
|
});
|
|
1847
1869
|
}
|
|
1848
1870
|
|
|
1849
|
-
/** @returns {
|
|
1850
|
-
static
|
|
1871
|
+
/** @returns {AutocompleteItem} */
|
|
1872
|
+
static AutocompleteItem() {
|
|
1851
1873
|
return Joi.object({
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
price: CatalogApplicationModel.ProductGroupPrice(),
|
|
1858
|
-
product_details: CatalogApplicationModel.ProductDetails(),
|
|
1859
|
-
product_uid: Joi.number().required(),
|
|
1860
|
-
sizes: Joi.array().items(CatalogApplicationModel.Size()),
|
|
1874
|
+
logo: CatalogApplicationModel.Media(),
|
|
1875
|
+
display: Joi.string().allow(""),
|
|
1876
|
+
type: Joi.string().allow(""),
|
|
1877
|
+
_custom_json: Joi.any(),
|
|
1878
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1861
1879
|
});
|
|
1862
1880
|
}
|
|
1863
1881
|
|
|
1864
|
-
/** @returns {
|
|
1865
|
-
static
|
|
1882
|
+
/** @returns {AutoCompleteResponse} */
|
|
1883
|
+
static AutoCompleteResponse() {
|
|
1866
1884
|
return Joi.object({
|
|
1867
|
-
|
|
1868
|
-
type: Joi.string().allow(""),
|
|
1885
|
+
items: Joi.array().items(CatalogApplicationModel.AutocompleteItem()),
|
|
1869
1886
|
});
|
|
1870
1887
|
}
|
|
1871
1888
|
|
|
1872
|
-
/** @returns {
|
|
1873
|
-
static
|
|
1889
|
+
/** @returns {CollectionQuery} */
|
|
1890
|
+
static CollectionQuery() {
|
|
1874
1891
|
return Joi.object({
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1892
|
+
op: Joi.string().allow("").required(),
|
|
1893
|
+
value: Joi.array().items(Joi.any()).required(),
|
|
1894
|
+
attribute: Joi.string().allow("").required(),
|
|
1878
1895
|
});
|
|
1879
1896
|
}
|
|
1880
1897
|
|
|
1881
|
-
/** @returns {
|
|
1882
|
-
static
|
|
1898
|
+
/** @returns {GetCollectionDetailNest} */
|
|
1899
|
+
static GetCollectionDetailNest() {
|
|
1883
1900
|
return Joi.object({
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
),
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
category_map: CatalogApplicationModel.ProductCategoryMap(),
|
|
1893
|
-
color: Joi.string().allow(""),
|
|
1894
|
-
custom_order: CatalogApplicationModel.ProductDetailCustomOrder(),
|
|
1901
|
+
is_active: Joi.boolean(),
|
|
1902
|
+
uid: Joi.string().allow(""),
|
|
1903
|
+
sort_on: Joi.string().allow(""),
|
|
1904
|
+
meta: Joi.any(),
|
|
1905
|
+
banners: CatalogApplicationModel.ImageUrls(),
|
|
1906
|
+
cron: Joi.any(),
|
|
1907
|
+
_schedule: Joi.any(),
|
|
1908
|
+
query: Joi.array().items(CatalogApplicationModel.CollectionQuery()),
|
|
1895
1909
|
description: Joi.string().allow(""),
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
CatalogApplicationModel.ProductDetailGroupedAttribute()
|
|
1899
|
-
),
|
|
1900
|
-
has_variant: Joi.boolean(),
|
|
1901
|
-
highlights: Joi.array().items(Joi.string().allow("")),
|
|
1902
|
-
identifiers: Joi.array().items(Joi.string().allow("")),
|
|
1903
|
-
image_nature: Joi.string().allow(""),
|
|
1904
|
-
is_dependent: Joi.boolean(),
|
|
1905
|
-
item_code: Joi.string().allow(""),
|
|
1906
|
-
item_type: Joi.string().allow(""),
|
|
1907
|
-
medias: Joi.array().items(CatalogApplicationModel.Media()),
|
|
1908
|
-
moq: CatalogApplicationModel.ApplicationItemMOQ(),
|
|
1910
|
+
type: Joi.string().allow(""),
|
|
1911
|
+
_custom_json: Joi.any(),
|
|
1909
1912
|
name: Joi.string().allow(""),
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
short_description: Joi.string().allow(""),
|
|
1919
|
-
similars: Joi.array().items(Joi.string().allow("")),
|
|
1920
|
-
sizes: Joi.array().items(Joi.string().allow("")),
|
|
1921
|
-
slug: Joi.string().allow("").required(),
|
|
1913
|
+
allow_sort: Joi.boolean(),
|
|
1914
|
+
visible_facets_keys: Joi.array().items(Joi.string().allow("")),
|
|
1915
|
+
badge: Joi.any(),
|
|
1916
|
+
slug: Joi.string().allow(""),
|
|
1917
|
+
action: CatalogApplicationModel.ProductListingAction(),
|
|
1918
|
+
allow_facets: Joi.boolean(),
|
|
1919
|
+
logo: CatalogApplicationModel.Media(),
|
|
1920
|
+
priority: Joi.number(),
|
|
1922
1921
|
tags: Joi.array().items(Joi.string().allow("")),
|
|
1923
|
-
|
|
1924
|
-
tryouts: Joi.array().items(Joi.string().allow("")),
|
|
1925
|
-
type: Joi.string().allow(""),
|
|
1926
|
-
uid: Joi.number(),
|
|
1927
|
-
variants: Joi.array().items(
|
|
1928
|
-
CatalogApplicationModel.ProductVariantListingResponse()
|
|
1929
|
-
),
|
|
1922
|
+
app_id: Joi.string().allow(""),
|
|
1930
1923
|
});
|
|
1931
1924
|
}
|
|
1932
1925
|
|
|
1933
|
-
/** @returns {
|
|
1934
|
-
static
|
|
1926
|
+
/** @returns {CollectionListingFilterTag} */
|
|
1927
|
+
static CollectionListingFilterTag() {
|
|
1935
1928
|
return Joi.object({
|
|
1936
|
-
|
|
1937
|
-
|
|
1929
|
+
name: Joi.string().allow(""),
|
|
1930
|
+
is_selected: Joi.boolean(),
|
|
1931
|
+
display: Joi.string().allow(""),
|
|
1938
1932
|
});
|
|
1939
1933
|
}
|
|
1940
1934
|
|
|
1941
|
-
/** @returns {
|
|
1942
|
-
static
|
|
1935
|
+
/** @returns {CollectionListingFilterType} */
|
|
1936
|
+
static CollectionListingFilterType() {
|
|
1943
1937
|
return Joi.object({
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
sort_on: Joi.array().items(CatalogApplicationModel.ProductSortOn()),
|
|
1938
|
+
name: Joi.string().allow(""),
|
|
1939
|
+
is_selected: Joi.boolean(),
|
|
1940
|
+
display: Joi.string().allow(""),
|
|
1948
1941
|
});
|
|
1949
1942
|
}
|
|
1950
1943
|
|
|
1951
|
-
/** @returns {
|
|
1952
|
-
static
|
|
1944
|
+
/** @returns {CollectionListingFilter} */
|
|
1945
|
+
static CollectionListingFilter() {
|
|
1953
1946
|
return Joi.object({
|
|
1954
|
-
|
|
1955
|
-
CatalogApplicationModel.
|
|
1947
|
+
tags: Joi.array().items(
|
|
1948
|
+
CatalogApplicationModel.CollectionListingFilterTag()
|
|
1949
|
+
),
|
|
1950
|
+
type: Joi.array().items(
|
|
1951
|
+
CatalogApplicationModel.CollectionListingFilterType()
|
|
1956
1952
|
),
|
|
1957
|
-
items: Joi.array().items(CatalogApplicationModel.ProductDetail()),
|
|
1958
1953
|
});
|
|
1959
1954
|
}
|
|
1960
1955
|
|
|
1961
|
-
/** @returns {
|
|
1962
|
-
static
|
|
1956
|
+
/** @returns {GetCollectionListingResponse} */
|
|
1957
|
+
static GetCollectionListingResponse() {
|
|
1963
1958
|
return Joi.object({
|
|
1964
|
-
|
|
1965
|
-
|
|
1959
|
+
items: Joi.array().items(
|
|
1960
|
+
CatalogApplicationModel.GetCollectionDetailNest()
|
|
1961
|
+
),
|
|
1962
|
+
filters: CatalogApplicationModel.CollectionListingFilter(),
|
|
1963
|
+
page: CatalogApplicationModel.Page().required(),
|
|
1966
1964
|
});
|
|
1967
1965
|
}
|
|
1968
1966
|
|
|
1969
|
-
/** @returns {
|
|
1970
|
-
static
|
|
1967
|
+
/** @returns {CollectionDetailResponse} */
|
|
1968
|
+
static CollectionDetailResponse() {
|
|
1971
1969
|
return Joi.object({
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
),
|
|
1970
|
+
is_active: Joi.boolean(),
|
|
1971
|
+
sort_on: Joi.string().allow(""),
|
|
1972
|
+
meta: Joi.any(),
|
|
1973
|
+
banners: CatalogApplicationModel.ImageUrls(),
|
|
1974
|
+
cron: Joi.any(),
|
|
1975
|
+
_schedule: Joi.any(),
|
|
1976
|
+
query: Joi.array().items(CatalogApplicationModel.CollectionQuery()),
|
|
1977
|
+
description: Joi.string().allow(""),
|
|
1978
|
+
type: Joi.string().allow(""),
|
|
1979
|
+
_custom_json: Joi.any(),
|
|
1980
|
+
name: Joi.string().allow(""),
|
|
1981
|
+
allow_sort: Joi.boolean(),
|
|
1982
|
+
visible_facets_keys: Joi.array().items(Joi.string().allow("")),
|
|
1983
|
+
badge: Joi.any(),
|
|
1984
|
+
slug: Joi.string().allow(""),
|
|
1985
|
+
allow_facets: Joi.boolean(),
|
|
1986
|
+
logo: CatalogApplicationModel.Media(),
|
|
1987
|
+
priority: Joi.number(),
|
|
1988
|
+
tag: Joi.array().items(Joi.string().allow("")),
|
|
1989
|
+
app_id: Joi.string().allow(""),
|
|
1975
1990
|
});
|
|
1976
1991
|
}
|
|
1977
1992
|
|
|
1978
|
-
/** @returns {
|
|
1979
|
-
static
|
|
1993
|
+
/** @returns {GetFollowListingResponse} */
|
|
1994
|
+
static GetFollowListingResponse() {
|
|
1980
1995
|
return Joi.object({
|
|
1981
|
-
|
|
1982
|
-
|
|
1996
|
+
items: Joi.array()
|
|
1997
|
+
.items(CatalogApplicationModel.ProductListingDetail())
|
|
1998
|
+
.required(),
|
|
1999
|
+
page: CatalogApplicationModel.Page().required(),
|
|
1983
2000
|
});
|
|
1984
2001
|
}
|
|
1985
2002
|
|
|
1986
|
-
/** @returns {
|
|
1987
|
-
static
|
|
2003
|
+
/** @returns {FollowPostResponse} */
|
|
2004
|
+
static FollowPostResponse() {
|
|
1988
2005
|
return Joi.object({
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
is_available: Joi.boolean(),
|
|
1992
|
-
quantity: Joi.number(),
|
|
1993
|
-
seller_identifiers: Joi.array().items(Joi.string().allow("")),
|
|
1994
|
-
value: Joi.string().allow(""),
|
|
1995
|
-
weight: CatalogApplicationModel.Weight(),
|
|
2006
|
+
message: Joi.string().allow("").required(),
|
|
2007
|
+
id: Joi.string().allow("").required(),
|
|
1996
2008
|
});
|
|
1997
2009
|
}
|
|
1998
2010
|
|
|
1999
|
-
/** @returns {
|
|
2000
|
-
static
|
|
2011
|
+
/** @returns {FollowerCountResponse} */
|
|
2012
|
+
static FollowerCountResponse() {
|
|
2001
2013
|
return Joi.object({
|
|
2002
|
-
|
|
2003
|
-
article_id: Joi.string().allow(""),
|
|
2004
|
-
delivery_promise: CatalogApplicationModel.PromiseSchema(),
|
|
2005
|
-
discount: Joi.string().allow(""),
|
|
2006
|
-
discount_meta: CatalogApplicationModel.DiscountMeta(),
|
|
2007
|
-
grouped_attributes: Joi.array().items(
|
|
2008
|
-
CatalogApplicationModel.SellerGroupAttributes()
|
|
2009
|
-
),
|
|
2010
|
-
is_cod: Joi.boolean(),
|
|
2011
|
-
is_gift: Joi.boolean(),
|
|
2012
|
-
item_type: Joi.string().allow(""),
|
|
2013
|
-
long_lat: Joi.array().items(Joi.number()),
|
|
2014
|
-
marketplace_attributes: Joi.array().items(
|
|
2015
|
-
CatalogApplicationModel.MarketPlaceSttributesSchemaV3()
|
|
2016
|
-
),
|
|
2017
|
-
pincode: Joi.number(),
|
|
2018
|
-
price: CatalogApplicationModel.ProductStockPriceV3(),
|
|
2019
|
-
price_per_piece: CatalogApplicationModel.ProductStockPriceV3(),
|
|
2020
|
-
price_per_unit: CatalogApplicationModel.ProductStockUnitPriceV3(),
|
|
2021
|
-
quantity: Joi.number(),
|
|
2022
|
-
return_config: CatalogApplicationModel.ReturnConfigSchemaV3(),
|
|
2023
|
-
seller: CatalogApplicationModel.SellerV3(),
|
|
2024
|
-
seller_count: Joi.number(),
|
|
2025
|
-
set: CatalogApplicationModel.ProductSetV3(),
|
|
2026
|
-
special_badge: Joi.string().allow(""),
|
|
2027
|
-
store: CatalogApplicationModel.StoreV3(),
|
|
2028
|
-
strategy_wise_listing: Joi.array().items(
|
|
2029
|
-
CatalogApplicationModel.StrategyWiseListingSchemaV3()
|
|
2030
|
-
),
|
|
2014
|
+
count: Joi.number(),
|
|
2031
2015
|
});
|
|
2032
2016
|
}
|
|
2033
2017
|
|
|
2034
|
-
/** @returns {
|
|
2035
|
-
static
|
|
2018
|
+
/** @returns {FollowIdsData} */
|
|
2019
|
+
static FollowIdsData() {
|
|
2036
2020
|
return Joi.object({
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
price: CatalogApplicationModel.ProductSizesPrice(),
|
|
2041
|
-
sellable: Joi.boolean(),
|
|
2042
|
-
size_chart: CatalogApplicationModel.SizeChart(),
|
|
2043
|
-
sizes: Joi.array().items(CatalogApplicationModel.ProductSize()),
|
|
2044
|
-
stores: CatalogApplicationModel.ProductSizeStores(),
|
|
2021
|
+
products: Joi.array().items(Joi.number()),
|
|
2022
|
+
collections: Joi.array().items(Joi.number()),
|
|
2023
|
+
brands: Joi.array().items(Joi.number()),
|
|
2045
2024
|
});
|
|
2046
2025
|
}
|
|
2047
2026
|
|
|
2048
|
-
/** @returns {
|
|
2049
|
-
static
|
|
2027
|
+
/** @returns {FollowIdsResponse} */
|
|
2028
|
+
static FollowIdsResponse() {
|
|
2050
2029
|
return Joi.object({
|
|
2051
|
-
|
|
2052
|
-
name: Joi.string().allow(""),
|
|
2053
|
-
value: Joi.string().allow(""),
|
|
2030
|
+
data: CatalogApplicationModel.FollowIdsData(),
|
|
2054
2031
|
});
|
|
2055
2032
|
}
|
|
2056
2033
|
|
|
2057
|
-
/** @returns {
|
|
2058
|
-
static
|
|
2034
|
+
/** @returns {LatLong} */
|
|
2035
|
+
static LatLong() {
|
|
2059
2036
|
return Joi.object({
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
),
|
|
2063
|
-
page: CatalogApplicationModel.Page().required(),
|
|
2064
|
-
sort_on: Joi.array().items(
|
|
2065
|
-
CatalogApplicationModel.ProductSizeSellerFilterSchemaV3()
|
|
2066
|
-
),
|
|
2037
|
+
coordinates: Joi.array().items(Joi.number()),
|
|
2038
|
+
type: Joi.string().allow(""),
|
|
2067
2039
|
});
|
|
2068
2040
|
}
|
|
2069
2041
|
|
|
2070
|
-
/** @returns {
|
|
2071
|
-
static
|
|
2042
|
+
/** @returns {Store} */
|
|
2043
|
+
static Store() {
|
|
2072
2044
|
return Joi.object({
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2045
|
+
uid: Joi.number(),
|
|
2046
|
+
store_email: Joi.string().allow(""),
|
|
2047
|
+
state: Joi.string().allow(""),
|
|
2048
|
+
country: Joi.string().allow(""),
|
|
2049
|
+
pincode: Joi.number(),
|
|
2050
|
+
city: Joi.string().allow(""),
|
|
2051
|
+
address: Joi.string().allow(""),
|
|
2052
|
+
store_code: Joi.string().allow(""),
|
|
2053
|
+
lat_long: CatalogApplicationModel.LatLong(),
|
|
2054
|
+
name: Joi.string().allow(""),
|
|
2055
|
+
tags: Joi.array().items(Joi.string().allow("")),
|
|
2076
2056
|
});
|
|
2077
2057
|
}
|
|
2078
2058
|
|
|
2079
|
-
/** @returns {
|
|
2080
|
-
static
|
|
2059
|
+
/** @returns {StoreListingResponse} */
|
|
2060
|
+
static StoreListingResponse() {
|
|
2081
2061
|
return Joi.object({
|
|
2082
|
-
|
|
2062
|
+
items: Joi.array().items(CatalogApplicationModel.Store()).required(),
|
|
2063
|
+
page: CatalogApplicationModel.Page().required(),
|
|
2083
2064
|
});
|
|
2084
2065
|
}
|
|
2085
2066
|
|
|
2086
|
-
/** @returns {
|
|
2087
|
-
static
|
|
2067
|
+
/** @returns {StoreDepartments} */
|
|
2068
|
+
static StoreDepartments() {
|
|
2088
2069
|
return Joi.object({
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2070
|
+
uid: Joi.number(),
|
|
2071
|
+
logo: Joi.any(),
|
|
2072
|
+
priority_order: Joi.number(),
|
|
2092
2073
|
name: Joi.string().allow(""),
|
|
2093
|
-
|
|
2074
|
+
slug: Joi.string().allow(""),
|
|
2094
2075
|
});
|
|
2095
2076
|
}
|
|
2096
2077
|
|
|
2097
|
-
/** @returns {
|
|
2098
|
-
static
|
|
2078
|
+
/** @returns {CompanyStore} */
|
|
2079
|
+
static CompanyStore() {
|
|
2099
2080
|
return Joi.object({
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
),
|
|
2103
|
-
|
|
2081
|
+
uid: Joi.number(),
|
|
2082
|
+
name: Joi.string().allow(""),
|
|
2083
|
+
company_type: Joi.string().allow(""),
|
|
2084
|
+
business_type: Joi.string().allow(""),
|
|
2104
2085
|
});
|
|
2105
2086
|
}
|
|
2106
2087
|
|
|
2107
|
-
/** @returns {
|
|
2108
|
-
static
|
|
2088
|
+
/** @returns {SellerPhoneNumber} */
|
|
2089
|
+
static SellerPhoneNumber() {
|
|
2109
2090
|
return Joi.object({
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
marked: Joi.number(),
|
|
2091
|
+
country_code: Joi.number().required(),
|
|
2092
|
+
number: Joi.string().allow("").required(),
|
|
2113
2093
|
});
|
|
2114
2094
|
}
|
|
2115
2095
|
|
|
2116
|
-
/** @returns {
|
|
2117
|
-
static
|
|
2096
|
+
/** @returns {StoreManagerSerializer} */
|
|
2097
|
+
static StoreManagerSerializer() {
|
|
2118
2098
|
return Joi.object({
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
marked: Joi.number(),
|
|
2123
|
-
selling: Joi.number(),
|
|
2099
|
+
name: Joi.string().allow(""),
|
|
2100
|
+
email: Joi.string().allow(""),
|
|
2101
|
+
mobile_no: CatalogApplicationModel.SellerPhoneNumber(),
|
|
2124
2102
|
});
|
|
2125
2103
|
}
|
|
2126
2104
|
|
|
2127
|
-
/** @returns {
|
|
2128
|
-
static
|
|
2105
|
+
/** @returns {StoreAddressSerializer} */
|
|
2106
|
+
static StoreAddressSerializer() {
|
|
2129
2107
|
return Joi.object({
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2108
|
+
latitude: Joi.number(),
|
|
2109
|
+
state: Joi.string().allow(""),
|
|
2110
|
+
country: Joi.string().allow(""),
|
|
2111
|
+
landmark: Joi.string().allow(""),
|
|
2112
|
+
address1: Joi.string().allow(""),
|
|
2113
|
+
pincode: Joi.number(),
|
|
2114
|
+
city: Joi.string().allow(""),
|
|
2115
|
+
longitude: Joi.number(),
|
|
2116
|
+
address2: Joi.string().allow(""),
|
|
2139
2117
|
});
|
|
2140
2118
|
}
|
|
2141
2119
|
|
|
2142
|
-
/** @returns {
|
|
2143
|
-
static
|
|
2120
|
+
/** @returns {AppStore} */
|
|
2121
|
+
static AppStore() {
|
|
2144
2122
|
return Joi.object({
|
|
2145
|
-
|
|
2146
|
-
|
|
2123
|
+
uid: Joi.number(),
|
|
2124
|
+
departments: Joi.array().items(
|
|
2125
|
+
CatalogApplicationModel.StoreDepartments()
|
|
2126
|
+
),
|
|
2127
|
+
company: CatalogApplicationModel.CompanyStore(),
|
|
2128
|
+
manager: CatalogApplicationModel.StoreManagerSerializer(),
|
|
2129
|
+
store_code: Joi.string().allow(""),
|
|
2130
|
+
address: CatalogApplicationModel.StoreAddressSerializer(),
|
|
2131
|
+
name: Joi.string().allow(""),
|
|
2132
|
+
contact_numbers: Joi.array().items(
|
|
2133
|
+
CatalogApplicationModel.SellerPhoneNumber()
|
|
2147
2134
|
),
|
|
2148
2135
|
});
|
|
2149
2136
|
}
|
|
2150
2137
|
|
|
2151
|
-
/** @returns {
|
|
2152
|
-
static
|
|
2138
|
+
/** @returns {ApplicationStoreListing} */
|
|
2139
|
+
static ApplicationStoreListing() {
|
|
2153
2140
|
return Joi.object({
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
unit: Joi.string().allow(""),
|
|
2141
|
+
filters: Joi.array().items(Joi.any()),
|
|
2142
|
+
items: Joi.array().items(CatalogApplicationModel.AppStore()),
|
|
2143
|
+
page: CatalogApplicationModel.Page(),
|
|
2158
2144
|
});
|
|
2159
2145
|
}
|
|
2160
2146
|
|
|
2161
|
-
/** @returns {
|
|
2162
|
-
static
|
|
2147
|
+
/** @returns {Time} */
|
|
2148
|
+
static Time() {
|
|
2163
2149
|
return Joi.object({
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
),
|
|
2167
|
-
action: CatalogApplicationModel.ProductListingAction(),
|
|
2168
|
-
color: Joi.string().allow(""),
|
|
2169
|
-
color_name: Joi.string().allow(""),
|
|
2170
|
-
is_available: Joi.boolean(),
|
|
2171
|
-
medias: Joi.array().items(CatalogApplicationModel.Media()),
|
|
2172
|
-
name: Joi.string().allow(""),
|
|
2173
|
-
slug: Joi.string().allow(""),
|
|
2174
|
-
uid: Joi.number(),
|
|
2175
|
-
value: Joi.string().allow(""),
|
|
2150
|
+
hour: Joi.number(),
|
|
2151
|
+
minute: Joi.number(),
|
|
2176
2152
|
});
|
|
2177
2153
|
}
|
|
2178
2154
|
|
|
2179
|
-
/** @returns {
|
|
2180
|
-
static
|
|
2155
|
+
/** @returns {StoreTiming} */
|
|
2156
|
+
static StoreTiming() {
|
|
2181
2157
|
return Joi.object({
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
),
|
|
2187
|
-
key: Joi.string().allow(""),
|
|
2188
|
-
total: Joi.number(),
|
|
2158
|
+
open: Joi.boolean(),
|
|
2159
|
+
closing: CatalogApplicationModel.Time(),
|
|
2160
|
+
weekday: Joi.string().allow(""),
|
|
2161
|
+
opening: CatalogApplicationModel.Time(),
|
|
2189
2162
|
});
|
|
2190
2163
|
}
|
|
2191
2164
|
|
|
2192
|
-
/** @returns {
|
|
2193
|
-
static
|
|
2165
|
+
/** @returns {StoreDetails} */
|
|
2166
|
+
static StoreDetails() {
|
|
2194
2167
|
return Joi.object({
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2168
|
+
uid: Joi.number(),
|
|
2169
|
+
departments: Joi.array().items(
|
|
2170
|
+
CatalogApplicationModel.StoreDepartments()
|
|
2171
|
+
),
|
|
2172
|
+
company: CatalogApplicationModel.CompanyStore(),
|
|
2173
|
+
manager: CatalogApplicationModel.StoreManagerSerializer(),
|
|
2174
|
+
store_code: Joi.string().allow(""),
|
|
2175
|
+
timing: Joi.array().items(CatalogApplicationModel.StoreTiming()),
|
|
2176
|
+
address: CatalogApplicationModel.StoreAddressSerializer(),
|
|
2177
|
+
_custom_json: Joi.any(),
|
|
2178
|
+
name: Joi.string().allow(""),
|
|
2179
|
+
contact_numbers: Joi.array().items(
|
|
2180
|
+
CatalogApplicationModel.SellerPhoneNumber()
|
|
2199
2181
|
),
|
|
2200
|
-
key: Joi.string().allow(""),
|
|
2201
2182
|
});
|
|
2202
2183
|
}
|
|
2203
2184
|
|
|
2204
|
-
/** @returns {
|
|
2205
|
-
static
|
|
2185
|
+
/** @returns {UserDetail} */
|
|
2186
|
+
static UserDetail() {
|
|
2206
2187
|
return Joi.object({
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
),
|
|
2188
|
+
super_user: Joi.boolean(),
|
|
2189
|
+
contact: Joi.string().allow(""),
|
|
2190
|
+
username: Joi.string().allow("").required(),
|
|
2191
|
+
user_id: Joi.string().allow("").required(),
|
|
2210
2192
|
});
|
|
2211
2193
|
}
|
|
2212
2194
|
|
|
2213
|
-
/** @returns {
|
|
2214
|
-
static
|
|
2195
|
+
/** @returns {Size} */
|
|
2196
|
+
static Size() {
|
|
2215
2197
|
return Joi.object({
|
|
2216
|
-
|
|
2217
|
-
|
|
2198
|
+
quantity: Joi.number(),
|
|
2199
|
+
value: Joi.any(),
|
|
2200
|
+
display: Joi.any(),
|
|
2201
|
+
is_available: Joi.boolean(),
|
|
2218
2202
|
});
|
|
2219
2203
|
}
|
|
2220
2204
|
|
|
2221
|
-
/** @returns {
|
|
2222
|
-
static
|
|
2205
|
+
/** @returns {ProductGroupPrice} */
|
|
2206
|
+
static ProductGroupPrice() {
|
|
2223
2207
|
return Joi.object({
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2208
|
+
max_effective: Joi.number(),
|
|
2209
|
+
min_effective: Joi.number(),
|
|
2210
|
+
min_marked: Joi.number(),
|
|
2211
|
+
currency: Joi.any(),
|
|
2212
|
+
max_marked: Joi.number(),
|
|
2227
2213
|
});
|
|
2228
2214
|
}
|
|
2229
2215
|
|
|
2230
|
-
/** @returns {
|
|
2231
|
-
static
|
|
2216
|
+
/** @returns {ProductDetails} */
|
|
2217
|
+
static ProductDetails() {
|
|
2232
2218
|
return Joi.object({
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2219
|
+
template_tag: Joi.any(),
|
|
2220
|
+
rating_count: Joi.number(),
|
|
2221
|
+
image_nature: Joi.any(),
|
|
2222
|
+
has_variant: Joi.boolean(),
|
|
2223
|
+
description: Joi.any(),
|
|
2224
|
+
out_of_stock: Joi.boolean(),
|
|
2225
|
+
hsn_code: Joi.number(),
|
|
2226
|
+
grouped_attributes: Joi.any(),
|
|
2227
|
+
item_code: Joi.any(),
|
|
2228
|
+
name: Joi.any(),
|
|
2229
|
+
country_of_origin: Joi.any(),
|
|
2230
|
+
short_description: Joi.any(),
|
|
2231
|
+
media: Joi.array().items(Joi.any()),
|
|
2232
|
+
attributes: Joi.any(),
|
|
2233
|
+
is_set: Joi.boolean(),
|
|
2234
|
+
images: Joi.array().items(Joi.any()),
|
|
2235
|
+
slug: Joi.any(),
|
|
2236
|
+
rating: Joi.number(),
|
|
2237
|
+
identifier: Joi.any(),
|
|
2238
|
+
highlights: Joi.array().items(Joi.any()),
|
|
2239
|
+
brand_uid: Joi.number(),
|
|
2240
2240
|
});
|
|
2241
2241
|
}
|
|
2242
2242
|
|
|
2243
|
-
/** @returns {
|
|
2244
|
-
static
|
|
2243
|
+
/** @returns {ProductInGroup} */
|
|
2244
|
+
static ProductInGroup() {
|
|
2245
2245
|
return Joi.object({
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2246
|
+
auto_add_to_cart: Joi.boolean(),
|
|
2247
|
+
max_quantity: Joi.number().required(),
|
|
2248
|
+
sizes: Joi.array().items(CatalogApplicationModel.Size()),
|
|
2249
|
+
price: CatalogApplicationModel.ProductGroupPrice(),
|
|
2250
|
+
auto_select: Joi.boolean(),
|
|
2251
|
+
product_details: CatalogApplicationModel.ProductDetails(),
|
|
2252
|
+
min_quantity: Joi.number(),
|
|
2253
|
+
allow_remove: Joi.boolean(),
|
|
2254
|
+
product_uid: Joi.number().required(),
|
|
2249
2255
|
});
|
|
2250
2256
|
}
|
|
2251
2257
|
|
|
2252
|
-
/** @returns {
|
|
2253
|
-
static
|
|
2258
|
+
/** @returns {ProductGroupingModel} */
|
|
2259
|
+
static ProductGroupingModel() {
|
|
2254
2260
|
return Joi.object({
|
|
2255
|
-
|
|
2256
|
-
|
|
2261
|
+
logo: Joi.string().allow("").allow(null),
|
|
2262
|
+
is_active: Joi.boolean(),
|
|
2263
|
+
meta: Joi.any(),
|
|
2264
|
+
verified_by: CatalogApplicationModel.UserDetail(),
|
|
2265
|
+
created_on: Joi.string().allow("").required(),
|
|
2266
|
+
company_id: Joi.number(),
|
|
2267
|
+
page_visibility: Joi.array().items(Joi.any()),
|
|
2268
|
+
modified_on: Joi.string().allow("").required(),
|
|
2269
|
+
created_by: CatalogApplicationModel.UserDetail(),
|
|
2270
|
+
modified_by: CatalogApplicationModel.UserDetail(),
|
|
2271
|
+
products: Joi.array()
|
|
2272
|
+
.items(CatalogApplicationModel.ProductInGroup())
|
|
2273
|
+
.required(),
|
|
2274
|
+
same_store_assignment: Joi.boolean(),
|
|
2275
|
+
_id: Joi.any(),
|
|
2276
|
+
name: Joi.any().required(),
|
|
2277
|
+
choice: Joi.any(),
|
|
2278
|
+
slug: Joi.any(),
|
|
2279
|
+
verified_on: Joi.string().allow(""),
|
|
2257
2280
|
});
|
|
2258
2281
|
}
|
|
2259
2282
|
|
|
2260
|
-
/** @returns {
|
|
2261
|
-
static
|
|
2283
|
+
/** @returns {ProductBundle} */
|
|
2284
|
+
static ProductBundle() {
|
|
2262
2285
|
return Joi.object({
|
|
2263
|
-
|
|
2264
|
-
number: Joi.string().allow("").required(),
|
|
2286
|
+
items: Joi.array().items(CatalogApplicationModel.ProductGroupingModel()),
|
|
2265
2287
|
});
|
|
2266
2288
|
}
|
|
2267
2289
|
|
|
2268
|
-
/** @returns {
|
|
2269
|
-
static
|
|
2290
|
+
/** @returns {StoreV3} */
|
|
2291
|
+
static StoreV3() {
|
|
2270
2292
|
return Joi.object({
|
|
2271
|
-
count: Joi.number(),
|
|
2272
|
-
name: Joi.string().allow(""),
|
|
2273
2293
|
uid: Joi.number(),
|
|
2294
|
+
name: Joi.string().allow(""),
|
|
2295
|
+
count: Joi.number(),
|
|
2274
2296
|
});
|
|
2275
2297
|
}
|
|
2276
2298
|
|
|
2277
|
-
/** @returns {
|
|
2278
|
-
static
|
|
2279
|
-
return Joi.object({
|
|
2280
|
-
display: Joi.any(),
|
|
2281
|
-
is_available: Joi.boolean(),
|
|
2282
|
-
quantity: Joi.number(),
|
|
2283
|
-
value: Joi.any(),
|
|
2284
|
-
});
|
|
2285
|
-
}
|
|
2286
|
-
|
|
2287
|
-
/** @returns {SizeChart} */
|
|
2288
|
-
static SizeChart() {
|
|
2299
|
+
/** @returns {ArticleAssignmentV3} */
|
|
2300
|
+
static ArticleAssignmentV3() {
|
|
2289
2301
|
return Joi.object({
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
image: Joi.string().allow(""),
|
|
2293
|
-
size_tip: Joi.string().allow(""),
|
|
2294
|
-
sizes: Joi.array().items(CatalogApplicationModel.SizeChartValues()),
|
|
2295
|
-
title: Joi.string().allow(""),
|
|
2296
|
-
unit: Joi.string().allow(""),
|
|
2302
|
+
strategy: Joi.string().allow(""),
|
|
2303
|
+
level: Joi.string().allow(""),
|
|
2297
2304
|
});
|
|
2298
2305
|
}
|
|
2299
2306
|
|
|
2300
|
-
/** @returns {
|
|
2301
|
-
static
|
|
2307
|
+
/** @returns {StrategyWiseListingSchemaV3} */
|
|
2308
|
+
static StrategyWiseListingSchemaV3() {
|
|
2302
2309
|
return Joi.object({
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
col_5: Joi.string().allow(""),
|
|
2308
|
-
col_6: Joi.string().allow(""),
|
|
2310
|
+
distance: Joi.number(),
|
|
2311
|
+
pincode: Joi.number(),
|
|
2312
|
+
tat: Joi.number(),
|
|
2313
|
+
quantity: Joi.number(),
|
|
2309
2314
|
});
|
|
2310
2315
|
}
|
|
2311
2316
|
|
|
2312
|
-
/** @returns {
|
|
2313
|
-
static
|
|
2317
|
+
/** @returns {DetailsSchemaV3} */
|
|
2318
|
+
static DetailsSchemaV3() {
|
|
2314
2319
|
return Joi.object({
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
lat_long: CatalogApplicationModel.LatLong(),
|
|
2319
|
-
name: Joi.string().allow(""),
|
|
2320
|
-
pincode: Joi.number(),
|
|
2321
|
-
state: Joi.string().allow(""),
|
|
2322
|
-
store_code: Joi.string().allow(""),
|
|
2323
|
-
store_email: Joi.string().allow(""),
|
|
2324
|
-
tags: Joi.array().items(Joi.string().allow("")),
|
|
2325
|
-
uid: Joi.number(),
|
|
2320
|
+
value: Joi.string().allow(""),
|
|
2321
|
+
type: Joi.string().allow(""),
|
|
2322
|
+
key: Joi.string().allow(""),
|
|
2326
2323
|
});
|
|
2327
2324
|
}
|
|
2328
2325
|
|
|
2329
|
-
/** @returns {
|
|
2330
|
-
static
|
|
2326
|
+
/** @returns {SellerGroupAttributes} */
|
|
2327
|
+
static SellerGroupAttributes() {
|
|
2331
2328
|
return Joi.object({
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
city: Joi.string().allow(""),
|
|
2335
|
-
country: Joi.string().allow(""),
|
|
2336
|
-
landmark: Joi.string().allow(""),
|
|
2337
|
-
latitude: Joi.number(),
|
|
2338
|
-
longitude: Joi.number(),
|
|
2339
|
-
pincode: Joi.number(),
|
|
2340
|
-
state: Joi.string().allow(""),
|
|
2329
|
+
title: Joi.string().allow(""),
|
|
2330
|
+
details: Joi.array().items(CatalogApplicationModel.DetailsSchemaV3()),
|
|
2341
2331
|
});
|
|
2342
2332
|
}
|
|
2343
2333
|
|
|
2344
|
-
/** @returns {
|
|
2345
|
-
static
|
|
2334
|
+
/** @returns {ReturnConfigSchemaV3} */
|
|
2335
|
+
static ReturnConfigSchemaV3() {
|
|
2346
2336
|
return Joi.object({
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
slug: Joi.string().allow(""),
|
|
2351
|
-
uid: Joi.number(),
|
|
2337
|
+
unit: Joi.string().allow(""),
|
|
2338
|
+
returnable: Joi.boolean(),
|
|
2339
|
+
time: Joi.number(),
|
|
2352
2340
|
});
|
|
2353
2341
|
}
|
|
2354
2342
|
|
|
2355
|
-
/** @returns {
|
|
2356
|
-
static
|
|
2343
|
+
/** @returns {ProductSetDistributionSizeV3} */
|
|
2344
|
+
static ProductSetDistributionSizeV3() {
|
|
2357
2345
|
return Joi.object({
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
id: Joi.number(),
|
|
2361
|
-
name: Joi.string().allow(""),
|
|
2346
|
+
pieces: Joi.number(),
|
|
2347
|
+
size: Joi.string().allow(""),
|
|
2362
2348
|
});
|
|
2363
2349
|
}
|
|
2364
2350
|
|
|
2365
|
-
/** @returns {
|
|
2366
|
-
static
|
|
2351
|
+
/** @returns {ProductSetDistributionV3} */
|
|
2352
|
+
static ProductSetDistributionV3() {
|
|
2367
2353
|
return Joi.object({
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
company: CatalogApplicationModel.CompanyStore(),
|
|
2371
|
-
contact_numbers: Joi.array().items(
|
|
2372
|
-
CatalogApplicationModel.SellerPhoneNumber()
|
|
2373
|
-
),
|
|
2374
|
-
departments: Joi.array().items(
|
|
2375
|
-
CatalogApplicationModel.StoreDepartments()
|
|
2354
|
+
sizes: Joi.array().items(
|
|
2355
|
+
CatalogApplicationModel.ProductSetDistributionSizeV3()
|
|
2376
2356
|
),
|
|
2377
|
-
manager: CatalogApplicationModel.StoreManagerSerializer(),
|
|
2378
|
-
name: Joi.string().allow(""),
|
|
2379
|
-
store_code: Joi.string().allow(""),
|
|
2380
|
-
timing: Joi.array().items(CatalogApplicationModel.StoreTiming()),
|
|
2381
|
-
uid: Joi.number(),
|
|
2382
2357
|
});
|
|
2383
2358
|
}
|
|
2384
2359
|
|
|
2385
|
-
/** @returns {
|
|
2386
|
-
static
|
|
2360
|
+
/** @returns {ProductSetV3} */
|
|
2361
|
+
static ProductSetV3() {
|
|
2387
2362
|
return Joi.object({
|
|
2388
|
-
|
|
2389
|
-
|
|
2363
|
+
quantity: Joi.number(),
|
|
2364
|
+
size_distribution: CatalogApplicationModel.ProductSetDistributionV3(),
|
|
2390
2365
|
});
|
|
2391
2366
|
}
|
|
2392
2367
|
|
|
2393
|
-
/** @returns {
|
|
2394
|
-
static
|
|
2368
|
+
/** @returns {ProductStockPriceV3} */
|
|
2369
|
+
static ProductStockPriceV3() {
|
|
2395
2370
|
return Joi.object({
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2371
|
+
effective: Joi.number(),
|
|
2372
|
+
currency_code: Joi.string().allow(""),
|
|
2373
|
+
currency_symbol: Joi.string().allow(""),
|
|
2374
|
+
marked: Joi.number(),
|
|
2375
|
+
selling: Joi.number(),
|
|
2399
2376
|
});
|
|
2400
2377
|
}
|
|
2401
2378
|
|
|
2402
|
-
/** @returns {
|
|
2403
|
-
static
|
|
2379
|
+
/** @returns {ProductStockUnitPriceV3} */
|
|
2380
|
+
static ProductStockUnitPriceV3() {
|
|
2404
2381
|
return Joi.object({
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2382
|
+
unit: Joi.string().allow(""),
|
|
2383
|
+
currency_symbol: Joi.string().allow(""),
|
|
2384
|
+
currency_code: Joi.string().allow(""),
|
|
2385
|
+
price: Joi.number(),
|
|
2409
2386
|
});
|
|
2410
2387
|
}
|
|
2411
2388
|
|
|
2412
|
-
/** @returns {
|
|
2413
|
-
static
|
|
2389
|
+
/** @returns {MarketPlaceSttributesSchemaV3} */
|
|
2390
|
+
static MarketPlaceSttributesSchemaV3() {
|
|
2414
2391
|
return Joi.object({
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
uid: Joi.number(),
|
|
2392
|
+
title: Joi.string().allow(""),
|
|
2393
|
+
details: Joi.array().items(CatalogApplicationModel.DetailsSchemaV3()),
|
|
2418
2394
|
});
|
|
2419
2395
|
}
|
|
2420
2396
|
|
|
2421
|
-
/** @returns {
|
|
2422
|
-
static
|
|
2397
|
+
/** @returns {SellerV3} */
|
|
2398
|
+
static SellerV3() {
|
|
2423
2399
|
return Joi.object({
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
tat: Joi.number(),
|
|
2400
|
+
uid: Joi.number(),
|
|
2401
|
+
name: Joi.string().allow(""),
|
|
2402
|
+
count: Joi.number(),
|
|
2428
2403
|
});
|
|
2429
2404
|
}
|
|
2430
2405
|
|
|
2431
|
-
/** @returns {
|
|
2432
|
-
static
|
|
2406
|
+
/** @returns {PromiseSchema} */
|
|
2407
|
+
static PromiseSchema() {
|
|
2433
2408
|
return Joi.object({
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
banners: CatalogApplicationModel.ImageUrls(),
|
|
2437
|
-
childs: Joi.array().items(Joi.any()),
|
|
2438
|
-
name: Joi.string().allow(""),
|
|
2439
|
-
slug: Joi.string().allow(""),
|
|
2440
|
-
uid: Joi.number(),
|
|
2409
|
+
min: Joi.string().allow(""),
|
|
2410
|
+
max: Joi.string().allow(""),
|
|
2441
2411
|
});
|
|
2442
2412
|
}
|
|
2443
2413
|
|
|
2444
|
-
/** @returns {
|
|
2445
|
-
static
|
|
2414
|
+
/** @returns {ProductSizePriceResponseV3} */
|
|
2415
|
+
static ProductSizePriceResponseV3() {
|
|
2446
2416
|
return Joi.object({
|
|
2447
|
-
|
|
2448
|
-
|
|
2417
|
+
store: CatalogApplicationModel.StoreV3(),
|
|
2418
|
+
article_assignment: CatalogApplicationModel.ArticleAssignmentV3(),
|
|
2419
|
+
is_cod: Joi.boolean(),
|
|
2420
|
+
strategy_wise_listing: Joi.array().items(
|
|
2421
|
+
CatalogApplicationModel.StrategyWiseListingSchemaV3()
|
|
2422
|
+
),
|
|
2423
|
+
quantity: Joi.number(),
|
|
2424
|
+
item_type: Joi.string().allow(""),
|
|
2425
|
+
grouped_attributes: Joi.array().items(
|
|
2426
|
+
CatalogApplicationModel.SellerGroupAttributes()
|
|
2427
|
+
),
|
|
2428
|
+
return_config: CatalogApplicationModel.ReturnConfigSchemaV3(),
|
|
2429
|
+
article_id: Joi.string().allow(""),
|
|
2430
|
+
is_gift: Joi.boolean(),
|
|
2431
|
+
set: CatalogApplicationModel.ProductSetV3(),
|
|
2432
|
+
seller_count: Joi.number(),
|
|
2433
|
+
price_per_piece: CatalogApplicationModel.ProductStockPriceV3(),
|
|
2434
|
+
discount_meta: CatalogApplicationModel.DiscountMeta(),
|
|
2435
|
+
discount: Joi.string().allow(""),
|
|
2436
|
+
long_lat: Joi.array().items(Joi.number()),
|
|
2437
|
+
special_badge: Joi.string().allow(""),
|
|
2438
|
+
price: CatalogApplicationModel.ProductStockPriceV3(),
|
|
2439
|
+
price_per_unit: CatalogApplicationModel.ProductStockUnitPriceV3(),
|
|
2440
|
+
pincode: Joi.number(),
|
|
2441
|
+
marketplace_attributes: Joi.array().items(
|
|
2442
|
+
CatalogApplicationModel.MarketPlaceSttributesSchemaV3()
|
|
2443
|
+
),
|
|
2444
|
+
seller: CatalogApplicationModel.SellerV3(),
|
|
2445
|
+
delivery_promise: CatalogApplicationModel.PromiseSchema(),
|
|
2449
2446
|
});
|
|
2450
2447
|
}
|
|
2451
2448
|
|
|
2452
|
-
/** @returns {
|
|
2453
|
-
static
|
|
2449
|
+
/** @returns {ProductSizeSellerFilterSchemaV3} */
|
|
2450
|
+
static ProductSizeSellerFilterSchemaV3() {
|
|
2454
2451
|
return Joi.object({
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
username: Joi.string().allow("").required(),
|
|
2452
|
+
name: Joi.string().allow(""),
|
|
2453
|
+
is_selected: Joi.boolean(),
|
|
2454
|
+
value: Joi.string().allow(""),
|
|
2459
2455
|
});
|
|
2460
2456
|
}
|
|
2461
2457
|
|
|
2462
|
-
/** @returns {
|
|
2463
|
-
static
|
|
2458
|
+
/** @returns {ProductSizeSellersResponseV3} */
|
|
2459
|
+
static ProductSizeSellersResponseV3() {
|
|
2464
2460
|
return Joi.object({
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2461
|
+
items: Joi.array().items(
|
|
2462
|
+
CatalogApplicationModel.ProductSizePriceResponseV3()
|
|
2463
|
+
),
|
|
2464
|
+
page: CatalogApplicationModel.Page().required(),
|
|
2465
|
+
sort_on: Joi.array().items(
|
|
2466
|
+
CatalogApplicationModel.ProductSizeSellerFilterSchemaV3()
|
|
2467
|
+
),
|
|
2468
2468
|
});
|
|
2469
2469
|
}
|
|
2470
2470
|
}
|