Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
48 ashish 1
namespace java in.shop2020.model.v1.user
95 ashish 2
namespace py shop2020.thriftpy.model.v1.user
48 ashish 3
 
3374 rajveer 4
include "GenericService.thrift"
5
 
48 ashish 6
/**
7
Exceptions
8
*/
9
exception AuthenticationException{
10
	1:string message,
11
	2:i32 errorCode
12
}
13
 
14
exception UserContextException{
15
	1:i32 errorCode,
16
	2:string message
17
}
18
 
552 chandransh 19
exception ShoppingCartException{
20
	1:i64 id,
21
	2:string message
22
}
23
 
1116 varun.gupt 24
exception UserCommunicationException{
25
	1:i64 id,
26
	2:string message
27
}
28
 
1995 vikas 29
exception UserAffiliateException{
1848 vikas 30
    1:i64 id,
31
    2:string message
32
}
33
 
1599 ankur.sing 34
enum UserType{
35
	USER = 0,
36
	ANONYMOUS = 1 
37
}
38
 
6367 amit.gupta 39
enum PromotionType{
40
	DISCOUNT_COUPON = 0,
41
	GIFT_VOUCHER = 1 
42
}
43
 
121 ashish 44
enum AddressType{
130 ashish 45
	WORK = 0,
46
	HOME = 1
48 ashish 47
}
48
 
8707 manish.sha 49
/** Added by Manish Sharma
50
*/
51
enum CouponCategory{
52
	CUSTOMER_SATISFACTION = 0,
53
	MARKETING = 1,
11653 amit.gupta 54
	REFUND = 2,
55
	CATEGORY = 3
8707 manish.sha 56
}
130 ashish 57
 
48 ashish 58
/**
1116 varun.gupt 59
Form types for Contact Us form
60
*/
61
enum UserCommunicationType{
62
	RETURN_FORM = 1,
63
	ORDER_CANCELLATION = 2,
64
	DELIVERY_PROBLEM = 3,
65
	PAYMENT_STATUS = 4,
66
	ORDER_STATUS = 5,
67
	PRODUCT_REQUEST = 6,
6176 amit.gupta 68
	RECHARGE_RELATED = 7,
3339 mandeep.dh 69
	OTHER = 8
6176 amit.gupta 70
 
1116 varun.gupt 71
}
72
 
73
/**
3379 vikas 74
Affiliate track log types for affiliate tracking
75
*/
76
enum TrackLogType{
77
    NEW_REGISTRATION = 1,
78
    PAYMENT_SUCCESS = 2
79
}
80
 
81
/**
121 ashish 82
Address
83
*/
84
struct Address{
552 chandransh 85
	1:i64 id,
86
	2:string line1,
87
	3:string line2,
88
	4:string landmark,
89
	5:string city,
90
	6:string state,
91
	7:string pin,
92
	8:string country,
48 ashish 93
	9:bool enabled,
123 ashish 94
	10:AddressType type,
414 ashish 95
	11:i64 addedOn,
96
	12:string name,
97
	13:string phone
48 ashish 98
}
99
 
552 chandransh 100
enum Sex{
101
	MALE,
102
	FEMALE,
103
	WONT_SAY
104
}
105
 
121 ashish 106
/**
552 chandransh 107
The user structure holding the basic information that identifies the user.
121 ashish 108
**/
552 chandransh 109
struct User{
110
	1:i64 userId,
111
	2:string email,
112
	3:string password,
113
	4:string name,
566 rajveer 114
	5:string dateOfBirth,
1116 varun.gupt 115
	6:Sex sex,
3853 mandeep.dh 116
	7:optional string mobileNumber,
5326 rajveer 117
	8:i64 lastLogin,
118
	9:i64 lastLogout,
119
	10:i64 activeSince,
120
	11:list<Address> addresses,
121
	12:i64 defaultAddressId,
122
	13:string communicationEmail,
123
	14:i64 activeCartId,
124
	15:string jsessionId,
125
	16:bool isAnonymous,
126
	17:string source,
127
	18:i64 sourceStartTime,
7825 amar.kumar 128
	19:double trustLevel,
129
	20:bool isFacebookUser,
130
	21:string facebookAccessToken,
8201 rajveer 131
	22:string facebookId,
132
	23:i64 sourceId
48 ashish 133
}
134
 
