tango-api-schema 2.1.65 → 2.1.67

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 (69) hide show
  1. package/index.js +134 -133
  2. package/package.json +27 -27
  3. package/schema/aiTicketConfig.js +42 -42
  4. package/schema/appVersion.js +32 -32
  5. package/schema/applicationDefault.model.js +24 -24
  6. package/schema/assignAudit.model.js +55 -55
  7. package/schema/auditLogs.model.js +77 -77
  8. package/schema/auditStoreData.model.js +56 -56
  9. package/schema/auditUserWallet.model.js +98 -98
  10. package/schema/auditUsers.model.js +39 -39
  11. package/schema/authentication.model.js +27 -27
  12. package/schema/basePricing.model.js +29 -29
  13. package/schema/billing.model.js +99 -99
  14. package/schema/binaryAudit.model.js +84 -84
  15. package/schema/camera.model.js +146 -146
  16. package/schema/checklistassignconfig.js +71 -71
  17. package/schema/checklistconfig.js +176 -176
  18. package/schema/checklistlog.js +59 -59
  19. package/schema/checklistquestionconfig.js +147 -147
  20. package/schema/client.model.js +545 -545
  21. package/schema/clientRequest.model.js +40 -40
  22. package/schema/cluster.model.js +68 -68
  23. package/schema/controlCenterTemplateList.model.js +39 -39
  24. package/schema/countryCodes.model.js +28 -28
  25. package/schema/dailyPricing.model.js +88 -88
  26. package/schema/dataMismatchDraft.model.js +22 -22
  27. package/schema/domain.js +18 -18
  28. package/schema/download.js +104 -103
  29. package/schema/edgeAppVersion.model.js +33 -33
  30. package/schema/edgeappAuth.model.js +32 -32
  31. package/schema/empDetectionOutput.model.js +64 -64
  32. package/schema/externalParameter.model.js +202 -202
  33. package/schema/eyetest.model.js +18 -18
  34. package/schema/fitting.model.js +52 -52
  35. package/schema/group.model.js +36 -36
  36. package/schema/hotjar.model.js +11 -11
  37. package/schema/infraReason.model.js +44 -44
  38. package/schema/internalAuth.model.js +36 -36
  39. package/schema/invoice.model.js +106 -106
  40. package/schema/ipLogs.model.js +39 -39
  41. package/schema/lead.model.js +78 -78
  42. package/schema/lenskartEmployeeMapping.model.js +63 -63
  43. package/schema/liveConnection.model.js +43 -0
  44. package/schema/locusOrder.model.js +154 -154
  45. package/schema/locusOrderUser.model.js +14 -14
  46. package/schema/lowcountReason.model.js +44 -44
  47. package/schema/mailOnlyuser.model.js +44 -44
  48. package/schema/matLog.model.js +26 -26
  49. package/schema/otp.model.js +27 -27
  50. package/schema/paymentAccount.model.js +60 -60
  51. package/schema/processedchecklist.js +188 -188
  52. package/schema/processedchecklistconfig.js +105 -105
  53. package/schema/processeddetection.js +85 -85
  54. package/schema/quality.model.js +57 -57
  55. package/schema/report.model.js +30 -30
  56. package/schema/standaredRole.model.js +76 -76
  57. package/schema/store.model.js +325 -325
  58. package/schema/storeAudit.model.js +62 -62
  59. package/schema/storeEmpDetection.model.js +62 -62
  60. package/schema/tagging.model.js +44 -44
  61. package/schema/tangoTicket.model.js +210 -210
  62. package/schema/teams.model.js +48 -48
  63. package/schema/transaction.model.js +54 -54
  64. package/schema/traxAuditData.model.js +61 -61
  65. package/schema/user.model.js +121 -121
  66. package/schema/userAssignedStore.model.js +41 -41
  67. package/schema/userAudit.model.js +77 -77
  68. package/schema/userEmpDetection.model.js +81 -81
  69. package/schema/workstation.model.js +77 -77
