Subversion Repositories SmartDukaan

Rev

Rev 10403 | Rev 10924 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
85 ashish 1
namespace java in.shop2020.model.v1.catalog
95 ashish 2
namespace py shop2020.thriftpy.model.v1.catalog
85 ashish 3
 
3374 rajveer 4
include "GenericService.thrift"
5
 
85 ashish 6
/**
7
	Objects
8
*/
9
 
123 ashish 10
/**
1330 chandransh 11
Caution :- Never ever change the numbers in it. Please confirm from @Chandranshu or @Rajveer before any changes in enum and other entries in file.
123 ashish 12
**/
5110 mandeep.dh 13
enum status {
123 ashish 14
	PHASED_OUT = 0,		//Item is no longer selling
15
	DELETED = 1,		//Item has been deliberately deleted 
3009 chandransh 16
	PAUSED = 2,			//Item's sale has been paused manually.
123 ashish 17
	ACTIVE = 3,			//Item is available for sale as of now
2984 rajveer 18
	IN_PROCESS = 4,		//Item has been added, but content is not available for the same
19
	CONTENT_COMPLETE = 5,  //The content for this item has been completed. We can start selling the item now.
5217 amit.gupta 20
	PAUSED_BY_RISK = 6,    //Item's sale has been automatically paused since it was marked as risky
10403 rajveer 21
	COMING_SOON= 7,		//Item is now in Coming Soon Page and will move to ACTIVE gradually as it achieves the Start date.
22
	PARTIALLY_ACTIVE=8
103 ashish 23
}
24
 
5110 mandeep.dh 25
enum ItemType {
26
    SERIALIZED = 1,
27
    NON_SERIALIZED = 2
28
}
29
 
6805 anupam.sin 30
enum PremiumType {
31
    PERCENT = 1,
32
    ABSOLUTE = 2
33
}
34
 
9155 kshitij.so 35
enum BannerType{
36
	WEBSITE  = 1,
37
	SIDE_BANNER = 2,
38
	MOBILE_SITE = 3
39
}
40
 
9299 kshitij.so 41
enum InsurerType {
42
	DEVICE = 1,
43
	DATA = 2
44
}
45
 
9884 kshitij.so 46
enum CompetitionCategory {
47
	CANT_COMPETE = 1,
48
	BUY_BOX = 2,
49
	COMPETITIVE = 3,
50
	COMPETITIVE_NO_INVENTORY = 4,
51
	EXCEPTION = 5,
52
	NEGATIVE_MARGIN = 6
53
}
54
 
55
enum CompetitionBasis {
56
	SP = 1, 
57
	TP = 2
58
}
59
 
60
enum SalesPotential {
61
	HIGH = 1,
62
	MEDIUM = 2,
63
	LOW = 3 
64
}
65
 
9909 kshitij.so 66
enum Decision {
67
	AUTO_DECREMENT_SUCCESS = 1,
68
	AUTO_INCREMENT_SUCCESS = 2,
69
	AUTO_DECREMENT_FAILED = 3,
70
	AUTO_INCREMENT_FAILED = 4
71
}
72
 
9949 kshitij.so 73
enum RunType {
74
	FULL = 1,
75
	FAVOURITE = 2
76
}
77
 
85 ashish 78
struct Item{
79
	1:i64 id,
956 chandransh 80
	2:string productGroup
81
	3:string brand,
82
	4:string modelNumber,
2128 ankur.sing 83
	5:string modelName,
84
	6:string color,
85
	7:i64 category,
86
	8:string comments,
87
	9:i64 catalogItemId,
88
	10:i64 featureId,
89
	11:string featureDescription,
2127 ankur.sing 90
	13:optional double mrp, //maxmimum retail price
4762 phani.kuma 91
	14:optional double sellingPrice, //Selling price
92
	15:optional double weight,
93
	16:i64 addedOn,
94
	17:optional i64 startDate,
95
	18:optional i64 retireDate,
96
	19:status itemStatus,
97
	20:string status_description,
5324 rajveer 98
	21:map<string,string> otherInfo,
4762 phani.kuma 99
	22:string bestDealText,
100
	23:optional double bestDealValue,
101
	24:bool defaultForEntity,
102
	25:i64 updatedOn,
103
	26:optional i64 bestSellingRank,
104
	27:bool risky,
105
	28:optional i32 expectedDelay,
5440 phani.kuma 106
	29:optional bool isWarehousePreferenceSticky,
107
	30:i32 warrantyPeriod,
108
	31:optional i64 preferredVendor,
109
	32:ItemType type,
110
	33:optional i64 comingSoonStartDate,
111
	34:optional i64 expectedArrivalDate,
5460 phani.kuma 112
	35:bool hasItemNo,
7256 rajveer 113
	36:bool activeOnStore,
6805 anupam.sin 114
	38:bool showSellingPrice,
6777 vikram.rag 115
	39:string bestDealsDetailsText,
116
	40:string bestDealsDetailsLink,
7291 vikram.rag 117
	41:i64 preferredInsurer,
118
	42:string asin,
119
	43:i64 defaultInventory,
9841 rajveer 120
	44:i64 holdInventory,
121
	45:bool holdOverride
85 ashish 122
}
123
 