1116 varun.gupt 135
struct UserCommunication{
136
	1:i64 id,
137
	2:i64 userId,
138
	3:UserCommunicationType communicationType,
139
	4:i64 orderId,
140
	5:string airwaybillNo,
141
	6:string replyTo,
142
	7:string productName,
143
	8:string subject,
144
	9:string message,
1299 varun.gupt 145
	10:i64 communication_timestamp
1116 varun.gupt 146
}
147
 
1848 vikas 148
struct MasterAffiliate{
149
    1:i64 id,
150
    2:string name,
1861 vikas 151
    3:i64 addedOn
1848 vikas 152
}
153
 
154
struct Affiliate{
155
    1:i64 id,
156
    2:string name,
157
    3:string url,
1861 vikas 158
    4:i64 masterAffiliateId,
159
    5:i64 addedOn
1848 vikas 160
}
161
 
162
struct Tracker{
163
    1:i64 id,
1861 vikas 164
    2:i64 affiliateId,
1848 vikas 165
}
166
 
167
struct TrackLog{
168
    1:i64 id,
1861 vikas 169
    2:i64 addedOn,
1995 vikas 170
    3:i64 affiliateId,
1861 vikas 171
    4:i64 userId,
3379 vikas 172
    5:TrackLogType eventType,
1861 vikas 173
    6:string url,
174
    7:string data
1848 vikas 175
}
176
 
552 chandransh 177
//Various statuses for line items
178
enum LineStatus{
179
	LINE_ACTIVE,			//line is active
180
	LINE_DELETED,			//line is deleted
181
	LINE_EXPIRED,			//line is expired, on laspse of fixed amount of time
182
	LINE_COMMITED,			//line is committed, sent for processing.
183
	LINE_COMMIT_FAILED,		//line was committed, but commit failed due to some reason, possibly during cart validation.
184
	LINE_AUTO_DELETED,		//line was auto deleted internally due to some reason(item delisted, price changed etc).
185
}
186
 
187
//Various statuses for Cart
188
enum CartStatus{
189
	ACTIVE,					
190
	INACTIVE,
191
	EXPIRED,
192
	COMMITTED,
193
	COMMIT_FAILED
194
}
195
 
3554 varun.gupt 196
struct Discount{
197
	1:i64 cart_id,
198
    2:i64 item_id,
199
    3:double discount,
200
    4:double quantity
201
}
202
 
552 chandransh 203
struct Line{
646 chandransh 204
	1:i64 cartId,				//identifier
552 chandransh 205
	2:i64 itemId,			//item id added
206
	3:double quantity,		//quantity added 
207
	4:i64 createdOn,		//addition timestamp
208
	5:i64 updatedOn, 		//any updation in quantity or status
209
	6:LineStatus lineStatus,	//current status
1984 varun.gupt 210
	7:i32 estimate,			//delivery estimate in hours
211
	8:double actualPrice,
3554 varun.gupt 212
	9:double discountedPrice,
6903 anupam.sin 213
	10:list<Discount> discounts,
214
	11:i64 insurer,
9299 kshitij.so 215
	12:double insuranceAmount,
216
	13:i64 dataProtectionInsurer,
11653 amit.gupta 217
	14:double dataProtectionAmount,
218
	15:string dealText,
11738 amit.gupta 219
	16:i64 freebieId
11653 amit.gupta 220
 
552 chandransh 221
}
222
 