@@ -1,545 +1,545 @@
1
- import mongoose from 'mongoose';
2
- import mongooseUniqueValidator from 'mongoose-unique-validator';
3
-
4
- const client = new mongoose.Schema(
5
- {
6
- clientName: {
7
- type: String,
8
- trim: true,
9
- required: true,
10
- unique: true,
11
- },
12
- clientId: {
13
- type: String,
14
- trim: true,
15
- required: true,
16
- unique: true,
17
- },
18
- tangoId: {
19
- type: Number,
20
- require: true,
21
- },
22
- userId: {
23
- type: mongoose.Types.ObjectId,
24
- required: true,
25
- },
26
- planDetails: {
27
- totalStores: {
28
- type: String,
29
- require: true,
30
- },
31
- storeSize: {
32
- type: String,
33
- require: true,
34
- },
35
- totalCamera: {
36
- type: Number,
37
- require: true,
38
- },
39
- subscriptionPeriod: {
40
- type: String,
41
- enum: ['monthly','quarterly','annual'],
42
- },
43
- subscriptionType: {
44
- type: String,
45
- enum: ['free','premium','enterprise'],
46
- },
47
- paymentStatus: {
48
- type: String,
49
- enum: ['free','trial','paid','unbilled','due'],
50
- },
51
- product: [
52
- {
53
- productName: {
54
- type: String,
55
- },
56
- trialStartDate: {
57
- type: Date,
58
- },
59
- trialEndDate: {
60
- type: Date,
61
- },
62
- subscribedDate: {
63
- type: Date
64
- },
65
- status: {
66
- type: String,
67
- enum: ['trial','live'],
68
- default: 'trial'
69
- }
70
- }
71
- ],
72
- },
73
- status: {
74
- type: String,
75
- enum: ['active','deactive','hold','suspended'],
76
- default: 'active'
77
- },
78
- profileDetails: {
79
- logo: {
80
- type: String
81
- },
82
- registeredCompanyName: {
83
- type: String,
84
- },
85
- industry: {
86
- type: String,
87
- enum: ['apparel','footwear','skincare','foodandbeverage','techstartup','grooming','leather','furniture','mattress','customerelectronics','jewellery','interiordesign','ev','fintech','perfume','fashionaccessories','innerwear','nutrition','fashionandlifestyle','eyewear']
88
- },
89
- clientType: {
90
- type: String,
91
- enum: ['partnership','proprietorship','pvtltd','person']
92
- },
93
- registeredAddress: {
94
- type: String,
95
- },
96
- headQuarters: {
97
- type: String,
98
- },
99
- website: {
100
- type: String,
101
- },
102
- },
103
- billingDetails: {
104
- tradeName: {
105
- type: String,
106
- },
107
- gstNumber: {
108
- type: String,
109
- },
110
- authorityName: {
111
- type: String,
112
- },
113
- authorityEmail: {
114
- type: String,
115
- },
116
- billingAddress: {
117
- type: String,
118
- },
119
- companyName: {
120
- type: String,
121
- },
122
- PlaceOfSupply: {
123
- type: String,
124
- },
125
- },
126
- signatoryDetail: {
127
- name: {
128
- type: String,
129
- },
130
- email: {
131
- type: String,
132
- },
133
- number: {
134
- type: String,
135
- },
136
- designation: {
137
- type: String,
138
- },
139
- },
140
- ticketConfigs: {
141
- installationReAssign: {
142
- type: Number,
143
- default:0
144
- },
145
- downTimeType: {
146
- type: Number, // 0 for one camera and 1 for multi cameras
147
- enum:[0,1],
148
- default:0
149
- },
150
- infraReport:{},
151
- infraDownTime: {
152
- type: Number,
153
- default:1,
154
- enum:[1,2,3,4,5,6,8,9,10,11,12]
155
- },
156
- MinFilesCount:{
157
- type: Number,
158
- default:0
159
- },
160
- rcaTicketAssign:{// root cause anlysis
161
- type: Number,
162
- enum:[1,2,3,4,5,6,8,9,10,11,12],
163
- default:1
164
- },
165
- refreshAlert:{
166
- type: Number,
167
- default:1,
168
- enum:[0,1,2,3,4,5,6,8,9,10]
169
- },
170
- statusCheckAlert:{
171
- type: Number,
172
- default:1,
173
- enum:[1,2,3,4,5,6,8,9,10,11,12]
174
- },
175
- accuracyPercentage: {
176
- type: Number, // in less than
177
- default:10
178
- },
179
- reTrain: {
180
- type: Number, // calculate no of past days
181
- enum:[1,2,3,4,5,6,8,9,10,11,12],
182
- default:1
183
- },
184
- emailAlert:{
185
- type: Boolean,
186
- default: false
187
- },
188
- matConfig:{
189
- enabled:{
190
- type: Boolean,
191
- default: false
192
- }
193
- }
194
- },
195
- reportConfigs: {
196
- report: {
197
- type: Boolean,
198
- default:true
199
- },
200
- reportName: {
201
- type: String,
202
- },
203
- },
204
- auditConfigs: {
205
- audit: {
206
- type: Boolean,
207
- default: true
208
- },
209
- count:{
210
- type:Number,
211
- default:200
212
- },
213
- ratio:{
214
- type:Number,
215
- default:0.75,
216
- },
217
- queueName: {
218
- type: String,
219
- },
220
- zoneQueueName: {
221
- type: String,
222
- },
223
- trafficQueueName: {
224
- type: String,
225
- },
226
- traxQueueName: {
227
- unattendedCustomer :{
228
- type:String
229
- },
230
- leftInMiddle:{
231
- type:String
232
- },
233
- uniformDetection:{
234
- type:String
235
- },
236
- mobileDetection:{
237
- type:String
238
- },
239
- cameraAngleChange:{
240
- type:String
241
- }
242
- }
243
- },
244
- assignedUsers: {
245
- csm: {
246
- type: Object,
247
- },
248
- ops: {
249
- type: Array,
250
- },
251
- },
252
- featureConfigs: {
253
- open: {
254
- type: String,
255
- default: "10:00:00"
256
- },
257
- close: {
258
- type: String,
259
- default: "23:00:00"
260
- },
261
- infraAlert: {
262
- condition: {
263
- type: String,
264
- default:"<"
265
- },
266
- value: {
267
- type: Number,
268
- default:"1"
269
- },
270
- },
271
- bouncedLimit: {
272
- condition: {
273
- type: String,
274
- default:'<='
275
- },
276
- value: {
277
- type: Number,
278
- default: "1"
279
- },
280
- },
281
- missedOpportunityFrom: {
282
- condition: {
283
- type: String,
284
- default: '>'
285
- },
286
- value: {
287
- type: Number,
288
- default:'1'
289
- },
290
- },
291
- missedOpportunityTo: {
292
- condition: {
293
- type: String,
294
- default:"<="
295
- },
296
- value: {
297
- type: Number,
298
- default:"5"
299
- },
300
- },
301
- conversion: {
302
- condition: {
303
- type: String,
304
- default:">"
305
- },
306
- value: {
307
- type: Number,
308
- default:'5'
309
- },
310
- },
311
- billableCalculation: {
312
- type: String,
313
- default:"engagers-count"
314
- },
315
- missedOpportunityCalculation: {
316
- type: String,
317
- default:"engagers-conversion"
318
- },
319
- conversionCalculation: {
320
- type: String,
321
- default:"engagers-count"
322
- },
323
- isNormalized: {
324
- type: Boolean,
325
- default: false,
326
- },
327
- isPasserByData: {
328
- type: Boolean,
329
- default: false,
330
- },
331
- isFootfallDirectory: {
332
- type: Boolean,
333
- default: false,
334
- },
335
- isExcludedArea:{
336
- type:Boolean,
337
- default:true
338
- },
339
- updateFeatureConfig:{
340
- type:Boolean,
341
- default:true
342
- },
343
- isCameraDisabled:{
344
- type:Boolean,
345
- default:false
346
- },
347
- isbillingDisabled:{
348
- type:Boolean,
349
- default:false
350
- },
351
- isNewDashboard:{
352
- type:Boolean,
353
- default:false
354
- },
355
- isFootfallAuditStores:{
356
- type:Boolean,
357
- default:false
358
- },
359
- isNewTraffic:{
360
- type:Boolean,
361
- default:false
362
- },
363
- isNewZone:{
364
- type:Boolean,
365
- default:false
366
- },
367
- isNewReports:{
368
- type:Boolean,
369
- default:false
370
- },
371
- isNOB:{
372
- type:Boolean,
373
- default:false
374
- },
375
- isNewZoneV2:{
376
- type:Boolean,
377
- default:false
378
- },
379
- isTrax:{
380
- type:Boolean,
381
- default:false
382
- },
383
- },
384
- document: {
385
- addressProof: {
386
- path: {
387
- type: String,
388
-
389
- },
390
- },
391
- gst: {
392
- number: {
393
- type: String,
394
- },
395
- path: {
396
- type: String,
397
-
398
- },
399
- },
400
- pan: {
401
- number: {
402
- type: String,
403
- },
404
- path: {
405
- type: String,
406
-
407
- },
408
- },
409
- cin: {
410
- number: {
411
- type: String,
412
- },
413
- path: {
414
- type: String,
415
-
416
- },
417
- },
418
-
419
- },
420
- price:{
421
- type:Number
422
- },
423
- paymentInvoice: {
424
- proRate: {
425
- type: String,
426
- enum: ['before15','after15'],
427
- default: 'before15',
428
- },
429
- paymentType: {
430
- type:String,
431
- enum: ['online','banktransfer'],
432
- default: 'online',
433
- },
434
- paymentCycle: {
435
- type:String,
436
- },
437
- currencyType: {
438
- type:String
439
- },
440
- invoiceTo:{
441
- type:Array
442
- },
443
- paymentAgreementTo:{
444
- type:Array
445
- },
446
- invoiceOn: {
447
- type:String,
448
- enum: ['lastday','25th'],
449
- default: '25th',
450
- },
451
- extendPaymentPeriodDays: {
452
- type:Number,
453
- default: 5,
454
- },
455
- invoiceCC:{
456
- type:Array
457
- },
458
- PomNumber:{
459
- type:String
460
- }
461
- },
462
- priceType:{
463
- type:String,
464
- enum: ['standard','step'],
465
- default: 'standard',
466
- },
467
- virtualAccount:{
468
- accountNo:{
469
- type:String
470
- },
471
- ifscCode:{
472
- type:String
473
- },
474
- swiftCode:{
475
- type:String
476
- },
477
- branch:{
478
- type:String
479
- }
480
- },
481
- clientApi: {
482
- apiKey: {
483
- type: String,
484
- default: null,
485
- },
486
- status: {
487
- type: Boolean,
488
- default: false,
489
- },
490
- allowedIps: {
491
- type: Array,
492
- default: [ '*' ],
493
- },
494
- },
495
- notifyCsmAssign: {
496
- type: Boolean,
497
- default:false
498
- },
499
- edgeApp:{
500
- password:{
501
- type:String,
502
- },
503
- },
504
- averageTransactionValue: {
505
- type: String,
506
- default: ''
507
- },
508
- domainConfig:{
509
- ssoLogin: {
510
- isEnable: {
511
- type: Boolean,
512
- default: false,
513
- },
514
- domainName: {
515
- type: Array,
516
- },
517
- },
518
- ipWhitelisting: {
519
- enableWhitelisting: {
520
- type: Boolean,
521
- default: false,
522
- },
523
- allowedIps: {
524
- type: Array,
525
- },
526
- },
527
- enableOtp:{
528
- type: Boolean,
529
- default: false,
530
- }
531
- },
532
- storeRadiusConfig: {
533
- type: Number,
534
- default: 200
535
- },
536
- },
537
- {
538
- strict: true,
539
- versionKey: false,
540
- timestamps: true,
541
- },
542
- );
543
-
544
- client.plugin( mongooseUniqueValidator );
545
- export default mongoose.model( 'client', client );
1
+ import mongoose from 'mongoose';
2
+ import mongooseUniqueValidator from 'mongoose-unique-validator';
3
+
4
+ const client = new mongoose.Schema(
5
+ {
6
+ clientName: {
7
+ type: String,
8
+ trim: true,
9
+ required: true,
10
+ unique: true,
11
+ },
12
+ clientId: {
13
+ type: String,
14
+ trim: true,
15
+ required: true,
16
+ unique: true,
17
+ },
18
+ tangoId: {
19
+ type: Number,
20
+ require: true,
21
+ },
22
+ userId: {
23
+ type: mongoose.Types.ObjectId,
24
+ required: true,
25
+ },
26
+ planDetails: {
27
+ totalStores: {
28
+ type: String,
29
+ require: true,
30
+ },
31
+ storeSize: {
32
+ type: String,
33
+ require: true,
34
+ },
35
+ totalCamera: {
36
+ type: Number,
37
+ require: true,
38
+ },
39
+ subscriptionPeriod: {
40
+ type: String,
41
+ enum: ['monthly','quarterly','annual'],
42
+ },
43
+ subscriptionType: {
44
+ type: String,
45
+ enum: ['free','premium','enterprise'],
46
+ },
47
+ paymentStatus: {
48
+ type: String,
49
+ enum: ['free','trial','paid','unbilled','due'],
50
+ },
51
+ product: [
52
+ {
53
+ productName: {
54
+ type: String,
55
+ },
56
+ trialStartDate: {
57
+ type: Date,
58
+ },
59
+ trialEndDate: {
60
+ type: Date,
61
+ },
62
+ subscribedDate: {
63
+ type: Date
64
+ },
65
+ status: {
66
+ type: String,
67
+ enum: ['trial','live'],
68
+ default: 'trial'
69
+ }
70
+ }
71
+ ],
72
+ },
73
+ status: {
74
+ type: String,
75
+ enum: ['active','deactive','hold','suspended'],
76
+ default: 'active'
77
+ },
78
+ profileDetails: {
79
+ logo: {
80
+ type: String
81
+ },
82
+ registeredCompanyName: {
83
+ type: String,
84
+ },
85
+ industry: {
86
+ type: String,
87
+ enum: ['apparel','footwear','skincare','foodandbeverage','techstartup','grooming','leather','furniture','mattress','customerelectronics','jewellery','interiordesign','ev','fintech','perfume','fashionaccessories','innerwear','nutrition','fashionandlifestyle','eyewear']
88
+ },
89
+ clientType: {
90
+ type: String,
91
+ enum: ['partnership','proprietorship','pvtltd','person']
92
+ },
93
+ registeredAddress: {
94
+ type: String,
95
+ },
96
+ headQuarters: {
97
+ type: String,
98
+ },
99
+ website: {
100
+ type: String,
101
+ },
102
+ },
103
+ billingDetails: {
104
+ tradeName: {
105
+ type: String,
106
+ },
107
+ gstNumber: {
108
+ type: String,
109
+ },
110
+ authorityName: {
111
+ type: String,
112
+ },
113
+ authorityEmail: {
114
+ type: String,
115
+ },
116
+ billingAddress: {
117
+ type: String,
118
+ },
119
+ companyName: {
120
+ type: String,
121
+ },
122
+ PlaceOfSupply: {
123
+ type: String,
124
+ },
125
+ },
126
+ signatoryDetail: {
127
+ name: {
128
+ type: String,
129
+ },
130
+ email: {
131
+ type: String,
132
+ },
133
+ number: {
134
+ type: String,
135
+ },
136
+ designation: {
137
+ type: String,
138
+ },
139
+ },
140
+ ticketConfigs: {
141
+ installationReAssign: {
142
+ type: Number,
143
+ default:0
144
+ },
145
+ downTimeType: {
146
+ type: Number, // 0 for one camera and 1 for multi cameras
147
+ enum:[0,1],
148
+ default:0
149
+ },
150
+ infraReport:{},
151
+ infraDownTime: {
152
+ type: Number,
153
+ default:1,
154
+ enum:[1,2,3,4,5,6,8,9,10,11,12]
155
+ },
156
+ MinFilesCount:{
157
+ type: Number,
158
+ default:0
159
+ },
160
+ rcaTicketAssign:{// root cause anlysis
161
+ type: Number,
162
+ enum:[1,2,3,4,5,6,8,9,10,11,12],
163
+ default:1
164
+ },
165
+ refreshAlert:{
166
+ type: Number,
167
+ default:1,
168
+ enum:[0,1,2,3,4,5,6,8,9,10]
169
+ },
170
+ statusCheckAlert:{
171
+ type: Number,
172
+ default:1,
173
+ enum:[1,2,3,4,5,6,8,9,10,11,12]
174
+ },
175
+ accuracyPercentage: {
176
+ type: Number, // in less than
177
+ default:10
178
+ },
179
+ reTrain: {
180
+ type: Number, // calculate no of past days
181
+ enum:[1,2,3,4,5,6,8,9,10,11,12],
182
+ default:1
183
+ },
184
+ emailAlert:{
185
+ type: Boolean,
186
+ default: false
187
+ },
188
+ matConfig:{
189
+ enabled:{
190
+ type: Boolean,
191
+ default: false
192
+ }
193
+ }
194
+ },
195
+ reportConfigs: {
196
+ report: {
197
+ type: Boolean,
198
+ default:true
199
+ },
200
+ reportName: {
201
+ type: String,
202
+ },
203
+ },
204
+ auditConfigs: {
205
+ audit: {
206
+ type: Boolean,
207
+ default: true
208
+ },
209
+ count:{
210
+ type:Number,
211
+ default:200
212
+ },
213
+ ratio:{
214
+ type:Number,
215
+ default:0.75,
216
+ },
217
+ queueName: {
218
+ type: String,
219
+ },
220
+ zoneQueueName: {
221
+ type: String,
222
+ },
223
+ trafficQueueName: {
224
+ type: String,
225
+ },
226
+ traxQueueName: {
227
+ unattendedCustomer :{
228
+ type:String
229
+ },
230
+ leftInMiddle:{
231
+ type:String
232
+ },
233
+ uniformDetection:{
234
+ type:String
235
+ },
236
+ mobileDetection:{
237
+ type:String
238
+ },
239
+ cameraAngleChange:{
240
+ type:String
241
+ }
242
+ }
243
+ },
244
+ assignedUsers: {
245
+ csm: {
246
+ type: Object,
247
+ },
248
+ ops: {
249
+ type: Array,
250
+ },
251
+ },
252
+ featureConfigs: {
253
+ open: {
254
+ type: String,
255
+ default: "10:00:00"
256
+ },
257
+ close: {
258
+ type: String,
259
+ default: "23:00:00"
260
+ },
261
+ infraAlert: {
262
+ condition: {
263
+ type: String,
264
+ default:"<"
265
+ },
266
+ value: {
267
+ type: Number,
268
+ default:"1"
269
+ },
270
+ },
271
+ bouncedLimit: {
272
+ condition: {
273
+ type: String,
274
+ default:'<='
275
+ },
276
+ value: {
277
+ type: Number,
278
+ default: "1"
279
+ },
280
+ },
281
+ missedOpportunityFrom: {
282
+ condition: {
283
+ type: String,
284
+ default: '>'
285
+ },
286
+ value: {
287
+ type: Number,
288
+ default:'1'
289
+ },
290
+ },
291
+ missedOpportunityTo: {
292
+ condition: {
293
+ type: String,
294
+ default:"<="
295
+ },
296
+ value: {
297
+ type: Number,
298
+ default:"5"
299
+ },
300
+ },
301
+ conversion: {
302
+ condition: {
303
+ type: String,
304
+ default:">"
305
+ },
306
+ value: {
307
+ type: Number,
308
+ default:'5'
309
+ },
310
+ },
311
+ billableCalculation: {
312
+ type: String,
313
+ default:"engagers-count"
314
+ },
315
+ missedOpportunityCalculation: {
316
+ type: String,
317
+ default:"engagers-conversion"
318
+ },
319
+ conversionCalculation: {
320
+ type: String,
321
+ default:"engagers-count"
322
+ },
323
+ isNormalized: {
324
+ type: Boolean,
325
+ default: false,
326
+ },
327
+ isPasserByData: {
328
+ type: Boolean,
329
+ default: false,
330
+ },
331
+ isFootfallDirectory: {
332
+ type: Boolean,
333
+ default: false,
334
+ },
335
+ isExcludedArea:{
336
+ type:Boolean,
337
+ default:true
338
+ },
339
+ updateFeatureConfig:{
340
+ type:Boolean,
341
+ default:true
342
+ },
343
+ isCameraDisabled:{
344
+ type:Boolean,
345
+ default:false
346
+ },
347
+ isbillingDisabled:{
348
+ type:Boolean,
349
+ default:false
350
+ },
351
+ isNewDashboard:{
352
+ type:Boolean,
353
+ default:false
354
+ },
355
+ isFootfallAuditStores:{
356
+ type:Boolean,
357
+ default:false
358
+ },
359
+ isNewTraffic:{
360
+ type:Boolean,
361
+ default:false
362
+ },
363
+ isNewZone:{
364
+ type:Boolean,
365
+ default:false
366
+ },
367
+ isNewReports:{
368
+ type:Boolean,
369
+ default:false
370
+ },
371
+ isNOB:{
372
+ type:Boolean,
373
+ default:false
374
+ },
375
+ isNewZoneV2:{
376
+ type:Boolean,
377
+ default:false
378
+ },
379
+ isTrax:{
380
+ type:Boolean,
381
+ default:false
382
+ },
383
+ },
384
+ document: {
385
+ addressProof: {
386
+ path: {
387
+ type: String,
388
+
389
+ },
390
+ },
391
+ gst: {
392
+ number: {
393
+ type: String,
394
+ },
395
+ path: {
396
+ type: String,
397
+
398
+ },
399
+ },
400
+ pan: {
401
+ number: {
402
+ type: String,
403
+ },
404
+ path: {
405
+ type: String,
406
+
407
+ },
408
+ },
409
+ cin: {
410
+ number: {
411
+ type: String,
412
+ },
413
+ path: {
414
+ type: String,
415
+
416
+ },
417
+ },
418
+
419
+ },
420
+ price:{
421
+ type:Number
422
+ },
423
+ paymentInvoice: {
424
+ proRate: {
425
+ type: String,
426
+ enum: ['before15','after15'],
427
+ default: 'before15',
428
+ },
429
+ paymentType: {
430
+ type:String,
431
+ enum: ['online','banktransfer'],
432
+ default: 'online',
433
+ },
434
+ paymentCycle: {
435
+ type:String,
436
+ },
437
+ currencyType: {
438
+ type:String
439
+ },
440
+ invoiceTo:{
441
+ type:Array
442
+ },
443
+ paymentAgreementTo:{
444
+ type:Array
445
+ },
446
+ invoiceOn: {
447
+ type:String,
448
+ enum: ['lastday','25th'],
449
+ default: '25th',
450
+ },
451
+ extendPaymentPeriodDays: {
452
+ type:Number,
453
+ default: 5,
454
+ },
455
+ invoiceCC:{
456
+ type:Array
457
+ },
458
+ PomNumber:{
459
+ type:String
460
+ }
461
+ },
462
+ priceType:{
463
+ type:String,
464
+ enum: ['standard','step'],
465
+ default: 'standard',
466
+ },
467
+ virtualAccount:{
468
+ accountNo:{
469
+ type:String
470
+ },
471
+ ifscCode:{
472
+ type:String
473
+ },
474
+ swiftCode:{
475
+ type:String
476
+ },
477
+ branch:{
478
+ type:String
479
+ }
480
+ },
481
+ clientApi: {
482
+ apiKey: {
483
+ type: String,
484
+ default: null,
485
+ },
486
+ status: {
487
+ type: Boolean,
488
+ default: false,
489
+ },
490
+ allowedIps: {
491
+ type: Array,
492
+ default: [ '*' ],
493
+ },
494
+ },
495
+ notifyCsmAssign: {
496
+ type: Boolean,
497
+ default:false
498
+ },
499
+ edgeApp:{
500
+ password:{
501
+ type:String,
502
+ },
503
+ },
504
+ averageTransactionValue: {
505
+ type: String,
506
+ default: ''
507
+ },
508
+ domainConfig:{
509
+ ssoLogin: {
510
+ isEnable: {
511
+ type: Boolean,
512
+ default: false,
513
+ },
514
+ domainName: {
515
+ type: Array,
516
+ },
517
+ },
518
+ ipWhitelisting: {
519
+ enableWhitelisting: {
520
+ type: Boolean,
521
+ default: false,
522
+ },
523
+ allowedIps: {
524
+ type: Array,
525
+ },
526
+ },
527
+ enableOtp:{
528
+ type: Boolean,
529
+ default: false,
530
+ }
531
+ },
532
+ storeRadiusConfig: {
533
+ type: Number,
534
+ default: 200
535
+ },
536
+ },
537
+ {
538
+ strict: true,
539
+ versionKey: false,
540
+ timestamps: true,
541
+ },
542
+ );
543
+
544
+ client.plugin( mongooseUniqueValidator );
545
+ export default mongoose.model( 'client', client );