6805 anupam.sin 124
struct Insurer{
125
	1:i64 id,
126
	2:string name,
6903 anupam.sin 127
	3:string address,
128
	4:i64 declaredAmount,
9299 kshitij.so 129
	5:i64 creditedAmount,
130
	6:InsurerType insurerType
6805 anupam.sin 131
}
132
 
133
struct ItemInsurerMapping{
134
	1:i64 itemId,
135
	2:i64 insurer,
136
	3:PremiumType premiumType,
9299 kshitij.so 137
	4:double premiumValue,
138
	5:InsurerType insurerType
6805 anupam.sin 139
}
140
 
1967 rajveer 141
struct Category{
142
	1:i64 id,
143
	2:string label,
144
	3:string description,
145
	4:i64 parent_category_id,
146
	/**
147
	* This field should not be used.
148
	*/
149
	5:list<i64> children_category_ids
4762 phani.kuma 150
	6:string display_name
1967 rajveer 151
}
2113 ankur.sing 152
 
2983 chandransh 153
struct ItemShippingInfo{
154
	1:bool isActive,
155
	2:optional bool isRisky,
156
	3:optional i64 quantity
157
}
158
 
3556 rajveer 159
struct Source{
160
	1:i64 id,
161
	2:string name,
162
	3:string identifier
163
}
164
 
165
struct SourceItemPricing{
166
	1:i64 sourceId,
167
	2:i64 itemId,
168
	3:double mrp,
169
	4:double sellingPrice
170
}
171
 
4295 varun.gupt 172
struct ProductNotificationRequest	{
173
	1:Item item,
174
	2:string email,
175
	3:i64 addedOn
176
}
177
 
178
struct ProductNotificationRequestCount	{
179
	1:Item item,
180
	2:i64 count
181
}
182
 
5504 phani.kuma 183
struct VoucherItemMapping{
5512 rajveer 184
	1:i64 voucherType,
5504 phani.kuma 185
	2:i64 itemId,
186
	3:i64 amount
187
}
188
 
5945 mandeep.dh 189
exception CatalogServiceException{
85 ashish 190
	1:i64 id,
191
	2:string message
192
}
193
 
6511 kshitij.so 194
struct EntityTag {
195
    1:i64 entityId,
196
    2:string tag
197
}
198
 
6848 kshitij.so 199
struct Banner {
200
    1:string bannerName,
201
    2:string imageName,
202
    3:string link,
8915 kshitij.so 203
    4:bool hasMap,
204
    5:i64 priority,
10097 kshitij.so 205
    6:BannerType bannerType,
206
    7:bool target
6848 kshitij.so 207
}
208
 
8579 kshitij.so 209
struct BannerUriMapping{
210
	1:string bannerName,
211
	2:string uri,
10097 kshitij.so 212
	3:bool isActive,
213
	4:bool target
8579 kshitij.so 214
}
215
 
6848 kshitij.so 216
struct BannerMap {
217
    1:string bannerName,
218
    2:string mapLink,
219
    3:string coordinates
220
}
221
 
8590 kshitij.so 222
struct BannerCongregate{
223
	1:Banner banner,
224
	2:list<BannerMap> bannerMaps,
9155 kshitij.so 225
	3:list<BannerUriMapping> bannerUriMappings,
226
	4:Banner antecedent 
8590 kshitij.so 227
}
228
 
8579 kshitij.so 229
struct Campaign {
230
	1:i64 id,
231
	2:string campaignName,
232
	3:string imageName
233
}
234
 
7190 amar.kumar 235
struct FreebieItem {
236
	1:i64 itemId,
237
	2:i64 freebieItemId
238
}
239
 
7272 amit.gupta 240
struct BrandInfo {
241
	1:string name,
242
	2:string serviceCenterLocatorUrl
243
}
244
 
7256 rajveer 245
struct StorePricing {
246
    1:i64 itemId,
247
	2:double recommendedPrice,
248
	3:double minPrice,
249
	4:double maxPrice,
7308 rajveer 250
	5:double minAdvancePrice,
7351 rajveer 251
	6:double absoluteMinPrice,
252
	7:i64 freebieItemId,
253
	8:string bestDealText
7256 rajveer 254
}
255
 
7281 kshitij.so 256
struct Amazonlisted{
257
	1:i64 itemid,
258
    2:string asin,
259
    3:string name,
260
    4:string brand,
261
    5:string model,
262
    6:string manufacturer_name,
263
    7:string part_number,
264
    8:string ean,
265
    9:string upc 
266
    10:double fbaPrice,
267
    11:double sellingPrice,
268
    12:bool isFba,
269
    13:bool isNonFba,
270
    14:bool isInventoryOverride,
271
    15:string color,
7367 kshitij.so 272
    16:string category,
273
    17:i64 handlingTime,
7518 vikram.rag 274
    18:bool isCustomTime,
7770 kshitij.so 275
    19:i64 category_code,
276
    20:i64 mfnPriceLastUpdatedOn,
277
    21:i64 fbaPriceLastUpdatedOn,
278
    22:i64 mfnPriceLastUpdatedOnSc,
279
    23:i64 fbaPriceLastUpdatedOnSc
8139 kshitij.so 280
    24:bool suppressMfnPriceUpdate,
8619 kshitij.so 281
    25:bool suppressFbaPriceUpdate,
10909 vikram.rag 282
    26:string taxCode,
283
    27:string fbbtaxCode,
284
    28:double fbbPrice, 
285
    29:i64 fbbPriceLastUpdatedOnSc,
286
    30:i64 fbbPriceLastUpdatedOn,
287
    31:bool isFbb,
288
    32:bool suppressFbbPriceUpdate,
7977 kshitij.so 289
}
290
 