223
struct Cart{
224
	1:i64 id,				//identifier
225
	2:list<Line> lines,		//list of lines
226
	3:CartStatus status,	//current status
227
	4:i64 createdOn,		//creation timestamp
228
	5:i64 updatedOn,		//time of last update in cart (like addition/deletion/updation of cart items )
687 chandransh 229
	6:i64 checkedOutOn,		//commited timestamp
5326 rajveer 230
	7:i64 addressId,	    //address on which this will be shipped
231
	8:double totalPrice,
232
	9:double discountedPrice,
5553 rajveer 233
	10:string couponCode,
6736 amit.gupta 234
	11:i64 pickupStoreId,
235
	12:string message		//This is introduced to display custom message as and when required to the Website for user display.
552 chandransh 236
}
237
 
11592 amit.gupta 238
struct CartPlus {
239
	1:Cart cart,
240
	2:string 	pinCode,
241
	3:bool needInsuranceInfo,
242
	4:list<string> validateCartMessages
243
}
244
 
552 chandransh 245
enum WidgetType{
770 rajveer 246
	MY_RESEARCH,
247
	BROWSE_HISTORY
248
}
249
 
2981 rajveer 250
struct UserWidgetItem{
251
	1:i64 userId,
252
	2:i64 widgetId,
253
	3:i64 itemId,
254
	4:i64 addedOn
552 chandransh 255
}
256
 
257
exception WidgetException{
258
	1:i64 id,
259
	2:string message
260
}
261
 
48 ashish 262
/**
1984 varun.gupt 263
Exceptions for Promotion Service
264
*/
265
exception PromotionException{
266
	1:i64 id,
267
	2:string message
268
}
269
 
270
/**
271
Types for Promotion Service
272
*/
273
 
274
struct Promotion{
275
	1:i64 id,
276
	2:string name,
277
	3:string ruleExecutionSrc,
278
	4:i64 startOn,
279
	5:i64 endOn,
280
	6:i64 createdOn
281
}
282
 
283
struct Coupon{
3554 varun.gupt 284
	1:string couponCode,
285
	2:Promotion promotion,
8707 manish.sha 286
	3:string arguments,
287
	4:CouponCategory coupon_category
1984 varun.gupt 288
}
289
 
290
struct PromotionTracking{
291
	1:string couponCode,
292
	2:i64 transactionId,
293
	3:i64 userId,
294
	4:bool appliedOn
295
}
296
 
4189 varun.gupt 297
struct ItemCouponDiscount{
298
	1:i64 itemId,
299
	2:string couponCode,
300
	3:double discount
301
}
302
 
5469 rajveer 303
enum VoucherType{
5492 rajveer 304
	SPICEDECK_MOBILE=1
5469 rajveer 305
}
306
 
307
struct Voucher{
308
	1:i64 id,
309
	2:string voucherCode,
310
	3:VoucherType voucherType,
311
	4:i64 issuedOn,
312
	5:double amount,
313
	6:i64 expiredOn,
314
	7:string userEmail
315
}
316
 
317
 
