tango-api-schema 2.4.20 → 2.4.22

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 (2) hide show
  1. package/package.json +1 -1
  2. package/schema/client.model.js +642 -634
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tango-api-schema",
3
- "version": "2.4.20",
3
+ "version": "2.4.22",
4
4
  "description": "tangoEye model schema",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1,483 +1,483 @@
1
1
  import mongoose from 'mongoose';
2
2
 
3
3
  const client = new mongoose.Schema(
4
- {
5
- clientName: {
4
+ {
5
+ clientName: {
6
+ type: String,
7
+ trim: true,
8
+ required: true,
9
+ unique: true,
10
+ },
11
+ clientId: {
12
+ type: String,
13
+ trim: true,
14
+ required: true,
15
+ unique: true,
16
+ },
17
+ tangoId: {
18
+ type: Number,
19
+ require: true,
20
+ },
21
+ userId: {
22
+ type: mongoose.Types.ObjectId,
23
+ required: true,
24
+ },
25
+ planDetails: {
26
+ totalStores: {
6
27
  type: String,
7
- trim: true,
8
- required: true,
9
- unique: true,
28
+ require: true,
10
29
  },
11
- clientId: {
30
+ storeSize: {
12
31
  type: String,
13
- trim: true,
14
- required: true,
15
- unique: true,
32
+ require: true,
16
33
  },
17
- tangoId: {
34
+ totalCamera: {
18
35
  type: Number,
19
36
  require: true,
20
37
  },
21
- userId: {
22
- type: mongoose.Types.ObjectId,
23
- required: true,
38
+ subscriptionPeriod: {
39
+ type: String,
40
+ enum: ['monthly', 'quarterly', 'annual'],
24
41
  },
25
- planDetails: {
26
- totalStores: {
27
- type: String,
28
- require: true,
29
- },
30
- storeSize: {
31
- type: String,
32
- require: true,
33
- },
34
- totalCamera: {
35
- type: Number,
36
- require: true,
37
- },
38
- subscriptionPeriod: {
39
- type: String,
40
- enum: ['monthly','quarterly','annual'],
41
- },
42
- subscriptionType: {
43
- type: String,
44
- enum: ['free','premium','enterprise'],
45
- },
46
- paymentStatus: {
47
- type: String,
48
- enum: ['free','trial','paid','unbilled','due'],
49
- },
50
- product: [
51
- {
52
- productName: {
53
- type: String,
54
- },
55
- trialStartDate: {
56
- type: Date,
57
- },
58
- trialEndDate: {
59
- type: Date,
60
- },
61
- subscribedDate: {
62
- type: Date
63
- },
64
- status: {
65
- type: String,
66
- enum: ['trial','live'],
67
- default: 'trial'
68
- }
42
+ subscriptionType: {
43
+ type: String,
44
+ enum: ['free', 'premium', 'enterprise'],
45
+ },
46
+ paymentStatus: {
47
+ type: String,
48
+ enum: ['free', 'trial', 'paid', 'unbilled', 'due'],
49
+ },
50
+ product: [
51
+ {
52
+ productName: {
53
+ type: String,
54
+ },
55
+ trialStartDate: {
56
+ type: Date,
57
+ },
58
+ trialEndDate: {
59
+ type: Date,
60
+ },
61
+ subscribedDate: {
62
+ type: Date
63
+ },
64
+ status: {
65
+ type: String,
66
+ enum: ['trial', 'live'],
67
+ default: 'trial'
69
68
  }
70
- ],
69
+ }
70
+ ],
71
+ },
72
+ status: {
73
+ type: String,
74
+ enum: ['active', 'deactive', 'hold', 'suspended'],
75
+ default: 'active'
76
+ },
77
+ profileDetails: {
78
+ logo: {
79
+ type: String
71
80
  },
72
- status: {
81
+ registeredCompanyName: {
73
82
  type: String,
74
- enum: ['active','deactive','hold','suspended'],
75
- default: 'active'
76
83
  },
77
- profileDetails: {
78
- logo: {
79
- type: String
80
- },
81
- registeredCompanyName: {
82
- type: String,
83
- },
84
- industry: {
85
- type: String,
86
- enum: ['apparel','footwear','skincare','foodandbeverage','techstartup','grooming','leather','furniture','mattress','customerelectronics','jewellery','interiordesign','ev','fintech','perfume','fashionaccessories','innerwear','nutrition','fashionandlifestyle','eyewear']
87
- },
88
- clientType: {
89
- type: String,
90
- enum: ['partnership','proprietorship','pvtltd','person']
91
- },
92
- registeredAddress: {
93
- type: String,
94
- },
95
- headQuarters: {
96
- type: String,
97
- },
98
- website: {
99
- type: String,
100
- },
84
+ industry: {
85
+ type: String,
86
+ enum: ['apparel', 'footwear', 'skincare', 'foodandbeverage', 'techstartup', 'grooming', 'leather', 'furniture', 'mattress', 'customerelectronics', 'jewellery', 'interiordesign', 'ev', 'fintech', 'perfume', 'fashionaccessories', 'innerwear', 'nutrition', 'fashionandlifestyle', 'eyewear']
101
87
  },
102
- revopConfig:{
103
- limit:{
104
- type:Number,
105
- default:5
106
- },
88
+ clientType: {
89
+ type: String,
90
+ enum: ['partnership', 'proprietorship', 'pvtltd', 'person']
107
91
  },
108
- billingDetails: {
109
- tradeName: {
110
- type: String,
111
- },
112
- gstNumber: {
113
- type: String,
114
- },
115
- authorityName: {
116
- type: String,
117
- },
118
- authorityEmail: {
119
- type: String,
120
- },
121
- billingAddress: {
122
- type: String,
123
- },
124
- companyName: {
125
- type: String,
126
- },
127
- PlaceOfSupply: {
128
- type: String,
129
- },
92
+ registeredAddress: {
93
+ type: String,
130
94
  },
131
- signatoryDetail: {
132
- name: {
133
- type: String,
134
- },
135
- email: {
136
- type: String,
137
- },
138
- number: {
139
- type: String,
140
- },
141
- designation: {
142
- type: String,
143
- },
95
+ headQuarters: {
96
+ type: String,
144
97
  },
145
- ticketConfigs: {
146
- installationReAssign: {
147
- type: Number,
148
- default:0
149
- },
150
- downTimeType: {
151
- type: Number, // 0 for one camera and 1 for multi cameras
152
- enum:[0,1],
153
- default:0
154
- },
155
- infraReport:{},
156
- infraDownTime: {
157
- type: Number,
158
- default:1,
159
- enum:[1,2,3,4,5,6,8,9,10,11,12]
160
- },
161
- MinFilesCount:{
162
- type: Number,
163
- default:0
164
- },
165
- rcaTicketAssign:{// root cause anlysis
166
- type: Number,
167
- enum:[1,2,3,4,5,6,8,9,10,11,12],
168
- default:1
169
- },
170
- refreshAlert:{
171
- type: Number,
172
- default:1,
173
- enum:[0,1,2,3,4,5,6,8,9,10]
174
- },
175
- statusCheckAlert:{
176
- type: Number,
177
- default:1,
178
- enum:[1,2,3,4,5,6,8,9,10,11,12]
179
- },
180
- accuracyPercentage: {
181
- type: Number, // in less than
182
- default:10
183
- },
184
- reTrain: {
185
- type: Number, // calculate no of past days
186
- enum:[1,2,3,4,5,6,8,9,10,11,12],
187
- default:1
188
- },
189
- emailAlert:{
98
+ website: {
99
+ type: String,
100
+ },
101
+ },
102
+ revopConfig: {
103
+ limit: {
104
+ type: Number,
105
+ default: 5
106
+ },
107
+ },
108
+ billingDetails: {
109
+ tradeName: {
110
+ type: String,
111
+ },
112
+ gstNumber: {
113
+ type: String,
114
+ },
115
+ authorityName: {
116
+ type: String,
117
+ },
118
+ authorityEmail: {
119
+ type: String,
120
+ },
121
+ billingAddress: {
122
+ type: String,
123
+ },
124
+ companyName: {
125
+ type: String,
126
+ },
127
+ PlaceOfSupply: {
128
+ type: String,
129
+ },
130
+ },
131
+ signatoryDetail: {
132
+ name: {
133
+ type: String,
134
+ },
135
+ email: {
136
+ type: String,
137
+ },
138
+ number: {
139
+ type: String,
140
+ },
141
+ designation: {
142
+ type: String,
143
+ },
144
+ },
145
+ ticketConfigs: {
146
+ installationReAssign: {
147
+ type: Number,
148
+ default: 0
149
+ },
150
+ downTimeType: {
151
+ type: Number, // 0 for one camera and 1 for multi cameras
152
+ enum: [0, 1],
153
+ default: 0
154
+ },
155
+ infraReport: {},
156
+ infraDownTime: {
157
+ type: Number,
158
+ default: 1,
159
+ enum: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12]
160
+ },
161
+ MinFilesCount: {
162
+ type: Number,
163
+ default: 0
164
+ },
165
+ rcaTicketAssign: {// root cause anlysis
166
+ type: Number,
167
+ enum: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12],
168
+ default: 1
169
+ },
170
+ refreshAlert: {
171
+ type: Number,
172
+ default: 1,
173
+ enum: [0, 1, 2, 3, 4, 5, 6, 8, 9, 10]
174
+ },
175
+ statusCheckAlert: {
176
+ type: Number,
177
+ default: 1,
178
+ enum: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12]
179
+ },
180
+ accuracyPercentage: {
181
+ type: Number, // in less than
182
+ default: 10
183
+ },
184
+ reTrain: {
185
+ type: Number, // calculate no of past days
186
+ enum: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12],
187
+ default: 1
188
+ },
189
+ emailAlert: {
190
+ type: Boolean,
191
+ default: false
192
+ },
193
+ matConfig: {
194
+ enabled: {
190
195
  type: Boolean,
191
196
  default: false
192
- },
193
- matConfig:{
194
- enabled:{
195
- type: Boolean,
196
- default: false
197
- }
198
197
  }
198
+ }
199
+ },
200
+ reportConfigs: {
201
+ report: {
202
+ type: Boolean,
203
+ default: true
199
204
  },
200
- reportConfigs: {
201
- report: {
202
- type: Boolean,
203
- default:true
204
- },
205
- reportName: {
206
- type: String,
207
- },
208
- reportType:{
209
- type:String,
210
- enum:["manual","automate"],
211
- default:"manual"
212
- }
205
+ reportName: {
206
+ type: String,
213
207
  },
214
- auditConfigs: {
215
- audit: {
216
- type: Boolean,
217
- default: true
208
+ reportType: {
209
+ type: String,
210
+ enum: ["manual", "automate"],
211
+ default: "manual"
212
+ }
213
+ },
214
+ auditConfigs: {
215
+ audit: {
216
+ type: Boolean,
217
+ default: true
218
+ },
219
+ traxAudit: {
220
+ type: Boolean,
221
+ default: false
222
+ },
223
+ trackAudit: {
224
+ type: Boolean,
225
+ default: true
226
+ },
227
+ count: {
228
+ type: Number,
229
+ default: 200
230
+ },
231
+ ratio: {
232
+ type: Number,
233
+ default: 0.75,
234
+ },
235
+ queueName: {
236
+ type: String,
237
+ },
238
+ zoneQueueName: {
239
+ type: String,
240
+ },
241
+ trafficQueueName: {
242
+ type: String,
243
+ },
244
+ trackQueueName: {
245
+ type: String,
246
+ },
247
+ traxQueueName: {
248
+ unattendedCustomer: {
249
+ type: String
218
250
  },
219
- traxAudit: {
220
- type: Boolean,
221
- default: false
251
+ leftInMiddle: {
252
+ type: String
222
253
  },
223
- trackAudit: {
224
- type: Boolean,
225
- default: true
254
+ uniformDetection: {
255
+ type: String
226
256
  },
227
- count:{
228
- type:Number,
229
- default:200
257
+ mobileDetection: {
258
+ type: String
230
259
  },
231
- ratio:{
232
- type:Number,
233
- default:0.75,
260
+ cameraAngleChange: {
261
+ type: String
234
262
  },
235
- queueName: {
236
- type: String,
263
+ hygiene: {
264
+ type: String
237
265
  },
238
- zoneQueueName: {
239
- type: String,
266
+ eyeTestCamera: {
267
+ type: String
240
268
  },
241
- trafficQueueName: {
242
- type: String,
269
+ cleaning: {
270
+ type: String
243
271
  },
244
- trackQueueName: {
245
- type: String,
272
+ scrum: {
273
+ type: String
246
274
  },
247
- traxQueueName: {
248
- unattendedCustomer :{
249
- type:String
250
- },
251
- leftInMiddle:{
252
- type:String
253
- },
254
- uniformDetection:{
255
- type:String
256
- },
257
- mobileDetection:{
258
- type:String
259
- },
260
- cameraAngleChange:{
261
- type:String
262
- },
263
- hygiene:{
264
- type:String
265
- },
266
- eyeTestCamera:{
267
- type:String
268
- },
269
- cleaning:{
270
- type:String
271
- },
272
- scrum:{
273
- type:String
274
- },
275
- openClose:{
276
- type:String
277
- },
278
- anomaly:{
279
- type:String
280
- }
275
+ openClose: {
276
+ type: String
277
+ },
278
+ anomaly: {
279
+ type: String
281
280
  }
281
+ }
282
+ },
283
+ assignedUsers: {
284
+ csm: {
285
+ type: Object,
286
+ },
287
+ ops: {
288
+ type: Array,
282
289
  },
283
- assignedUsers: {
284
- csm: {
285
- type: Object,
290
+ },
291
+ featureConfigs: {
292
+ open: {
293
+ type: String,
294
+ default: "10:00:00"
295
+ },
296
+ close: {
297
+ type: String,
298
+ default: "23:00:00"
299
+ },
300
+ infraAlert: {
301
+ condition: {
302
+ type: String,
303
+ default: "<"
286
304
  },
287
- ops: {
288
- type: Array,
305
+ value: {
306
+ type: Number,
307
+ default: "1"
289
308
  },
290
309
  },
291
- featureConfigs: {
292
- open: {
310
+ bouncedLimit: {
311
+ condition: {
293
312
  type: String,
294
- default: "10:00:00"
313
+ default: '<='
295
314
  },
296
- close: {
315
+ value: {
297
316
  type: String,
298
- default: "23:00:00"
299
- },
300
- infraAlert: {
301
- condition: {
302
- type: String,
303
- default:"<"
304
- },
305
- value: {
306
- type: Number,
307
- default:"1"
308
- },
309
- },
310
- bouncedLimit: {
311
- condition: {
312
- type: String,
313
- default:'<='
314
- },
315
- value: {
316
- type: String,
317
- default: "1"
318
- },
319
- },
320
- missedOpportunityFrom: {
321
- condition: {
322
- type: String,
323
- default: '>'
324
- },
325
- value: {
326
- type: String,
327
- default:'1'
328
- },
329
- },
330
- missedOpportunityTo: {
331
- condition: {
332
- type: String,
333
- default:"<="
334
- },
335
- value: {
336
- type: String,
337
- default:"5"
338
- },
339
- },
340
- conversion: {
341
- condition: {
342
- type: String,
343
- default:">"
344
- },
345
- value: {
346
- type: String,
347
- default:'5'
348
- },
317
+ default: "1"
349
318
  },
350
- billableCalculation: {
319
+ },
320
+ missedOpportunityFrom: {
321
+ condition: {
351
322
  type: String,
352
- default:"engagers-count"
323
+ default: '>'
353
324
  },
354
- missedOpportunityCalculation: {
325
+ value: {
355
326
  type: String,
356
- default:"engagers-conversion"
327
+ default: '1'
357
328
  },
358
- conversionCalculation: {
329
+ },
330
+ missedOpportunityTo: {
331
+ condition: {
359
332
  type: String,
360
- default:"engagers-count"
361
- },
362
- isNormalized: {
363
- type: Boolean,
364
- default: false,
365
- },
366
- isPasserByData: {
367
- type: Boolean,
368
- default: false,
369
- },
370
- isFootfallDirectory: {
371
- type: Boolean,
372
- default: false,
373
- },
374
- isExcludedArea:{
375
- type:Boolean,
376
- default:true
377
- },
378
- updateFeatureConfig:{
379
- type:Boolean,
380
- default:true
381
- },
382
- isCameraDisabled:{
383
- type:Boolean,
384
- default:false
333
+ default: "<="
385
334
  },
386
- isbillingDisabled:{
387
- type:Boolean,
388
- default:false
389
- },
390
- isNewDashboard:{
391
- type:Boolean,
392
- default:false
393
- },
394
- isFootfallAuditStores:{
395
- type:Boolean,
396
- default:false
397
- },
398
- isNewTraffic:{
399
- type:Boolean,
400
- default:false
401
- },
402
- isNewZone:{
403
- type:Boolean,
404
- default:false
405
- },
406
- isNewReports:{
407
- type:Boolean,
408
- default:false
409
- },
410
- isNOB:{
411
- type:Boolean,
412
- default:false
413
- },
414
- isNewZoneV2:{
415
- type:Boolean,
416
- default:false
417
- },
418
- isTrax:{
419
- type:Boolean,
420
- default:false
421
- },
422
- isControlCenter:{
423
- type:Boolean,
424
- default:false
425
- },
426
- isFootfallDirectoryAudit:{
427
- type:Boolean,
428
- default:false
429
- },
430
- isFootfallDirectoryLimit:{
431
- type:Boolean,
432
- default:false
433
- },
434
- isRevops:{
435
- type:Boolean,
436
- default:false
437
- },
438
- traxDateRange:{
439
- type:Number,
440
- default:30
441
- },
442
- trafficDateRange:{
443
- type:Number,
444
- default:180
445
- },
446
- streamBy:{
335
+ value: {
447
336
  type: String,
448
- enum: ["Rtsp", "Edge"],
449
- default: "Rtsp"
450
- },
451
- trackerFF:{
452
- type: Boolean,
453
- default:true
454
- },
455
- isFootfallView:{
456
- type: Boolean,
457
- default:false
458
- },
459
- isAIManager:{
460
- type: Boolean,
461
- default:false
462
- },
463
- isAIManagerAccessControl:{
464
- type: Boolean,
465
- default:false
466
- },
467
- isCameraEdit:{
468
- type: Boolean,
469
- default:false
337
+ default: "5"
470
338
  },
471
- isVMS:{
472
- type: Boolean,
473
- default:false
339
+ },
340
+ conversion: {
341
+ condition: {
342
+ type: String,
343
+ default: ">"
474
344
  },
475
- loginSSO:{
476
- type: Boolean,
477
- default:false
345
+ value: {
346
+ type: String,
347
+ default: '5'
478
348
  },
479
-
480
349
  },
350
+ billableCalculation: {
351
+ type: String,
352
+ default: "engagers-count"
353
+ },
354
+ missedOpportunityCalculation: {
355
+ type: String,
356
+ default: "engagers-conversion"
357
+ },
358
+ conversionCalculation: {
359
+ type: String,
360
+ default: "engagers-count"
361
+ },
362
+ isNormalized: {
363
+ type: Boolean,
364
+ default: false,
365
+ },
366
+ isPasserByData: {
367
+ type: Boolean,
368
+ default: false,
369
+ },
370
+ isFootfallDirectory: {
371
+ type: Boolean,
372
+ default: false,
373
+ },
374
+ isExcludedArea: {
375
+ type: Boolean,
376
+ default: true
377
+ },
378
+ updateFeatureConfig: {
379
+ type: Boolean,
380
+ default: true
381
+ },
382
+ isCameraDisabled: {
383
+ type: Boolean,
384
+ default: false
385
+ },
386
+ isbillingDisabled: {
387
+ type: Boolean,
388
+ default: false
389
+ },
390
+ isNewDashboard: {
391
+ type: Boolean,
392
+ default: false
393
+ },
394
+ isFootfallAuditStores: {
395
+ type: Boolean,
396
+ default: false
397
+ },
398
+ isNewTraffic: {
399
+ type: Boolean,
400
+ default: false
401
+ },
402
+ isNewZone: {
403
+ type: Boolean,
404
+ default: false
405
+ },
406
+ isNewReports: {
407
+ type: Boolean,
408
+ default: false
409
+ },
410
+ isNOB: {
411
+ type: Boolean,
412
+ default: false
413
+ },
414
+ isNewZoneV2: {
415
+ type: Boolean,
416
+ default: false
417
+ },
418
+ isTrax: {
419
+ type: Boolean,
420
+ default: false
421
+ },
422
+ isControlCenter: {
423
+ type: Boolean,
424
+ default: false
425
+ },
426
+ isFootfallDirectoryAudit: {
427
+ type: Boolean,
428
+ default: false
429
+ },
430
+ isFootfallDirectoryLimit: {
431
+ type: Boolean,
432
+ default: false
433
+ },
434
+ isRevops: {
435
+ type: Boolean,
436
+ default: false
437
+ },
438
+ traxDateRange: {
439
+ type: Number,
440
+ default: 30
441
+ },
442
+ trafficDateRange: {
443
+ type: Number,
444
+ default: 180
445
+ },
446
+ streamBy: {
447
+ type: String,
448
+ enum: ["Rtsp", "Edge"],
449
+ default: "Rtsp"
450
+ },
451
+ trackerFF: {
452
+ type: Boolean,
453
+ default: true
454
+ },
455
+ isFootfallView: {
456
+ type: Boolean,
457
+ default: false
458
+ },
459
+ isAIManager: {
460
+ type: Boolean,
461
+ default: false
462
+ },
463
+ isAIManagerAccessControl: {
464
+ type: Boolean,
465
+ default: false
466
+ },
467
+ isCameraEdit: {
468
+ type: Boolean,
469
+ default: false
470
+ },
471
+ isVMS: {
472
+ type: Boolean,
473
+ default: false
474
+ },
475
+ loginSSO: {
476
+ type: Boolean,
477
+ default: false
478
+ },
479
+
480
+ },
481
481
  footfallDirectoryConfigs: {
482
482
  revision: {
483
483
  type: [
@@ -502,279 +502,287 @@ const client = new mongoose.Schema(
502
502
  },
503
503
  allowTicketCreation: {
504
504
  type: Number,
505
- default:3
505
+ default: 3
506
+ },
507
+ allowImageView: {
508
+ type: Number,
509
+ default:90
506
510
  },
507
511
  isAutoCloseEnable: {
508
512
  type: Boolean,
509
- default:true
513
+ default: true
510
514
  },
511
515
  autoCloseAccuracy: {
512
516
  type: String,
513
- default:"95%"
517
+ default: "95%"
514
518
  },
515
- taggingLimitation: {
516
- type: [
517
- {
518
- type: {
519
- type: String,
520
- default: ""
521
- },
522
- value: {
523
- type: Number,
524
- default: 0
519
+ taggingLimitation: {
520
+ type: [
521
+ {
522
+ type: {
523
+ type: String,
524
+ default: ""
525
+ },
526
+ value: {
527
+ type: Number,
528
+ default: 0
529
+ },
530
+ unit: {
531
+ type: String,
532
+ default: "%"
533
+ },
534
+ key:{
535
+ type: String,
536
+ default: ""
537
+ }
538
+ }
539
+ ],
540
+ default: function () {
541
+ return [
542
+ { type: "duplicate", value: 10, unit: "%" },
543
+ { type: "employee", value: 5, unit: "%" },
544
+ { type: "house-keeping", value: 1, unit: "%" },
545
+ { type: "junk", value: 5, unit: "%" }
546
+ ];
547
+ }
525
548
  },
526
- unit: {
527
- type: String,
528
- default: "%"
529
- }
530
- }
531
- ],
532
- default: function () {
533
- return [
534
- { type: "duplicate", value: 10, unit: "%" },
535
- { type: "employee", value: 5, unit: "%" },
536
- { type: "house-keeping", value: 1, unit: "%" },
537
- { type: "junk", value: 5, unit: "%" }
538
- ];
539
- }
540
- },
541
549
  accuracyBreach: {
542
550
  ticketCount: {
543
551
  type: String,
544
- default:"3"
552
+ default: "3"
545
553
  },
546
554
  days: {
547
555
  type: String,
548
- default:"30"
556
+ default: "30"
549
557
  },
550
558
  accuracy: {
551
559
  type: String,
552
- default:"95%"
560
+ default: "95%"
553
561
  }
554
562
  },
555
563
  tangoReview: {
556
564
  type: String,
557
- default:"85%"
565
+ default: "85%"
558
566
  }
559
567
  },
560
- document: {
561
- addressProof: {
562
- path: {
563
- type: String,
564
-
565
- },
566
- },
567
- gst: {
568
- number: {
569
- type: String,
570
- },
571
- path: {
572
- type: String,
568
+ document: {
569
+ addressProof: {
570
+ path: {
571
+ type: String,
573
572
 
574
- },
575
573
  },
576
- pan: {
577
- number: {
578
- type: String,
579
- },
580
- path: {
581
- type: String,
582
-
583
- },
574
+ },
575
+ gst: {
576
+ number: {
577
+ type: String,
584
578
  },
585
- cin: {
586
- number: {
587
- type: String,
588
- },
589
- path: {
590
- type: String,
579
+ path: {
580
+ type: String,
591
581
 
592
- },
593
582
  },
594
-
595
- },
596
- price:{
597
- type:Number
598
583
  },
599
- paymentInvoice: {
600
- proRate: {
584
+ pan: {
585
+ number: {
601
586
  type: String,
602
- enum: ['before15','after15'],
603
- default: 'before15',
604
- },
605
- paymentType: {
606
- type:String,
607
- enum: ['online','banktransfer'],
608
- default: 'online',
609
- },
610
- paymentCycle: {
611
- type:String,
612
- },
613
- currencyType: {
614
- type:String
615
- },
616
- invoiceTo:{
617
- type:Array
618
- },
619
- paymentAgreementTo:{
620
- type:Array
621
587
  },
622
- invoiceOn: {
623
- type:String,
624
- enum: ['lastday','25th'],
625
- default: '25th',
588
+ path: {
589
+ type: String,
590
+
626
591
  },
627
- extendPaymentPeriodDays: {
628
- type:Number,
629
- default: 5,
592
+ },
593
+ cin: {
594
+ number: {
595
+ type: String,
630
596
  },
631
- invoiceCC:{
632
- type:Array
597
+ path: {
598
+ type: String,
599
+
633
600
  },
634
- PomNumber:{
635
- type:String
636
- }
637
601
  },
638
- priceType:{
639
- type:String,
640
- enum: ['standard','step'],
641
- default: 'standard',
602
+
603
+ },
604
+ price: {
605
+ type: Number
606
+ },
607
+ paymentInvoice: {
608
+ proRate: {
609
+ type: String,
610
+ enum: ['before15', 'after15'],
611
+ default: 'before15',
642
612
  },
643
- virtualAccount:{
644
- accountNo:{
645
- type:String
646
- },
647
- ifscCode:{
648
- type:String
649
- },
650
- swiftCode:{
651
- type:String
652
- },
653
- branch:{
654
- type:String
655
- }
613
+ paymentType: {
614
+ type: String,
615
+ enum: ['online', 'banktransfer'],
616
+ default: 'online',
656
617
  },
657
- clientApi: {
658
- apiKey: {
659
- type: String,
660
- default: null,
661
- },
662
- status: {
663
- type: Boolean,
664
- default: false,
665
- },
666
- allowedIps: {
667
- type: Array,
668
- default: [ '*' ],
669
- },
618
+ paymentCycle: {
619
+ type: String,
670
620
  },
671
- notifyCsmAssign: {
672
- type: Boolean,
673
- default:false
621
+ currencyType: {
622
+ type: String
674
623
  },
675
- edgeApp:{
676
- password:{
677
- type:String,
678
- },
624
+ invoiceTo: {
625
+ type: Array
626
+ },
627
+ paymentAgreementTo: {
628
+ type: Array
679
629
  },
680
- averageTransactionValue: {
630
+ invoiceOn: {
681
631
  type: String,
682
- default: ''
632
+ enum: ['lastday', '25th'],
633
+ default: '25th',
683
634
  },
684
- domainConfig:{
685
- ssoLogin: {
686
- isEnable: {
687
- type: Boolean,
688
- default: false,
689
- },
690
- domainName: {
691
- type: Array,
692
- },
693
- },
694
- ipWhitelisting: {
695
- enableWhitelisting: {
696
- type: Boolean,
697
- default: false,
698
- },
699
- allowedIps: {
700
- type: Array,
701
- },
702
- },
703
- enableOtp:{
704
- type: Boolean,
705
- default: false,
706
- }
707
- },
708
- storeRadiusConfig: {
635
+ extendPaymentPeriodDays: {
709
636
  type: Number,
710
- default: 200
637
+ default: 5,
711
638
  },
712
- controlCenterConfigs:{
713
- taskList:{
714
- type: [String],
715
- default: ['Hygiene Task','Operations','Maintenence'],
716
- validate: {
717
- validator: function (arr) {
718
- return arr.length >= 1 && arr.length <= 16; // Minimum and maximum length
719
- },
720
- message: 'List must have between 1 and 15 task.',
721
- },
722
- }
639
+ invoiceCC: {
640
+ type: Array
641
+ },
642
+ PomNumber: {
643
+ type: String
644
+ }
645
+ },
646
+ priceType: {
647
+ type: String,
648
+ enum: ['standard', 'step'],
649
+ default: 'standard',
650
+ },
651
+ virtualAccount: {
652
+ accountNo: {
653
+ type: String
654
+ },
655
+ ifscCode: {
656
+ type: String
723
657
  },
724
- traxRAWImageUpload: {
658
+ swiftCode: {
659
+ type: String
660
+ },
661
+ branch: {
662
+ type: String
663
+ }
664
+ },
665
+ clientApi: {
666
+ apiKey: {
667
+ type: String,
668
+ default: null,
669
+ },
670
+ status: {
725
671
  type: Boolean,
726
- default:false
672
+ default: false,
673
+ },
674
+ allowedIps: {
675
+ type: Array,
676
+ default: ['*'],
727
677
  },
728
- emailersConfig: {
729
- daily: {
678
+ },
679
+ notifyCsmAssign: {
680
+ type: Boolean,
681
+ default: false
682
+ },
683
+ edgeApp: {
684
+ password: {
685
+ type: String,
686
+ },
687
+ },
688
+ averageTransactionValue: {
689
+ type: String,
690
+ default: ''
691
+ },
692
+ domainConfig: {
693
+ ssoLogin: {
694
+ isEnable: {
730
695
  type: Boolean,
731
- default:false
696
+ default: false,
732
697
  },
733
- weekly: {
734
- type: Boolean,
735
- default:false
698
+ domainName: {
699
+ type: Array,
736
700
  },
737
- monthly: {
701
+ },
702
+ ipWhitelisting: {
703
+ enableWhitelisting: {
738
704
  type: Boolean,
739
- default:false
705
+ default: false,
740
706
  },
741
- sendTo: {
707
+ allowedIps: {
742
708
  type: Array,
743
709
  },
744
710
  },
745
- clientConfigs: {
746
- exportLimit: {
747
- type: Number,
748
- default: 10000
711
+ enableOtp: {
712
+ type: Boolean,
713
+ default: false,
714
+ }
715
+ },
716
+ storeRadiusConfig: {
717
+ type: Number,
718
+ default: 200
719
+ },
720
+ controlCenterConfigs: {
721
+ taskList: {
722
+ type: [String],
723
+ default: ['Hygiene Task', 'Operations', 'Maintenence'],
724
+ validate: {
725
+ validator: function (arr) {
726
+ return arr.length >= 1 && arr.length <= 16; // Minimum and maximum length
727
+ },
728
+ message: 'List must have between 1 and 15 task.',
749
729
  },
750
- },
751
- traxBlockMobileTimeUpdate: {
730
+ }
731
+ },
732
+ traxRAWImageUpload: {
733
+ type: Boolean,
734
+ default: false
735
+ },
736
+ emailersConfig: {
737
+ daily: {
752
738
  type: Boolean,
753
- default:false
739
+ default: false
754
740
  },
755
- traxSectionSave: {
741
+ weekly: {
756
742
  type: Boolean,
757
- default:false
743
+ default: false
758
744
  },
759
- isCrestPlanogram: {
745
+ monthly: {
760
746
  type: Boolean,
761
- default:false
747
+ default: false
762
748
  },
763
- isTangoPlanogram: {
764
- type: Boolean,
765
- default:false
749
+ sendTo: {
750
+ type: Array,
766
751
  },
767
- traxMonthlyComparison: {
768
- type: Boolean,
769
- default:true
752
+ },
753
+ clientConfigs: {
754
+ exportLimit: {
755
+ type: Number,
756
+ default: 10000
770
757
  },
771
758
  },
772
- {
773
- strict: true,
774
- versionKey: false,
775
- timestamps: true,
759
+ traxBlockMobileTimeUpdate: {
760
+ type: Boolean,
761
+ default: false
762
+ },
763
+ traxSectionSave: {
764
+ type: Boolean,
765
+ default: false
766
+ },
767
+ isCrestPlanogram: {
768
+ type: Boolean,
769
+ default: false
770
+ },
771
+ isTangoPlanogram: {
772
+ type: Boolean,
773
+ default: false
774
+ },
775
+ traxMonthlyComparison: {
776
+ type: Boolean,
777
+ default: true
776
778
  },
779
+ },
780
+ {
781
+ strict: true,
782
+ versionKey: false,
783
+ timestamps: true,
784
+ },
777
785
  );
778
786
 
779
787
 
780
- export default mongoose.model( 'client', client );
788
+ export default mongoose.model('client', client);