291
struct PageViewEvents{
292
    1:i64 catalogId,
293
    2:string url,
294
    3:double sellingPrice,
295
    4:bool comingSoon,
296
    5:string ip,
297
    6:string sessionId,
298
    7:i64 eventDate
299
}
7281 kshitij.so 300
 
7977 kshitij.so 301
struct CartEvents{
302
    1:i64 catalogId,
303
    2:i64 itemId,
304
    3:double sellingPrice,
305
    4:string ip,
306
    5:string sessionId,
307
    6:bool inStock,
308
    7:bool comingSoon,
309
    8:i64 eventDate
310
}
311
 
8182 amar.kumar 312
struct EbayItem{
313
	1:string ebayListingId,
314
	2:i64 itemId,
315
	3:string listingName,
316
	4:i64 listingPrice,
317
	5:i64 listingExpiryDate,
318
	6:double subsidy,
319
	7:i64 defaultWarehouseId
8739 vikram.rag 320
}
321
 
9779 kshitij.so 322
/*
323
	Return Provision, vat, commission, service tax are in percentage
324
*/
325
 
326
struct MarketplaceItems{
327
	1:i64 itemId,
328
	2:i64 source,
329
	3:double emiFee,
330
	4:double courierCost,
331
	5:double closingFee,
332
	6:double returnProvision,
333
	7:double commission,
334
	8:double vat,
335
	9:double packagingCost,
336
	10:double otherCost,
337
	11:double serviceTax,
338
	12:bool autoIncrement,
339
	13:bool autoDecrement,
340
	14:bool manualFavourite,
341
	15:bool autoFavourite,
342
	16:double currentSp,
343
	17:double currentTp,
344
	18:double minimumPossibleSp,
345
	19:double minimumPossibleTp,
9909 kshitij.so 346
	20:i64 lastCheckedTimestamp,
10287 kshitij.so 347
	21:double maximumSellingPrice,
348
	22:double pgFee
9779 kshitij.so 349
}
350
 
8739 vikram.rag 351
struct SnapdealItem{
352
	1:i64 item_id,
353
	2:i64 warehouseId,
354
	3:double exceptionPrice,
9242 kshitij.so 355
	4:bool isListedOnSnapdeal,
356
	5:double transferPrice,
357
    6:double sellingPrice,
358
    7:double courierCost,
359
    8:double commission,
360
    9:double serviceTax,
361
    10:bool suppressPriceFeed,
9404 vikram.rag 362
    11:bool suppressInventoryFeed,
9478 kshitij.so 363
    12:double maxNlc,
9568 kshitij.so 364
    13:string skuAtSnapdeal,
9724 kshitij.so 365
    14:string supc,
9779 kshitij.so 366
    15:string shippingTime,
367
    16:string updatedBy,
368
    17:MarketplaceItems marketplaceItems
8182 amar.kumar 369
}    
7977 kshitij.so 370
 
9242 kshitij.so 371
struct SnapdealItemDetails{
372
	1:i64 item_id,
373
	2:i64 warehouseId,
374
	3:double exceptionPrice,
375
	4:bool isListedOnSnapdeal,
376
	5:double transferPrice,
377
    6:double sellingPrice,
378
    7:double courierCost,
379
    8:double commission,
380
    9:double serviceTax,
381
    10:string brand,
382
    11:string model_name,
383
    12:string model_number,
384
    13:string color,
385
    14:bool risky,
386
    15:status itemStatus,
387
    16:bool suppressPriceFeed,
388
    17:bool suppressInventoryFeed,
389
    18:double weight,
390
    19:double mrp,
9478 kshitij.so 391
    20:double websiteSellingPrice,
392
    21:double maxNlc,
9568 kshitij.so 393
    22:string skuAtSnapdeal,
9724 kshitij.so 394
    23:string supc,
395
    24:i64 lastUpdatedInventory,
396
    25:i64 lastUpdatedInventoryTimestamp,
397
    26:i64 shippingTime
9621 manish.sha 398
}
399
 
400
struct ProductFeedSubmit{
401
	1:i64 catalogItemId,
402
	2:bool stockLinkedFeed
9242 kshitij.so 403
}    
404
 
9724 kshitij.so 405
struct MarketplaceSearchFilter{
406
	1:bool isListedOnMarketplace,
407
	2:bool isInventoryOverride,
408
	3:bool isPriceOverride,
409
	4:bool isManualFavourite,
410
	5:bool isAutoFavourite,
411
	6:bool isAutoDecrement,
412
	7:bool isAutoIncrement,
413
	8:i64 source
414
}
415
 
9779 kshitij.so 416
/*
417
	Return Provision, emiFee, commission, service tax are in percentage
418
*/
419
 