1984 varun.gupt 318
/**
319
Promotion Service
320
*/
3374 rajveer 321
service PromotionService extends GenericService.GenericService{
1984 varun.gupt 322
	void createPromotion(1:string name, 2:string ruleExecutionSrc, 3:i64 startOn, 4:i64 endOn) throws (1:PromotionException pex),
7746 amit.gupta 323
	i64 removeAllCouponsByPromotionId(1:i64 promotionId) throws (1:PromotionException pex),
6301 amit.gupta 324
	Coupon getCoupon(1:string couponCode) throws (1:PromotionException pex),
325
	bool isGiftVoucher(1:string couponCode) throws (1:PromotionException pex),
11819 amit.gupta 326
	bool isCodApplicable(1:Cart cart) throws (1:PromotionException pex),
1984 varun.gupt 327
	list<Promotion> getAllPromotions() throws (1:PromotionException pex),
328
	Promotion getPromotionById(1:i64 promotionId) throws (1:PromotionException pex),
329
	void generateCouponsForPromotion(1:i64 promotionId, 2:string couponCode) throws (1:PromotionException pex),
330
	Cart applyCoupon(1:string couponCode, 2:i64 cartId) throws (1:PromotionException pex),
6736 amit.gupta 331
	map<i64,double>  getEmiDiscount(1:i64 cartId) throws (1:PromotionException pex),
6433 anupam.sin 332
	map<i64, string> applyRechargeCoupon(1:string couponCode, 2:i64 totalAmount, 3:i64 userId) throws (1:PromotionException pex),
1984 varun.gupt 333
    void trackCouponUsage(1:string couponCode, 2:i64 transactionId, 3:i64 userId) throws (1:PromotionException pex),
3385 varun.gupt 334
    i64 getCouponUsageCountByUser(1:string couponCode, 2:i64 userId) throws (1:PromotionException pex),
6497 amit.gupta 335
    list<Coupon> getActiveCodes(1:i64 promotionId) throws (1:PromotionException pex),
336
    void deleteCoupon(1:string couponCode) throws (1:PromotionException pex),
7092 amit.gupta 337
    list<Coupon> getAllCouponsByPromotionId(1:i64 promotionId) throws (1:PromotionException pex),
3385 varun.gupt 338
 
339
    /**
340
     Returns a list of active coupons
341
     */
342
    list<Coupon> getActiveCoupons() throws (1:PromotionException pex),
343
 
344
    /**
6561 amit.gupta 345
     Creates a coupon with prefix (optional, pass null)and returns couponcode if successfully created.
6250 amit.gupta 346
     */
8707 manish.sha 347
    string createCoupon(1:i64 promotionId,2:i64 couponCategory, 3:string couponCode, 4:string arguments 5:bool isCod, 6:string prefix) throws (1:PromotionException pex),
6250 amit.gupta 348
 
349
    /**
3385 varun.gupt 350
     Returns the count of successful payments done using a given coupon
351
     */
352
    i64 getSuccessfulPaymentCountForCoupon(1:string couponCode) throws (1:PromotionException pex),
353
 
354
    /**
355
     Returns the doc string of the rule module
356
     */
4189 varun.gupt 357
    string getRuleDocString(1:string ruleName),
358
 
4494 varun.gupt 359
    list<ItemCouponDiscount> getItemDiscountMap(1:list<i64> itemIds) throws (1:PromotionException pex),
360
 
5469 rajveer 361
    map<string, double> getDiscountsForEntity(1:i64 entityId),
362
 
363
    void addVoucher(1:Voucher voucher),
364
    Voucher assignVoucher(1:i64 userId, 2:string userEmail, 3:VoucherType voucherType, 4:i64 amount),
365
    bool markVoucherAsRedeemed(1:string voucherCode, 2:i64 redeemedOn)
1984 varun.gupt 366
}
367
 
