washday-sdk 0.0.9 → 0.0.10

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.
Files changed (47) hide show
  1. package/babel.config.js +7 -7
  2. package/dist/api/axiosInstance.js +42 -42
  3. package/dist/api/customers/get.js +48 -48
  4. package/dist/api/customers/index.js +1 -1
  5. package/dist/api/index.js +12 -12
  6. package/dist/enum/index.js +15 -15
  7. package/dist/index.js +33 -33
  8. package/dist/interfaces/Api.js +2 -2
  9. package/dist/interfaces/Company.js +1 -1
  10. package/dist/interfaces/Customer.js +2 -2
  11. package/dist/interfaces/Order.js +2 -2
  12. package/dist/interfaces/Permission.js +2 -2
  13. package/dist/interfaces/Product.js +2 -2
  14. package/dist/interfaces/Section.js +2 -2
  15. package/dist/interfaces/Store.js +2 -2
  16. package/dist/interfaces/StoreImage.js +2 -2
  17. package/dist/interfaces/User.js +2 -2
  18. package/dist/utils/index.js +17 -17
  19. package/dist/utils/orders/calculateOrderTotal.js +33 -33
  20. package/dist/utils/orders/calculateTotalTaxesIncluded.js +65 -65
  21. package/dist/utils/orders/calculateTotalTaxesOverPrice.js +74 -74
  22. package/dist/utils/orders/helpers.js +64 -64
  23. package/dist/utils/orders/index.js +5 -5
  24. package/package.json +28 -28
  25. package/src/api/axiosInstance.ts +45 -45
  26. package/src/api/customers/get.ts +32 -32
  27. package/src/api/index.ts +26 -21
  28. package/src/api/stores/get.ts +33 -0
  29. package/src/enum/index.ts +10 -10
  30. package/src/index.ts +4 -4
  31. package/src/interfaces/Api.ts +2 -2
  32. package/src/interfaces/Customer.ts +51 -51
  33. package/src/interfaces/Order.ts +95 -95
  34. package/src/interfaces/Permission.ts +24 -24
  35. package/src/interfaces/Product.ts +58 -58
  36. package/src/interfaces/Section.ts +14 -14
  37. package/src/interfaces/Store.ts +350 -350
  38. package/src/interfaces/StoreImage.ts +9 -9
  39. package/src/interfaces/User.ts +42 -42
  40. package/src/utils/index.ts +1 -1
  41. package/src/utils/orders/calculateOrderTotal.test.js +399 -399
  42. package/src/utils/orders/calculateOrderTotal.ts +60 -60
  43. package/src/utils/orders/calculateTotalTaxesIncluded.ts +75 -75
  44. package/src/utils/orders/calculateTotalTaxesOverPrice.ts +82 -82
  45. package/src/utils/orders/helpers.ts +73 -73
  46. package/src/utils/orders/index.ts +4 -4
  47. package/tsconfig.json +9 -9
