Subversion Repositories SmartDukaan

Rev

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