368
/**
48 ashish 369
service
370
*/
3374 rajveer 371
service UserContextService extends GenericService.GenericService{
763 rajveer 372
 
552 chandransh 373
	User createAnonymousUser(1:string jsessionId) throws (1:UserContextException ucex),
374
	User getUserById(1:i64 userId) throws (1:UserContextException ucex),
5326 rajveer 375
	User getUserByCartId(1:i64 cartId) throws (1:UserContextException ucex),
1491 vikas 376
	User getUserByEmail(1:string email) throws (1:UserContextException ucex),
3026 mandeep.dh 377
    User getUserByMobileNumber(1:i64 mobileNumber) throws (1:UserContextException ucex),
552 chandransh 378
	User createUser(1:User user) throws (1:UserContextException ucex),
379
	User updateUser(1:User user) throws (1:UserContextException ucex),
380
	User authenticateUser(1:string email, 2:string password) throws (1:AuthenticationException auex),
381
	bool userExists(1:string email) throws (1:UserContextException ucx),
566 rajveer 382
	i64 addAddressForUser(1:i64 userId, 2:Address address, 3:bool setDefault)throws (1:UserContextException ucx),
48 ashish 383
	bool removeAddressForUser(1:i64 userid, 2:i64 addressId)throws (1:UserContextException ucx),
384
	bool setUserAsLoggedIn(1:i64 userId, 2:i64 timestamp)throws (1:UserContextException ucx),
385
	bool setUserAsLoggedOut(1:i64 userid, 2:i64 timestamp)throws (1:UserContextException ucx),
506 rajveer 386
	bool setDefaultAddress(1:i64 userid, 2:i64 addressId)throws (1:UserContextException ucx),
592 rajveer 387
	bool updatePassword(1:i64 userid, 2:string oldPassword, 3:string newPassword)throws (1:UserContextException ucx),
895 rajveer 388
	bool forgotPassword(1:string email, 2:string newPassword)throws (1:UserContextException ucx),
592 rajveer 389
	list<Address> getAllAddressesForUser(1:i64 userId)throws (1:UserContextException ucx),
1892 vikas 390
	Address getAddressById(1:i64 addressId)throws (1:UserContextException ucx),
592 rajveer 391
	i64 getDefaultAddressId(1:i64 userId)throws (1:UserContextException ucx),
783 rajveer 392
	string getDefaultPincode(1:i64 userId)throws (1:UserContextException ucx),
552 chandransh 393
 
1167 varun.gupt 394
	bool saveUserCommunication(1:i64 userId, 2:string replyTo, 3:i64 communicationType, 4:i64 orderId, 5:string airwaybillNo, 6:string productName, 7:string subject, 8:string message)throws (1:UserCommunicationException ucx)
1590 varun.gupt 395
	UserCommunication getUserCommunicationById(1:i64 id) throws (1:UserCommunicationException ucx)
396
	list<UserCommunication> getUserCommunicationByUser(1:i64 userId) throws (1:UserCommunicationException ucx)
397
	list<UserCommunication> getAllUserCommunications() throws (1:UserCommunicationException ucx)
5407 amar.kumar 398
	void removeUserCommunication(1:i64 id) throws (1:UserCommunicationException ucx)
1116 varun.gupt 399
 
1995 vikas 400
	MasterAffiliate createMasterAffiliate(1:string name, 2:i64 addedOn) throws (1:UserAffiliateException utx)
401
	list<MasterAffiliate> getAllMasterAffiliates() throws (1:UserAffiliateException utx)
402
	MasterAffiliate getMasterAffiliateById(1:i64 id) throws (1:UserAffiliateException utx)
403
    MasterAffiliate getMasterAffiliateByName(1:string name) throws (1:UserAffiliateException utx)
404
	Affiliate createAffiliate(1:string name, 2:string url, 3:i64 masterAffiliateId, 4:i64 addedOn) throws (1:UserAffiliateException utx)
405
	Affiliate getAffiliateById(1:i64 id) throws (1:UserAffiliateException utx)
406
	Affiliate getAffiliateByName(1:string name) throws (1:UserAffiliateException utx)
407
	Tracker getTrackerById(1:i64 id) throws (1:UserAffiliateException utx)
408
	list<Affiliate> getAffiliatesByMasterAffiliate(1:i64 id) throws (1:UserAffiliateException utx)
3379 vikas 409
	i64 addTrackLog(1:i64 affiliateId, 2:i64 userId, 3:TrackLogType event, 4:string url, 5:string data, 6:i64 addedOn) throws (1:UserAffiliateException utx)
1995 vikas 410
	TrackLog getTrackLogById(1:i64 id) throws (1:UserAffiliateException utx)
3293 vikas 411
	list<TrackLog> getTrackLogsByAffiliate(1:i64 affiliateId, 2:i64 startDate, 3:i64 endDate) throws (1:UserAffiliateException utx)
1995 vikas 412
	list<TrackLog> getTrackLogsByUser(1:i64 userId) throws (1:UserAffiliateException utx)
413
	list<TrackLog> getTrackLogs(1:i64 userId, 2:string event, 3:string url) throws (1:UserAffiliateException utx)
1848 vikas 414
 
552 chandransh 415
	Cart getCurrentCart(1:i64 userId) throws (1:ShoppingCartException scx),	
416
	Cart getCart(1:i64 cartId) throws (1:ShoppingCartException scx),
417
	list<Cart> getCartsByTime(1:i64 from_time, 2:i64 to_time, 3:CartStatus status) throws (1:ShoppingCartException scx),
3556 rajveer 418
	string addItemToCart(1:i64 cartId, 2:i64 itemId, 3:i64 quantity, 4:i64 sourceId) throws (1:ShoppingCartException scx),
552 chandransh 419
	void deleteItemFromCart(1:i64 cartId, 2:i64 itemId) throws (1:ShoppingCartException scx),
577 chandransh 420
	void addAddressToCart(1:i64 cartId, 2:i64 addressId) throws (1:ShoppingCartException scx),
5553 rajveer 421
	void addStoreToCart(1:i64 cartId, 2:i64 storeId) throws (1:ShoppingCartException scx),
6922 anupam.sin 422
	void applyCouponToCart(1:Cart cart, 2:string couponCode) throws (1:ShoppingCartException scx),
1984 varun.gupt 423
	void removeCoupon(1:i64 cartId) throws (1:ShoppingCartException scx),
687 chandransh 424
 
425
	/**
3554 varun.gupt 426
	Deletes all the discounts associated with the cart
427
	*/
428
	void deleteDiscountsFromCart(1:i64 cartId) throws (1:ShoppingCartException scx),
429
 
430
	/**
431
	Accepts a list of thrift objects of Discount type and saves them
432
	*/
433
	void saveDiscounts(1:list<Discount> discounts) throws (1:ShoppingCartException scx),
434
 
435
	/**
687 chandransh 436
	 Creates a transaction and multiple orders for the given cart. Returns the transaction ID created.
437
	*/
11526 amit.gupta 438
	i64 createOrders(1:i64 cartId, 2:string sessionSource, 3:i64 sessionStartTime, 4:string firstSource, 5:i64 firstSourceTime, 6:i64 userId, 7:i64 schemeId, 8:i64 orderSource) throws (1:ShoppingCartException scx),
687 chandransh 439
 
440
	/**
441
	 Validates that:
442
	 1. The checkout timestamp is greater than the updatedOn timestamp.
1466 ankur.sing 443
	 2. All of the lines in the cart are active items.
687 chandransh 444
	 3. The estimate for any of the lines in cart doesn't change.
1466 ankur.sing 445
	 If all three are true, returns empty string; else returns appropriate message.
687 chandransh 446
	*/
6736 amit.gupta 447
	list<string> validateCart(1:i64 cartId, 2:i64 sourceId) throws (1:ShoppingCartException scex),
552 chandransh 448
 
687 chandransh 449
	/**
450
	 Merges the lines from the first cart into the second cart. Lines with duplicate items are removed.
451
	*/
452
	void mergeCart(1:i64 fromCartId, 2:i64 toCartId),
453
 
454
	/**
455
	 Sets the checkedOutOn timestamp of the cart. Raises an exception if the specified cart can't be found.
456
	*/
457
	bool checkOut(1:i64 cartId) throws (1:ShoppingCartException scex),
458
 
459
	/**
460
	 The second parameter is a map of item ids and their quantities which have been successfully processed.
461
	 This methods removes the specified quantiry of the specified item from the cart.
770 rajveer 462
	 */
463
	bool resetCart(1:i64 cartId, 2:map<i64, double> items) throws (1:ShoppingCartException scex),
464
 
687 chandransh 465
 
1599 ankur.sing 466
	/**
467
	Returns number of registered users.
468
	If userType = null, then it returns count of all users, including anonymous
469
	If userType = UserType.ANONYMOUS, then it returns count of anonymous users only
470
	If userType = UserType.USER, then it returns count of non-anonymous users only
471
	*/
1672 ankur.sing 472
	i64 getUserCount(1:UserType userType),
1599 ankur.sing 473
 
1672 ankur.sing 474
	/**
1891 ankur.sing 475
	Returns list of users of type userType who registered between startDate and endDate (both inclusive).
476
	If any of startDate or endDate is -1, then that filter is ignored. 
477
	If userType is null, then returns all the users, irrespective of anonymous flag
478
 
1672 ankur.sing 479
	*/
2642 varun.gupt 480
	list<User> getAllUsers(1:UserType userType, 2:i64 startDate, 3:i64 endDate),
2717 varun.gupt 481
 
1599 ankur.sing 482
 
2981 rajveer 483
 
484
	/**
485
	Returns list of item ids in myresearch for the user
486
	*/
487
	list<i64> getMyResearchItems(1:i64 userId) throws (1:WidgetException scx),
488
	/**
489
	add item to my research for a user
490
	*/
491
	bool updateMyResearch(1:i64 userId, 2:i64 itemId) throws (1:WidgetException scx),
492
	/**
493
	delete item from my research for a user
494
	*/
495
	void deleteItemFromMyResearch(1:i64 userId, 2:i64 itemId) throws (1:WidgetException scx),
496
	/**
497
	Returns list of item ids in browse history for the user. It will return maximum 10 items.
498
	*/
499
	list<i64> getBrowseHistoryItems(1:i64 userId) throws (1:WidgetException scx),
500
	/**
501
	add item to browse history for a user
502
	*/
3385 varun.gupt 503
	void updateBrowseHistory(1:i64 userId, 2:i64 itemId),
504
 
505
	/**
506
	Returns count of Carts with given coupon applied
507
	*/
3499 mandeep.dh 508
	i64 getCartsWithCouponCount(1:string couponCode),
509
 
510
	/**
511
	 * Updates COD trust level of a user
512
	 */
4668 varun.gupt 513
	oneway void increaseTrustLevel(1:i64 userId, 2:double trustLevelDelta),
5407 amar.kumar 514
 
515
	/**
516
	 * Get trust level of a user
517
	 */	
518
	double getTrustLevel(1:i64 userId),
4668 varun.gupt 519
 
520
	/**
521
	 * Returns true/false depending on wether COD is allowed for a cart or not
522
	 */
6903 anupam.sin 523
	bool showCODOption(1:i64 cartId, 2:i64 sourceId, 3:string pincode),
5623 anupam.sin 524
 
525
	/**
526
	 * Get email addresses for users activated within a given date range
527
	 */
6903 anupam.sin 528
	list<string> getUserEmails(1:i64 startDate, 2:i64 endDate),
6821 amar.kumar 529
 
530
	/**
6903 anupam.sin 531
	 * Mark a cart lineitem as insured. Returns true/false. 
532
	 */
9299 kshitij.so 533
	 bool insureItem(1:i64 itemId, 2:i64 cartId, 3:bool toInsure, 4:i32 insurerType),
6903 anupam.sin 534
 
535
	 /**
536
	 * Cancel insurance for all items in the cart
537
	 */
538
	 bool cancelInsurance(1:i64 cartId),
539
 
540
	 /**
541
	 * Stores insurance specific details like date of birth and guardianName
542
	 */
543
	 bool storeInsuranceSpecificDetails(1:i64 addressId, 2:string dob, 3:string guardianName),
544
 
545
	 /**
546
	 * Return true or false based on whether the user has stored any insurance info corresponding to the given addressId
547
	 */
548
	 bool isInsuranceDetailPresent(1:i64 addressId)
549
 
550
	/**
9791 rajveer 551
	 * Returns list of item ids which added to cart from startDate to endDate 
6821 amar.kumar 552
	 */
9791 rajveer 553
	list<i64> getProductsAddedToCart(1:i64 startDate, 2:i64 endDate)
11592 amit.gupta 554
 
555
	/**
556
	* This method is speciically used to avoid overloadaed calls to userClient
557
	*/
558
	CartPlus validateCartPlus(1:i64 cartId, 2:i64 sourceId) throws (1:ShoppingCartException scex)
559
 
11679 vikram.rag 560
	bool isPrivateDealUser(1:i64 userId)
11592 amit.gupta 561
 
562
 
11679 vikram.rag 563
 
2642 varun.gupt 564
}