@@ -1,350 +1,350 @@
1
- import { IProduct } from "./Product"
2
- import { ISection } from "./Section"
3
- import { IStoreImage } from "./StoreImage"
4
- import { IUser, IStaff } from "./User"
5
- import { IOrder, IOrderPaymentLines } from "./Order"
6
-
7
- export interface IStore {
8
- name: string,
9
- streetAddress?: string,
10
- zipCode?: string,
11
- administrator: IUser | string,
12
- owner: IUser | string,
13
- createdBy: IUser | string,
14
- city: string,
15
- state: string,
16
- country: string,
17
- phone: string,
18
- taxesType: string,
19
- taxOne?: ITax,
20
- isActive: boolean,
21
- allowPrePaid: boolean,
22
- taxTwo?: ITax,
23
- taxThree?: ITax,
24
- paymentConfig: IPaymentConfig,
25
- orderPageConfig: IOrderPageConfig,
26
- printingConfig: IPrintingConfig,
27
- notificationConfig: INotificationConfig,
28
- schedule?: ISchedule,
29
- pickupDeliverySchedule?: IPickupDeliverySchedule,
30
- sections?: Array<ISection | string>
31
- storeImages: Array<IStoreImage | string>
32
- staffs?: Array<IStaff | string>,
33
- currencySymbol: string,
34
- inventory?: IInventory,
35
- supplies?: ISupplies,
36
- cashUpReports?: ICashUpReport,
37
- cashierBoxes?: ICashierBox,
38
- ticketStructure?: ITicketStructure | null,
39
- ticketForLaundryStructure?: ITicketForLaundryStructure | null,
40
- storeDiscounts: IStoreDiscount | null,
41
- discountCodes: IDiscountCode | null,
42
- marketingConfig: IMarketingConfig,
43
- emailReportSuscribed: boolean,
44
- emailReportFrequency: string,
45
- emailReportDateRange: string
46
- }
47
-
48
- export interface ITaxConfig {
49
- name: string,
50
- value: number
51
- }
52
-
53
- export interface IProductStockActivity {
54
- type: string,
55
- date: Date,
56
- amount: number,
57
- order?: IOrder | string,
58
- addedBy?: IUser | string,
59
- notes?: string
60
- }
61
-
62
- export interface ISupplyStockActivity {
63
- type: string,
64
- date: Date,
65
- amount: number,
66
- order?: IOrder | string,
67
- product?: IProduct | string,
68
- addedBy?: IUser | string,
69
- notes?: string
70
- }
71
-
72
- export interface IInventory {
73
- store: IStore | string,
74
- product: IProduct | string,
75
- stock: number,
76
- alertOnStock: number,
77
- stockActivityHistory: Array<IProductStockActivity | string>,
78
- isActive: boolean
79
- }
80
-
81
- export interface IInventory {
82
- store: IStore | string,
83
- product: IProduct | string,
84
- stock: number,
85
- alertOnStock: number,
86
- stockActivityHistory: Array<IProductStockActivity | string>,
87
- isActive: boolean
88
- }
89
-
90
- export interface ISupplies {
91
- name: String,
92
- code: String,
93
- purchaseUnit: String,
94
- usageUnit: String,
95
- usageFactor: number,
96
- stock: number,
97
- alertOnStock: number,
98
- supplyActivityHistory: Array<ISupplyStockActivity | string>
99
- isActive: boolean
100
- }
101
-
102
- export interface ISupplies {
103
- name: String,
104
- code: String,
105
- purchaseUnit: String,
106
- usageUnit: String,
107
- usageFactor: number,
108
- stock: number,
109
- alertOnStock: number,
110
- supplyActivityHistory: Array<ISupplyStockActivity | string>,
111
- isActive: boolean
112
- }
113
-
114
- export interface ICashUpReportLine {
115
- type: string,
116
- orderPaymentLineId: string | null | IOrderPaymentLines,
117
- order: string | null | IOrder,
118
- movement: string | null | IInOutMovement,
119
- amount: number,
120
- paymentMethod: string,
121
- }
122
-
123
- export interface ICashUpReport {
124
- createdBy: IUser | string,
125
- createdDate: Date,
126
- startingCashDate: Date,
127
- startingCash: number,
128
- cardFromOrders: number,
129
- totalCashCalculated: number,
130
- totalCardCalculated: number,
131
- totalTransferCalculated?: number,
132
- cashFromOrders: number,
133
- cashPayIns: number,
134
- cardPayIns: number,
135
- cardPayOuts: number,
136
- cashPayOuts: number,
137
- transferPayIns?: number,
138
- transferPayOuts?: number,
139
- transferFromOrders?: number,
140
- declaredCash: number,
141
- declaredCard: number,
142
- declaredTransfer?: number,
143
- leftInDrawer: number,
144
- cashToBank: number,
145
- expectedCash: number,
146
- variance: number,
147
- notes: string,
148
- cashierBox: ICashierBox | string,
149
- orders: Array<IOrder> | Array<string>,
150
- movements: Array<IInOutMovement> | Array<string>,
151
- lines: Array<ICashUpReportLine>,
152
- }
153
-
154
- export interface ICashUpReport {
155
- createdBy: IUser | string,
156
- createdDate: Date,
157
- startingCashDate: Date,
158
- startingCash: number,
159
- cardFromOrders: number,
160
- totalCashCalculated: number,
161
- totalCardCalculated: number,
162
- totalTransferCalculated?: number,
163
- cashFromOrders: number,
164
- transferPayIns?: number,
165
- transferPayOuts?: number,
166
- transferFromOrders?: number,
167
- cashPayIns: number,
168
- cashPayOuts: number,
169
- declaredCash: number,
170
- declaredCard: number,
171
- declaredTransfer?: number,
172
- leftInDrawer: number,
173
- cashToBank: number,
174
- expectedCash: number,
175
- variance: number,
176
- notes: string,
177
- cashierBox: ICashierBox | string,
178
- orders: Array<IOrder> | Array<string>,
179
- movements: Array<IInOutMovement> | Array<string>,
180
- }
181
-
182
-
183
- export interface IInOutMovement {
184
- type: string,
185
- date: Date,
186
- amount: number,
187
- notes: string,
188
- paymentMethod: string | null,
189
- isOnACashUpReport: Boolean,
190
- createdBy: IUser | string,
191
- }
192
- export interface ICashierBox {
193
- createdBy: IUser | string,
194
- name: string,
195
- inOutMovements?: IInOutMovement,
196
- isActive: boolean
197
- }
198
-
199
- export interface ITax {
200
- name: string,
201
- value: number
202
- }
203
-
204
- export interface INotificationConfig {
205
- notifyOrderCreated: boolean,
206
- notifyPickedUp: boolean,
207
- notifyCleaned: boolean,
208
- notifyCollected: boolean,
209
- notifyDelivered: boolean,
210
- notifyOwnerOnOrderCreated: boolean,
211
- notifyEmail: string
212
- }
213
-
214
- export interface IPaymentConfig {
215
- defaultPaymentMethod: string
216
- }
217
-
218
- export interface IPrintingConfig {
219
- printLogoOnTicket: Boolean,
220
- printTicketForLaundry: Boolean
221
- }
222
-
223
- export interface IMarketingConfig {
224
- googlePlaceID: string,
225
- facebookUrl: string,
226
- ordersForFirstReview: number,
227
- ordersForSecondReview: number,
228
- sendReviewByEmail: Boolean,
229
- sendReviewBySMS: Boolean,
230
- }
231
-
232
- export interface IOrderPageConfig {
233
- showProductSearchBarWeb: Boolean,
234
- defaultDeliveryDate: string,
235
- defaultDeliveryTime: string,
236
- defaultNotifyMethod: string,
237
- printTicketAfterOrder: Boolean,
238
- shippingServiceCost: number,
239
- }
240
-
241
- export interface ITicketStructure {
242
- showTotalPieces: Boolean,
243
- showEmisionDate: Boolean,
244
- showEmisionTime: Boolean,
245
- showLegend: Boolean,
246
- showPaymentMethod: Boolean,
247
- showStorePhone: Boolean,
248
- showDeliveryDate: Boolean,
249
- showDeliveryTime: Boolean,
250
- ticketLegendText: String,
251
- showStoreName: Boolean,
252
- showCustomerName: Boolean,
253
- showCreatedByName: Boolean,
254
- showOrderNotes: Boolean,
255
- showTaxes: Boolean,
256
- showDiscounts: Boolean,
257
- showCredit: Boolean,
258
- }
259
-
260
- export interface ITicketForLaundryStructure {
261
- showTotalPieces: Boolean,
262
- showEmisionDate: Boolean,
263
- showEmisionTime: Boolean,
264
- showLegend: Boolean,
265
- showPaymentMethod: Boolean,
266
- showStorePhone: Boolean,
267
- showDeliveryDate: Boolean,
268
- showDeliveryTime: Boolean,
269
- ticketLegendText: String,
270
- printLogoOnTicket: Boolean,
271
- showStoreName: Boolean,
272
- showCustomerName: Boolean,
273
- showCreatedByName: Boolean,
274
- showOrderNotes: Boolean,
275
- showTaxes: Boolean,
276
- showDiscounts: Boolean,
277
- showCredit: Boolean,
278
- }
279
-
280
- export interface ITiming {
281
- openingTime: Date,
282
- closingTime: Date
283
- }
284
-
285
- export interface IPickupDeliveryTiming {
286
- fromTime: String,
287
- toTime: String
288
- }
289
- export interface IPickupDeliverySchedule {
290
- 1: [IPickupDeliveryTiming],
291
- 2: [IPickupDeliveryTiming],
292
- 3: [IPickupDeliveryTiming],
293
- 4: [IPickupDeliveryTiming],
294
- 5: [IPickupDeliveryTiming],
295
- 6: [IPickupDeliveryTiming],
296
- 7: [IPickupDeliveryTiming],
297
- }
298
-
299
- export interface ISchedule {
300
- sunday: ITiming,
301
- monday: ITiming,
302
- tuesday: ITiming,
303
- wednesday: ITiming,
304
- thursday: ITiming,
305
- friday: ITiming,
306
- saturday: ITiming
307
- }
308
-
309
- export interface IStoreDiscount {
310
- name: String,
311
- type: String,
312
- value: number,
313
- fromDate: Date,
314
- toDate: Date,
315
- fromTime: string,
316
- toTime: string,
317
- weekDays: Array<Number>,
318
- products: Array<IProduct | string>
319
- createdBy: IUser | string,
320
- isActive: boolean
321
- }
322
-
323
- export interface IBuyAndGetCondition {
324
- buyConditions: Array<any>,
325
- getConditions: Array<any>,
326
- getDiscountType: string,
327
- discountValue: number
328
- }
329
-
330
- export interface IDiscountCode {
331
- name: String,
332
- code: String,
333
- type: String,
334
- value: number,
335
- fromDate: Date,
336
- toDate: Date,
337
- fromTime: string,
338
- toTime: string,
339
- weekDays: Array<Number>,
340
- products: Array<IProduct | string>
341
- createdBy: IUser | string,
342
- isActive: boolean,
343
- applyOnceOnOrder: boolean,
344
- applyToAllProducts: boolean,
345
- hasUseLimit: boolean,
346
- useLimitQty: number,
347
- usedCounter: number,
348
- onePerCustomer: boolean,
349
- buyAndGetConditions: Array<IBuyAndGetCondition | string>,
350
- }
1
+ import { IProduct } from "./Product"
2
+ import { ISection } from "./Section"
3
+ import { IStoreImage } from "./StoreImage"
4
+ import { IUser, IStaff } from "./User"
5
+ import { IOrder, IOrderPaymentLines } from "./Order"
6
+
7
+ export interface IStore {
8
+ name: string,
9
+ streetAddress?: string,
10
+ zipCode?: string,
11
+ administrator: IUser | string,
12
+ owner: IUser | string,
13
+ createdBy: IUser | string,
14
+ city: string,
15
+ state: string,
16
+ country: string,
17
+ phone: string,
18
+ taxesType: string,
19
+ taxOne?: ITax,
20
+ isActive: boolean,
21
+ allowPrePaid: boolean,
22
+ taxTwo?: ITax,
23
+ taxThree?: ITax,
24
+ paymentConfig: IPaymentConfig,
25
+ orderPageConfig: IOrderPageConfig,
26
+ printingConfig: IPrintingConfig,
27
+ notificationConfig: INotificationConfig,
28
+ schedule?: ISchedule,
29
+ pickupDeliverySchedule?: IPickupDeliverySchedule,
30
+ sections?: Array<ISection | string>
31
+ storeImages: Array<IStoreImage | string>
32
+ staffs?: Array<IStaff | string>,
33
+ currencySymbol: string,
34
+ inventory?: IInventory,
35
+ supplies?: ISupplies,
36
+ cashUpReports?: ICashUpReport,
37
+ cashierBoxes?: ICashierBox,
38
+ ticketStructure?: ITicketStructure | null,
39
+ ticketForLaundryStructure?: ITicketForLaundryStructure | null,
40
+ storeDiscounts: IStoreDiscount | null,
41
+ discountCodes: IDiscountCode | null,
42
+ marketingConfig: IMarketingConfig,
43
+ emailReportSuscribed: boolean,
44
+ emailReportFrequency: string,
45
+ emailReportDateRange: string
46
+ }
47
+
48
+ export interface ITaxConfig {
49
+ name: string,
50
+ value: number
51
+ }
52
+
53
+ export interface IProductStockActivity {
54
+ type: string,
55
+ date: Date,
56
+ amount: number,
57
+ order?: IOrder | string,
58
+ addedBy?: IUser | string,
59
+ notes?: string
60
+ }
61
+
62
+ export interface ISupplyStockActivity {
63
+ type: string,
64
+ date: Date,
65
+ amount: number,
66
+ order?: IOrder | string,
67
+ product?: IProduct | string,
68
+ addedBy?: IUser | string,
69
+ notes?: string
70
+ }
71
+
72
+ export interface IInventory {
73
+ store: IStore | string,
74
+ product: IProduct | string,
75
+ stock: number,
76
+ alertOnStock: number,
77
+ stockActivityHistory: Array<IProductStockActivity | string>,
78
+ isActive: boolean
79
+ }
80
+
81
+ export interface IInventory {
82
+ store: IStore | string,
83
+ product: IProduct | string,
84
+ stock: number,
85
+ alertOnStock: number,
86
+ stockActivityHistory: Array<IProductStockActivity | string>,
87
+ isActive: boolean
88
+ }
89
+
90
+ export interface ISupplies {
91
+ name: String,
92
+ code: String,
93
+ purchaseUnit: String,
94
+ usageUnit: String,
95
+ usageFactor: number,
96
+ stock: number,
97
+ alertOnStock: number,
98
+ supplyActivityHistory: Array<ISupplyStockActivity | string>
99
+ isActive: boolean
100
+ }
101
+
102
+ export interface ISupplies {
103
+ name: String,
104
+ code: String,
105
+ purchaseUnit: String,
106
+ usageUnit: String,
107
+ usageFactor: number,
108
+ stock: number,
109
+ alertOnStock: number,
110
+ supplyActivityHistory: Array<ISupplyStockActivity | string>,
111
+ isActive: boolean
112
+ }
113
+
114
+ export interface ICashUpReportLine {
115
+ type: string,
116
+ orderPaymentLineId: string | null | IOrderPaymentLines,
117
+ order: string | null | IOrder,
118
+ movement: string | null | IInOutMovement,
119
+ amount: number,
120
+ paymentMethod: string,
121
+ }
122
+
123
+ export interface ICashUpReport {
124
+ createdBy: IUser | string,
125
+ createdDate: Date,
126
+ startingCashDate: Date,
127
+ startingCash: number,
128
+ cardFromOrders: number,
129
+ totalCashCalculated: number,
130
+ totalCardCalculated: number,
131
+ totalTransferCalculated?: number,
132
+ cashFromOrders: number,
133
+ cashPayIns: number,
134
+ cardPayIns: number,
135
+ cardPayOuts: number,
136
+ cashPayOuts: number,
137
+ transferPayIns?: number,
138
+ transferPayOuts?: number,
139
+ transferFromOrders?: number,
140
+ declaredCash: number,
141
+ declaredCard: number,
142
+ declaredTransfer?: number,
143
+ leftInDrawer: number,
144
+ cashToBank: number,
145
+ expectedCash: number,
146
+ variance: number,
147
+ notes: string,
148
+ cashierBox: ICashierBox | string,
149
+ orders: Array<IOrder> | Array<string>,
150
+ movements: Array<IInOutMovement> | Array<string>,
151
+ lines: Array<ICashUpReportLine>,
152
+ }
153
+
154
+ export interface ICashUpReport {
155
+ createdBy: IUser | string,
156
+ createdDate: Date,
157
+ startingCashDate: Date,
158
+ startingCash: number,
159
+ cardFromOrders: number,
160
+ totalCashCalculated: number,
161
+ totalCardCalculated: number,
162
+ totalTransferCalculated?: number,
163
+ cashFromOrders: number,
164
+ transferPayIns?: number,
165
+ transferPayOuts?: number,
166
+ transferFromOrders?: number,
167
+ cashPayIns: number,
168
+ cashPayOuts: number,
169
+ declaredCash: number,
170
+ declaredCard: number,
171
+ declaredTransfer?: number,
172
+ leftInDrawer: number,
173
+ cashToBank: number,
174
+ expectedCash: number,
175
+ variance: number,
176
+ notes: string,
177
+ cashierBox: ICashierBox | string,
178
+ orders: Array<IOrder> | Array<string>,
179
+ movements: Array<IInOutMovement> | Array<string>,
180
+ }
181
+
182
+
183
+ export interface IInOutMovement {
184
+ type: string,
185
+ date: Date,
186
+ amount: number,
187
+ notes: string,
188
+ paymentMethod: string | null,
189
+ isOnACashUpReport: Boolean,
190
+ createdBy: IUser | string,
191
+ }
192
+ export interface ICashierBox {
193
+ createdBy: IUser | string,
194
+ name: string,
195
+ inOutMovements?: IInOutMovement,
196
+ isActive: boolean
197
+ }
198
+
199
+ export interface ITax {
200
+ name: string,
201
+ value: number
202
+ }
203
+
204
+ export interface INotificationConfig {
205
+ notifyOrderCreated: boolean,
206
+ notifyPickedUp: boolean,
207
+ notifyCleaned: boolean,
208
+ notifyCollected: boolean,
209
+ notifyDelivered: boolean,
210
+ notifyOwnerOnOrderCreated: boolean,
211
+ notifyEmail: string
212
+ }
213
+
214
+ export interface IPaymentConfig {
215
+ defaultPaymentMethod: string
216
+ }
217
+
218
+ export interface IPrintingConfig {
219
+ printLogoOnTicket: Boolean,
220
+ printTicketForLaundry: Boolean
221
+ }
222
+
223
+ export interface IMarketingConfig {
224
+ googlePlaceID: string,
225
+ facebookUrl: string,
226
+ ordersForFirstReview: number,
227
+ ordersForSecondReview: number,
228
+ sendReviewByEmail: Boolean,
229
+ sendReviewBySMS: Boolean,
230
+ }
231
+
232
+ export interface IOrderPageConfig {
233
+ showProductSearchBarWeb: Boolean,
234
+ defaultDeliveryDate: string,
235
+ defaultDeliveryTime: string,
236
+ defaultNotifyMethod: string,
237
+ printTicketAfterOrder: Boolean,
238
+ shippingServiceCost: number,
239
+ }
240
+
241
+ export interface ITicketStructure {
242
+ showTotalPieces: Boolean,
243
+ showEmisionDate: Boolean,
244
+ showEmisionTime: Boolean,
245
+ showLegend: Boolean,
246
+ showPaymentMethod: Boolean,
247
+ showStorePhone: Boolean,
248
+ showDeliveryDate: Boolean,
249
+ showDeliveryTime: Boolean,
250
+ ticketLegendText: String,
251
+ showStoreName: Boolean,
252
+ showCustomerName: Boolean,
253
+ showCreatedByName: Boolean,
254
+ showOrderNotes: Boolean,
255
+ showTaxes: Boolean,
256
+ showDiscounts: Boolean,
257
+ showCredit: Boolean,
258
+ }
259
+
260
+ export interface ITicketForLaundryStructure {
261
+ showTotalPieces: Boolean,
262
+ showEmisionDate: Boolean,
263
+ showEmisionTime: Boolean,
264
+ showLegend: Boolean,
265
+ showPaymentMethod: Boolean,
266
+ showStorePhone: Boolean,
267
+ showDeliveryDate: Boolean,
268
+ showDeliveryTime: Boolean,
269
+ ticketLegendText: String,
270
+ printLogoOnTicket: Boolean,
271
+ showStoreName: Boolean,
272
+ showCustomerName: Boolean,
273
+ showCreatedByName: Boolean,
274
+ showOrderNotes: Boolean,
275
+ showTaxes: Boolean,
276
+ showDiscounts: Boolean,
277
+ showCredit: Boolean,
278
+ }
279
+
280
+ export interface ITiming {
281
+ openingTime: Date,
282
+ closingTime: Date
283
+ }
284
+
285
+ export interface IPickupDeliveryTiming {
286
+ fromTime: String,
287
+ toTime: String
288
+ }
289
+ export interface IPickupDeliverySchedule {
290
+ 1: [IPickupDeliveryTiming],
291
+ 2: [IPickupDeliveryTiming],
292
+ 3: [IPickupDeliveryTiming],
293
+ 4: [IPickupDeliveryTiming],
294
+ 5: [IPickupDeliveryTiming],
295
+ 6: [IPickupDeliveryTiming],
296
+ 7: [IPickupDeliveryTiming],
297
+ }
298
+
299
+ export interface ISchedule {
300
+ sunday: ITiming,
301
+ monday: ITiming,
302
+ tuesday: ITiming,
303
+ wednesday: ITiming,
304
+ thursday: ITiming,
305
+ friday: ITiming,
306
+ saturday: ITiming
307
+ }
308
+
309
+ export interface IStoreDiscount {
310
+ name: String,
311
+ type: String,
312
+ value: number,
313
+ fromDate: Date,
314
+ toDate: Date,
315
+ fromTime: string,
316
+ toTime: string,
317
+ weekDays: Array<Number>,
318
+ products: Array<IProduct | string>
319
+ createdBy: IUser | string,
320
+ isActive: boolean
321
+ }
322
+
323
+ export interface IBuyAndGetCondition {
324
+ buyConditions: Array<any>,
325
+ getConditions: Array<any>,
326
+ getDiscountType: string,
327
+ discountValue: number
328
+ }
329
+
330
+ export interface IDiscountCode {
331
+ name: String,
332
+ code: String,
333
+ type: String,
334
+ value: number,
335
+ fromDate: Date,
336
+ toDate: Date,
337
+ fromTime: string,
338
+ toTime: string,
339
+ weekDays: Array<Number>,
340
+ products: Array<IProduct | string>
341
+ createdBy: IUser | string,
342
+ isActive: boolean,
343
+ applyOnceOnOrder: boolean,
344
+ applyToAllProducts: boolean,
345
+ hasUseLimit: boolean,
346
+ useLimitQty: number,
347
+ usedCounter: number,
348
+ onePerCustomer: boolean,
349
+ buyAndGetConditions: Array<IBuyAndGetCondition | string>,
350
+ }