420
struct MarketplacePercentage{
421
	1:i64 source,
422
	2:double emiFee,
423
	3:double closingFee,
424
	4:double returnProvision,
425
	5:double commission,
10287 kshitij.so 426
	6:double serviceTax,
427
	7:double pgFee
9779 kshitij.so 428
}
429
 
9776 vikram.rag 430
struct MarketPlaceItemPrice{
10097 kshitij.so 431
    1:i64 item_id,
432
	2:i64 source,
433
	3:double sellingPrice,
434
	4:i64 lastUpdatedOn,
435
	5:i64 lastUpdatedOnMarketplace,
436
	6:bool isPriceOverride,
9776 vikram.rag 437
	7:bool isListedOnSource
438
 
439
}
440
 
9945 vikram.rag 441
struct FlipkartItem{
10097 kshitij.so 442
    1:i64 item_id,
443
    2:double exceptionPrice,
444
    3:i64 warehouseId,
445
    4:double commissionValue,
446
    5:double serviceTaxValue,
447
    6:double maxNlc,
448
    7:string skuAtFlipkart,
449
    8:bool isListedOnFlipkart,
450
    9:bool suppressPriceFeed,
451
    10:bool suppressInventoryFeed,
452
    11:string updatedBy,
453
    12:string flipkartSerialNumber,
454
    13:MarketplaceItems marketplaceItems,
9945 vikram.rag 455
}
456
 
10097 kshitij.so 457
struct FlipkartItemDetails{
458
	1:i64 item_id,
459
	2:i64 warehouseId,
460
	3:double exceptionPrice,
461
	4:bool isListedOnFlipkart,
462
    5:double commission,
463
    6:double serviceTax,
464
    7:string brand,
465
    8:string model_name,
466
    9:string model_number,
467
    10:string color,
468
    11:bool risky,
469
    12:status itemStatus,
470
    13:bool suppressPriceFeed,
471
    14:bool suppressInventoryFeed,
472
    15:double weight,
473
    16:double mrp,
474
    17:double websiteSellingPrice,
475
    18:double maxNlc,
476
    19:string skuAtFlipkart,
477
    20:i64 lastUpdatedInventory,
478
    21:i64 lastUpdatedInventoryTimestamp,
10156 amar.kumar 479
    22:string flipkartSerialNumber,
480
    23:i64 category
10097 kshitij.so 481
}
9945 vikram.rag 482
 
5945 mandeep.dh 483
service CatalogService extends GenericService.GenericService{
763 rajveer 484
 
85 ashish 485
/**
486
	Availability and inventory attributes	
487
*/
488
	//all add and update methods - added by Ashish
5945 mandeep.dh 489
	i64 addItem(1:Item item) throws (1:CatalogServiceException cex),
490
	i64 updateItem(1:Item item) throws (1:CatalogServiceException cex),
2983 chandransh 491
 
492
	/**
493
	Checks if the item given to the corresponding itemId is active. If it's active,
494
	whether it's risky and if it's risky, its inventory position.
495
	*/
5945 mandeep.dh 496
	ItemShippingInfo isActive(1:i64 itemId) throws (1:CatalogServiceException isex),
7438 amit.gupta 497
 
498
	map<i64, bool> getItemsStatus(1:list<i64> itemIds) throws (1:CatalogServiceException isex),
2983 chandransh 499
 
5945 mandeep.dh 500
	string getItemStatusDescription(1:i64 itemId) throws (1:CatalogServiceException isex),
3323 chandransh 501
 
103 ashish 502
	//Item management apis
5945 mandeep.dh 503
	void startItemOn(1:i64 item_id, 2:i64 timestamp) throws (1:CatalogServiceException cex),
504
	void retireItemOn(1:i64 item_id, 2:i64 timestamp) throws (1:CatalogServiceException cex),
505
	void changeItemStatus(1:i64 item_id, 2:i64 timestamp, 3:status newstatus) throws (1:CatalogServiceException cex),
85 ashish 506
	//Other accessor methods - added by Ashish
5945 mandeep.dh 507
	Item getItem(1:i64 item_id) throws (1:CatalogServiceException cex),
508
	list<Item> getItemsByCatalogId(1:i64 catalog_item_id) throws  (1:CatalogServiceException cex),
509
	list<Item> getValidItemsByCatalogId(1:i64 catalog_item_id) throws  (1:CatalogServiceException cex),
510
	list<Item> getAllItems(1:bool isActive) throws (1:CatalogServiceException cex),
511
	list<Item> getAllItemsByStatus(1:status itemStatus) throws (1:CatalogServiceException cex),
9253 rajveer 512
	bool markItemAsContentComplete(1:i64 entityId, 2:i64 category, 3:string brand, 4:string modelName, 5:string modelNumber, 6:bool isAndroid) throws (1:CatalogServiceException cex),
646 chandransh 513
 
3355 chandransh 514
	/**
3848 chandransh 515
	Gets at most 'limit' items starting at the given offset. Returns an empty list if there are no more items at the given offset.
516
	*/
5945 mandeep.dh 517
	list<Item> getAllItemsInRange(1:i64 offset, 2:i64 limit) throws (1:CatalogServiceException cex),
3848 chandransh 518
 
519
	/**
520
	Gets at most 'limit' items starting at the given offset in the given status. Returns an empty list if there are no more items at the given offset.
521
	*/
5945 mandeep.dh 522
	list<Item> getAllItemsByStatusInRange(1:status itemStatus, 2:i64 offset, 3:i64 limit) throws (1:CatalogServiceException cex),
3848 chandransh 523
 
524
	/**
525
	Gets a count of all items by status
526
	*/
527
	i32 getItemCountByStatus(1:bool useStatus, 2:status itemStatus),
1157 rajveer 528
 
502 rajveer 529
	// for home page .... best deals, best sellers and latest arrivals
5945 mandeep.dh 530
	list<Item> getBestSellers() throws (1:CatalogServiceException isex),
531
	list<i64> getBestSellersCatalogIds(1:i64 beginIndex, 2:i64 totalItems, 3:string brand, 4:i64 category) throws (1:CatalogServiceException cex),
532
	i64 getBestSellersCount() throws (1:CatalogServiceException cex),
588 chandransh 533
 
5945 mandeep.dh 534
	list<Item> getBestDeals() throws (1:CatalogServiceException isex),
535
	list<i64> getBestDealsCatalogIds(1:i64 beginIndex, 2:i64 totalItems, 3:string brand, 4:i64 category) throws (1:CatalogServiceException cex),
536
	i64 getBestDealsCount() throws (1:CatalogServiceException cex),
5217 amit.gupta 537
 
5945 mandeep.dh 538
	list<Item> getComingSoon() throws (1:CatalogServiceException isex),
539
	list<i64> getComingSoonCatalogIds(1:i64 beginIndex, 2:i64 totalItems, 3:string brand, 4:i64 category) throws (1:CatalogServiceException cex),
540
	i64 getComingSoonCount() throws (1:CatalogServiceException cex),
588 chandransh 541
 
2975 chandransh 542
	/**
543
	Returns a list of items sorted in the descending order by start date.
544
	The list is limited to the 'latest_arrivals_count' configuraiton parameter.
545
	*/
5945 mandeep.dh 546
	list<Item> getLatestArrivals() throws (1:CatalogServiceException isex),
2975 chandransh 547
 
548
	/**
549
	Returns the list of catalog ids of latest arrivals in the given categories of the given brand.
550
	To ignore the categories, pass the list as empty. To ignore brand, pass it as null.   
551
	*/
5945 mandeep.dh 552
	list<i64> getLatestArrivalsCatalogIds(1:i64 beginIndex, 2:i64 totalItems, 3:string brand, 4:list<i64> categories) throws (1:CatalogServiceException cex),
2975 chandransh 553
 
554
	/**
555
	Get the total number of latest arrivals we are willing to show.
556
	The count's upper bound is the 'latest_arrivals_count' configuraiton parameter.
557
	*/
5945 mandeep.dh 558
	i64 getLatestArrivalsCount() throws (1:CatalogServiceException cex),
632 rajveer 559
 
1157 rajveer 560
 
561
	i64 generateNewEntityID(),
562
 
563
	/**
1967 rajveer 564
	* All category related functions
565
	*/
566
	bool addCategory(1:Category category),
567
	Category getCategory(1:i64 id),
1990 ankur.sing 568
	list<Category> getAllCategories(),
1967 rajveer 569
 
1990 ankur.sing 570
	/**
4423 phani.kuma 571
	Returns the list of similar items.
572
	*/
573
	list<Item> getAllSimilarItems(1:i64 itemId),
574
 
575
	/**
576
	Adds similar item.
577
	*/
5945 mandeep.dh 578
	Item addSimilarItem(1:i64 itemId, 2:i64 catalogItemId) throws (1:CatalogServiceException cex),
4423 phani.kuma 579
 
580
	/**
6511 kshitij.so 581
	Tag Related
582
	*/
583
 
584
	bool addTag(1:string displayName, 2:i64 itemId),
585
	bool deleteEntityTag(1:string displayName, 2:i64 itemId),
586
	bool deleteTag(1:string displayName),
587
	list<string> getAllTags(),
588
	list<i64> getAllEntitiesByTagName(1:string displayName)
6842 amit.gupta 589
	map<i64, list<string>> getAllEntityTags()
6511 kshitij.so 590
 
8579 kshitij.so 591
	/**
592
	Banner Related
593
	*/
594
 
10097 kshitij.so 595
	bool addBanner(1:BannerCongregate bannerCongregate),
8579 kshitij.so 596
	bool updateBanner(1:Banner banner),
597
	list <Banner> getAllBanners(),
9155 kshitij.so 598
	bool deleteBanner(1:string bannerName,2:BannerType bannerType),
599
	Banner getBannerDetails(1:string bannerName,2:BannerType bannerType),
8579 kshitij.so 600
	map<string,list<Banner>> getActiveBanners(),
601
	bool addBannerMap(1:list<BannerMap> bannerMaps),
602
	bool updateBannerMap(1:BannerMap bannerMap),
6848 kshitij.so 603
	bool deleteBannerMap(1:string bannerName),
9155 kshitij.so 604
	list <BannerMap> getBannerMapDetails(1:string bannerName,2:BannerType bannerType),
8579 kshitij.so 605
	void addBannerUri(1:list<BannerUriMapping> bannerUriMappings),
9155 kshitij.so 606
	list<BannerUriMapping> getUriMapping(1:string bannerName,2:BannerType bannerType),
8579 kshitij.so 607
	void addCampaign(1:Campaign campaign),
608
	list<Campaign> getCampaigns(1:string campaignName),
609
	void deleteCampaign(1:i64 campaignId),
610
	list<string> getAllCampaigns(),
9155 kshitij.so 611
	map<string,list<Banner>> getActiveBannersForMobileSite(),
6511 kshitij.so 612
	/**
4423 phani.kuma 613
	Delete similar item.
614
	*/
5945 mandeep.dh 615
	bool deleteSimilarItem(1:i64 itemId, 2:i64 catalogItemId) throws (1:CatalogServiceException cex),
4423 phani.kuma 616
 
617
	/**
4725 phani.kuma 618
	Checks if similar item exists (with same Brand, ModelNumber, ModelName, Color)
2113 ankur.sing 619
	If yes, returns the itemId else returns 0
620
	*/
4725 phani.kuma 621
	i64 checkSimilarItem(1:string brand, 2:string modelNumber, 3:string modelName, 4:string color),
2284 ankur.sing 622
 
623
	/**
5945 mandeep.dh 624
	Check wether item is risky and change status if inventory is not available for risky items
2284 ankur.sing 625
	*/
5945 mandeep.dh 626
	void validateRiskyStatus(1:i64 itemId),
2356 ankur.sing 627
 
628
	/**
5945 mandeep.dh 629
    Marks/Unmarks an item as risky. This flag is used for automatic marking of an item as INACTIVE in case of zero inventory.
630
    */
631
    void changeItemRiskyFlag(1:i64 itemId, 2:bool risky),
632
 
633
 
634
	/**
2356 ankur.sing 635
	Returns list of items marked as risky.
636
	*/
637
	list<Item> getItemsByRiskyFlag(),
638
 
639
	/**
4957 phani.kuma 640
	Returns list of items with any status except PHASED_OUT and filtered by category, brand.
2356 ankur.sing 641
	*/
4957 phani.kuma 642
	list<Item> getItemsForMasterSheet(1:string category, 2:string brand),
2807 rajveer 643
 
644
	/**
645
	Returns list of catalog ids of items with same similarity index as of the given itemId 
646
	*/
647
	list<i64> getSimilarItemsCatalogIds(1:i64 beginIndex, 2:i64 totalItems, 3:i64 itemId),
3079 rajveer 648
 
649
	/**
650
	Add user requests for out of stock items. Once user will ask for notify me an entry will 
651
	*/
3086 rajveer 652
	bool addProductNotification(i64 itemId, string email),
3079 rajveer 653
 
3086 rajveer 654
	/**
655
		Send the product notifications to the users for items which has stock.
656
	*/
3348 varun.gupt 657
	bool sendProductNotifications(),
3079 rajveer 658
 
3348 varun.gupt 659
	/**
660
		Returns list of brand names for a given category Id
661
	*/
3556 rajveer 662
	list<string> getAllBrandsByCategory(1:i64 categoryId),
4957 phani.kuma 663
 
664
    /**
665
		Returns list of brand names
666
	*/
667
	list<string> getAllBrands(),
668
 
3556 rajveer 669
	/**
670
	Return list of all sources
671
	*/
672
	list<Source> getAllSources(), 
673
 
674
	/**
675
	Returns the pricing information of an item. If no information is found, exception will be thrown.
676
	*/
5945 mandeep.dh 677
	SourceItemPricing getItemPricingBySource(1:i64 itemId, 2:i64 sourceId) throws (1:CatalogServiceException cex),
3556 rajveer 678
 
679
	/**
680
	Adds prices to be displayed corresponding to the item if user comes from a source.
681
	If item is not found or source is not found, it will throw exception.
682
	*/
5945 mandeep.dh 683
	void addSourceItemPricing(1:SourceItemPricing sourceItemPricing) throws (1:CatalogServiceException cex),
3556 rajveer 684
 
685
	/**
686
	Returns the list of source pricing information of an item.
687
	Raises an exception if item not found corresponding to itemId
688
	*/
5945 mandeep.dh 689
	list<SourceItemPricing> getAllSourcePricing(1:i64 itemId) throws (1:CatalogServiceException cex),
3556 rajveer 690
 
691
	/**
692
	Get the item for a given itemId and sourceId. MRP and sellingPrice will be updated for source if we have different prices for source.
693
	*/
5945 mandeep.dh 694
	Item getItemForSource(1:i64 item_id, 2:optional i64  sourceId) throws (1:CatalogServiceException cex),
3872 chandransh 695
 
696
	/**
697
	Searches items matching the the given terms in the catalog and returns results within the specified range.
698
	*/
699
	list<Item> searchItemsInRange(1:list<string> searchTerms, 2:i64 offset, 3:i64 limit),
700
 
701
	/**
702
	Gets the count of search results for the given search terms so that the user can go through all the pages.
703
	*/
4024 chandransh 704
	i32 getSearchResultCount(1:list<string> searchTerms),
705
 
706
	/**
4295 varun.gupt 707
	Returns a list of product notifications added after a supplied datetime
708
	*/
709
	list<ProductNotificationRequest> getProductNotifications(1:i64 startDateTime),
710
 
711
	/**
712
	Returns a list of count of requests for product notification against each item
713
	*/
7897 amar.kumar 714
	list<ProductNotificationRequestCount> getProductNotificationRequestCount(1:i64 startDateTime, 2:i64 categoryId);
4370 anupam.sin 715
 
716
	/**
4649 phani.kuma 717
	This method adds a log to authorize table with Item Id, username who authorized the change, reason.
718
	*/
5945 mandeep.dh 719
	bool addAuthorizationLog(1:i64 itemId, 2:string username, 3:string reason) throws (1:CatalogServiceException cex),
5504 phani.kuma 720
 
5945 mandeep.dh 721
	bool addupdateVoucherForItem(1:i64 catalog_item_id, 2:i64 voucherType, 3:i64 voucherAmount) throws (1:CatalogServiceException cex),
5504 phani.kuma 722
 
5945 mandeep.dh 723
	bool deleteVoucherForItem(1:i64 catalog_item_id, 2:i64 voucherType) throws (1:CatalogServiceException cex),
5504 phani.kuma 724
 
5512 rajveer 725
	i64 getVoucherAmount(1:i64 itemId, 2:i64 voucherType),
5504 phani.kuma 726
 
727
	list<VoucherItemMapping> getAllItemVouchers(1:i64 itemId),
5586 phani.kuma 728
 
6039 amit.gupta 729
	bool isValidCatalogItemId(1:i64 catalog_item_id),
730
 
7340 amit.gupta 731
	double getVatPercentageForItem(1:i64 itemId, 2:i64 stateId, 3:double price) throws (1:CatalogServiceException cex),
6531 vikram.rag 732
 
733
	double getVatAmountForItem(1:i64 itemId, 2:double price),
734
 
6821 amar.kumar 735
	list<Item> getAllIgnoredInventoryUpdateItemsList(1:i32 offset,2:i32 limit),
736
 
737
	list<Item> getAllAliveItems();	
6805 anupam.sin 738
 
739
	/**
740
	This method returns the insurance amount needed to insure the given item for a given quantity.
741
	*/
6921 anupam.sin 742
	i64 getInsuranceAmount(1:i64 itemId, 2:double price, 3:i64 insurerId, 4:i64 quantity),
6805 anupam.sin 743
 
6921 anupam.sin 744
	Insurer getInsurer(1:i64 insurerId),
6838 vikram.rag 745
 
6962 rajveer 746
	list<Insurer> getAllInsurers(),
747
 
7190 amar.kumar 748
	void updateInsuranceDeclaredAmount(1:i64 insurerId, 2:double amount),
749
 
750
	i64 getFreebieForItem(1:i64 itemId),
751
 
7256 rajveer 752
	void addOrUpdateFreebieForItem(1:FreebieItem freebieItem),
753
 
7272 amit.gupta 754
	void addOrUpdateBrandInfo(1:BrandInfo brandInfo),
755
 
7291 vikram.rag 756
	map<string, BrandInfo> getBrandInfo(),
7272 amit.gupta 757
 
7265 rajveer 758
	StorePricing getStorePricing(1:i64 itemId),
759
 
7306 rajveer 760
	list<StorePricing> getStorePricings(1:list<i64> itemIds),
761
 
7382 rajveer 762
	void updateStorePricing(1:StorePricing sp, 2:bool allColors),
7281 kshitij.so 763
 
764
	list<Amazonlisted> getAllAmazonListedItems(),
765
 
8619 kshitij.so 766
	list<Amazonlisted> searchAmazonItems(1:list<string> searchTerm,2:i64 offset,3:i64 limit),
767
 
768
	i64 getAmazonSearchResultCount(1:list<string> searchTerm),
769
 
770
	i64 getCountForAmazonlistedItems(),
771
 
7281 kshitij.so 772
	Amazonlisted getAmazonItemDetails(1:i64 itemId),
773
 
8168 kshitij.so 774
	void updateAmazonItemDetails(1:Amazonlisted amazonlisted),
7281 kshitij.so 775
 
7291 vikram.rag 776
	void addAmazonItem(1:Amazonlisted amazonlisted),
7281 kshitij.so 777
 
7291 vikram.rag 778
	list<Item> getAsinItems(),
7281 kshitij.so 779
 
7291 vikram.rag 780
	list<Amazonlisted> getAllFbaListedItems(),
781
 
7460 kshitij.so 782
	list<Amazonlisted> getAllNonFbaListedItems(),
7291 vikram.rag 783
 
7770 kshitij.so 784
	bool updateItemInventory(1:i64 itemId, 2:i64 holdInventory, 3:i64 defaultInventory),
7460 kshitij.so 785
 
7770 kshitij.so 786
	bool updateTimestampForAmazonFeeds(1:string type, 2: list<i64> sku, 3:i64 timestamp)
787
 
7897 amar.kumar 788
	list<Category> getAllParentCategories()
789
 
7977 kshitij.so 790
	void addPageViewEvent(1:PageViewEvents pageViewEvents)
791
 
792
	void addCartEvent(1:CartEvents cartEvents)
793
 
8182 amar.kumar 794
	void addEbayItem(1:EbayItem ebayItem)
795
 
796
	EbayItem getEbayItem(1:string listingId)
797
 
798
	void updateEbayItem(1:EbayItem ebayItem)
799
 
8139 kshitij.so 800
	list<Amazonlisted> getAmazonListedItems(1:i64 offset,2:i64 limit)
801
 
8168 kshitij.so 802
	bool updateAmazonAttributesInBulk(1:map<i64, Amazonlisted> amazonlisted)
8379 vikram.rag 803
 
804
	list<Amazonlisted> getAllItemstoListOnFba()
805
 
806
	list<Amazonlisted> getAllItemstoListOnNonFba()
8616 vikram.rag 807
 
8619 kshitij.so 808
	void updateAsin(1:map<i64, Item> item)
8739 vikram.rag 809
 
810
	bool addOrUpdateSnapdealItem(SnapdealItem snapdealitem)
811
 
812
	SnapdealItem getSnapdealItem(1:i64 item_id)
813
 
9242 kshitij.so 814
	SnapdealItemDetails getSnapdealItemDetails(1:i64 item_id)
9155 kshitij.so 815
 
9242 kshitij.so 816
	list<SnapdealItemDetails> getAllSnapdealItems()
9155 kshitij.so 817
 
9242 kshitij.so 818
	list<SnapdealItemDetails> getSnapdealItems(1:i64 offset,2:i64 limit)
819
 
820
	list<SnapdealItemDetails> searchSnapdealItems(1:list<string> searchTerm,2:i64 offset,3:i64 limit)
821
 
822
	i64 getCountForSnapdealItems()
823
 
824
	i64 getSnapdealSearchResultCount(1:list<string> searchTerm)
9299 kshitij.so 825
 
826
	i64 getPrefferedInsurerForItem(1:i64 itemId, 2:InsurerType insurerType)
9456 vikram.rag 827
 
828
	SnapdealItem getSnapdealItembySkuAtSnapdeal(string skuAtSnapdeal)
9621 manish.sha 829
 
830
	ProductFeedSubmit getProductFeedSubmit(1:i64 catalogItemId) throws (1:CatalogServiceException cex),
831
 
832
	bool addProductFeedSubmit(1:ProductFeedSubmit productFeedSubmit) throws (1:CatalogServiceException cex),
833
 
834
	bool updateProductFeedSubmit(1:ProductFeedSubmit productFeedSubmit) throws (1:CatalogServiceException cex),
8182 amar.kumar 835
 
9621 manish.sha 836
	bool deleteProductFeedSubmit(1:i64 catalogItemId) throws (1:CatalogServiceException cex),
837
 
9779 kshitij.so 838
	list<ProductFeedSubmit> getAllProductFeedSubmit() throws (1:CatalogServiceException cex)
9724 kshitij.so 839
 
840
	MarketplaceItems getMarketplacedetailsForItem(1:i64 itemId,2:i64 sourceId)
841
 
842
	bool updateMarketplaceAttributesForItem(1:MarketplaceItems marketPlaceItem)
9776 vikram.rag 843
 
9779 kshitij.so 844
	MarketplacePercentage getCostingForMarketplace(1:i64 source,2:i64 item_id)
845
 
9776 vikram.rag 846
	list<MarketPlaceItemPrice> getMarketPlaceItemsForPriceUpdate(1:i64 source),
847
 
9909 kshitij.so 848
	void updateMarketPlacePriceUpdateStatus(1:list<i64> skulist,2:i64 timestamp,3:i64 source),
9776 vikram.rag 849
 
10097 kshitij.so 850
	void updateItemHoldInventory(1:map<i64,i64> itemHoldMap),	
9776 vikram.rag 851
 
10097 kshitij.so 852
	void updateNlcAtMarketplaces(1:i64 item_id,2:i64 vendor_id,double nlc),
9895 vikram.rag 853
 
10097 kshitij.so 854
	list<FlipkartItem> getAllFlipkartItems(),
9945 vikram.rag 855
 
10097 kshitij.so 856
	bool addOrUpdateFlipkartItem(FlipkartItem flipkartitem),
857
 
858
	FlipkartItem getFlipkartItem(1:i64 item_id),
859
 
860
	FlipkartItemDetails getFlipkartItemDetails(1:i64 item_id),
861
 
862
	list<FlipkartItemDetails> getFlipkartItems(1:i64 offset,2:i64 limit),
863
 
864
	list<FlipkartItemDetails> searchFlipkartItems(1:list<string> searchTerm,2:i64 offset,3:i64 limit),
865
 
866
	i64 getCountForFlipkartItems(),
867
 
868
	i64 getFlipkartSearchResultCount(1:list<string> searchTerm),
869
 
870
	list<FlipkartItemDetails> getAllFkItems()
871
 
10140 vikram.rag 872
	FlipkartItem getFlipkartItemBySkyAtFlipkart(string sku)
873
 
10909 vikram.rag 874
	list<Amazonlisted> getAllFbbListedItems(),
875
 
5110 mandeep.dh 876
}