payservedb 6.4.3 → 6.4.5

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 (139) hide show
  1. package/.env +2 -2
  2. package/index.js +275 -275
  3. package/package.json +17 -17
  4. package/src/models/account.js +35 -35
  5. package/src/models/apilog.js +18 -18
  6. package/src/models/approvalsWorkflows.js +49 -49
  7. package/src/models/archivedapilog.js +18 -18
  8. package/src/models/archivedauditlog.js +83 -83
  9. package/src/models/asset.js +34 -34
  10. package/src/models/assetsAssignment.js +64 -64
  11. package/src/models/auditlog.js +83 -83
  12. package/src/models/bankdetails.js +40 -40
  13. package/src/models/billerAddress.js +119 -119
  14. package/src/models/booking_invoice.js +151 -151
  15. package/src/models/bookinganalytics.js +63 -63
  16. package/src/models/bookingconfig.js +45 -45
  17. package/src/models/bookingproperty.js +122 -122
  18. package/src/models/bookingreservation.js +192 -192
  19. package/src/models/bookingrevenuerecord.js +84 -84
  20. package/src/models/budget.js +95 -95
  21. package/src/models/budgetCategory.js +19 -19
  22. package/src/models/campaigns.js +72 -72
  23. package/src/models/cashpayment.js +264 -264
  24. package/src/models/combinedUnits.js +62 -62
  25. package/src/models/common_area_electricity.js +38 -38
  26. package/src/models/common_area_generator.js +41 -41
  27. package/src/models/common_area_utility_alert.js +37 -37
  28. package/src/models/common_area_water.js +39 -39
  29. package/src/models/communication_status.js +33 -33
  30. package/src/models/company.js +53 -53
  31. package/src/models/country_tax.js +42 -42
  32. package/src/models/currency_settings.js +39 -39
  33. package/src/models/customer.js +208 -208
  34. package/src/models/default_payment_details.js +17 -17
  35. package/src/models/deliveryTimeMarks.js +18 -18
  36. package/src/models/dutyRoasterChecklist.js +250 -250
  37. package/src/models/dutyroster.js +136 -136
  38. package/src/models/email.js +37 -37
  39. package/src/models/email_sms_queue.js +61 -61
  40. package/src/models/entry_exit.js +53 -53
  41. package/src/models/expense.js +99 -99
  42. package/src/models/expense_category.js +45 -45
  43. package/src/models/facility.js +61 -61
  44. package/src/models/facilityWalletTransactionsMetadata.js +236 -236
  45. package/src/models/facility_departements.js +20 -20
  46. package/src/models/facility_payment_details.js +20 -20
  47. package/src/models/facilityasset.js +25 -25
  48. package/src/models/faq.js +18 -18
  49. package/src/models/gl_account_double_entries.js +25 -25
  50. package/src/models/gl_accounts.js +56 -56
  51. package/src/models/gl_entries.js +49 -49
  52. package/src/models/goodsReceivedNotes.js +115 -115
  53. package/src/models/guard.js +47 -47
  54. package/src/models/handover.js +246 -246
  55. package/src/models/invoice.js +336 -336
  56. package/src/models/item_inspection.js +67 -67
  57. package/src/models/leaseagreement.js +221 -221
  58. package/src/models/leasetemplate.js +17 -17
  59. package/src/models/levy.js +206 -206
  60. package/src/models/levy_invoice_settings.js +26 -26
  61. package/src/models/levycontract.js +117 -117
  62. package/src/models/levytype.js +23 -23
  63. package/src/models/maintenance_service_vendor.js +38 -38
  64. package/src/models/maintenance_services.js +17 -17
  65. package/src/models/maintenancerequisition.js +31 -31
  66. package/src/models/master_workplan.js +32 -32
  67. package/src/models/master_workplan_child.js +34 -34
  68. package/src/models/message.js +38 -38
  69. package/src/models/module.js +21 -21
  70. package/src/models/notification.js +44 -44
  71. package/src/models/paymentTermsMarks.js +19 -19
  72. package/src/models/penalty.js +76 -76
  73. package/src/models/pendingCredentials.js +32 -32
  74. package/src/models/powerMeterCustomerAccount.js +78 -78
  75. package/src/models/powerMeterCustomerBand.js +14 -14
  76. package/src/models/powerMeterDailyReading.js +30 -30
  77. package/src/models/powerMeterMonthlyReading.js +34 -34
  78. package/src/models/powerMeterPowerCharges.js +53 -53
  79. package/src/models/powerMeterSettings.js +138 -138
  80. package/src/models/powerMeterSingleDayReading.js +32 -32
  81. package/src/models/powerMeters.js +65 -65
  82. package/src/models/powerMetersManufacturer.js +14 -14
  83. package/src/models/propertyManagerContract.js +556 -556
  84. package/src/models/propertyManagerRevenue.js +195 -195
  85. package/src/models/purchaseOrderInvoice.js +74 -74
  86. package/src/models/purchase_order.js +213 -213
  87. package/src/models/purchase_request.js +110 -110
  88. package/src/models/refresh_token.js +23 -23
  89. package/src/models/reminder.js +197 -197
  90. package/src/models/report.js +13 -13
  91. package/src/models/resident.js +121 -121
  92. package/src/models/rfq_details.js +131 -131
  93. package/src/models/rfq_response.js +153 -153
  94. package/src/models/service_charge_invoice_upload.js +42 -42
  95. package/src/models/service_charge_payments.js +27 -27
  96. package/src/models/servicerequest.js +55 -55
  97. package/src/models/settings.js +62 -62
  98. package/src/models/smart_meter_daily_consumption.js +44 -44
  99. package/src/models/sms_africastalking.js +20 -20
  100. package/src/models/sms_balance_notification.js +26 -26
  101. package/src/models/sms_meliora.js +20 -20
  102. package/src/models/staff.js +36 -36
  103. package/src/models/stocksandspare.js +34 -34
  104. package/src/models/suppliers.js +74 -74
  105. package/src/models/tickets.js +121 -121
  106. package/src/models/unitManagementTemplate.js +44 -44
  107. package/src/models/unitasset.js +25 -25
  108. package/src/models/units.js +117 -117
  109. package/src/models/user.js +186 -186
  110. package/src/models/valueaddedservices.js +79 -79
  111. package/src/models/vas_invoices_upload.js +50 -50
  112. package/src/models/vas_payments.js +24 -24
  113. package/src/models/vasinvoice.js +192 -192
  114. package/src/models/vasvendor.js +57 -57
  115. package/src/models/visitLog.js +86 -86
  116. package/src/models/visitor.js +67 -67
  117. package/src/models/waitlist.js +45 -45
  118. package/src/models/wallet.js +44 -44
  119. package/src/models/wallet_transactions.js +50 -50
  120. package/src/models/water_invoice.js +281 -230
  121. package/src/models/water_meter_Command_Queue.js +33 -33
  122. package/src/models/water_meter_account.js +78 -78
  123. package/src/models/water_meter_billing.js +58 -58
  124. package/src/models/water_meter_communication.js +17 -17
  125. package/src/models/water_meter_communication_logs.js +30 -30
  126. package/src/models/water_meter_concentrator.js +66 -66
  127. package/src/models/water_meter_daily_history.js +32 -32
  128. package/src/models/water_meter_iot_cards.js +34 -34
  129. package/src/models/water_meter_manufacturer.js +35 -35
  130. package/src/models/water_meter_monthly_history.js +36 -36
  131. package/src/models/water_meter_negative_amounts.js +38 -38
  132. package/src/models/water_meter_settings.js +156 -150
  133. package/src/models/water_meter_single_day_history.js +34 -34
  134. package/src/models/water_meter_size.js +15 -15
  135. package/src/models/water_meters.js +123 -123
  136. package/src/models/water_meters_delivery.js +76 -76
  137. package/src/models/water_prepaid_credit.js +47 -47
  138. package/src/models/water_prepaid_debit.js +50 -50
  139. package/src/models/workorder.js +49 -49
@@ -1,78 +1,78 @@
1
- const mongoose = require('mongoose');
2
-
3
- const waterMeterAccountSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- },
9
- account_no: {
10
- type: String,
11
- required: true,
12
- trim: true
13
- },
14
- customerId: {
15
- type: mongoose.Schema.Types.ObjectId,
16
- ref: 'Customer',
17
- },
18
- customerName: {
19
- type: String,
20
- required: true,
21
- trim: true
22
- },
23
- phoneNumber: {
24
- type: String,
25
- required: true,
26
- trim: true
27
- },
28
- email: {
29
- type: String,
30
- required: true,
31
- trim: true
32
- },
33
- meterNumber: {
34
- type: String,
35
- required: true,
36
- unique: true,
37
- trim: true
38
- },
39
- unitId: {
40
- type: mongoose.Schema.Types.ObjectId,
41
- ref: 'Unit',
42
- },
43
- payment_type: {
44
- type: String,
45
- required: true,
46
- enum: ['Postpaid', 'Prepaid']
47
- },
48
- previousReading: {
49
- type: Number,
50
- required: true,
51
- default: 0
52
- },
53
- currentReading: {
54
- type: Number,
55
- required: true
56
- },
57
- status: {
58
- type: String,
59
- required: true,
60
- enum: ['Active', 'Inactive'],
61
- default: 'Active'
62
- },
63
- created_on: {
64
- type: Date,
65
- required: true,
66
- default: Date.now
67
- },
68
- meter_id: {
69
- type: mongoose.Schema.Types.ObjectId,
70
- ref: 'WaterMeter',
71
- }
72
- }, {
73
- timestamps: true
74
- });
75
-
76
- const WaterMeterAccount = mongoose.model('WaterMeterAccount', waterMeterAccountSchema);
77
-
78
- module.exports = WaterMeterAccount;
1
+ const mongoose = require('mongoose');
2
+
3
+ const waterMeterAccountSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ },
9
+ account_no: {
10
+ type: String,
11
+ required: true,
12
+ trim: true
13
+ },
14
+ customerId: {
15
+ type: mongoose.Schema.Types.ObjectId,
16
+ ref: 'Customer',
17
+ },
18
+ customerName: {
19
+ type: String,
20
+ required: true,
21
+ trim: true
22
+ },
23
+ phoneNumber: {
24
+ type: String,
25
+ required: true,
26
+ trim: true
27
+ },
28
+ email: {
29
+ type: String,
30
+ required: true,
31
+ trim: true
32
+ },
33
+ meterNumber: {
34
+ type: String,
35
+ required: true,
36
+ unique: true,
37
+ trim: true
38
+ },
39
+ unitId: {
40
+ type: mongoose.Schema.Types.ObjectId,
41
+ ref: 'Unit',
42
+ },
43
+ payment_type: {
44
+ type: String,
45
+ required: true,
46
+ enum: ['Postpaid', 'Prepaid']
47
+ },
48
+ previousReading: {
49
+ type: Number,
50
+ required: true,
51
+ default: 0
52
+ },
53
+ currentReading: {
54
+ type: Number,
55
+ required: true
56
+ },
57
+ status: {
58
+ type: String,
59
+ required: true,
60
+ enum: ['Active', 'Inactive'],
61
+ default: 'Active'
62
+ },
63
+ created_on: {
64
+ type: Date,
65
+ required: true,
66
+ default: Date.now
67
+ },
68
+ meter_id: {
69
+ type: mongoose.Schema.Types.ObjectId,
70
+ ref: 'WaterMeter',
71
+ }
72
+ }, {
73
+ timestamps: true
74
+ });
75
+
76
+ const WaterMeterAccount = mongoose.model('WaterMeterAccount', waterMeterAccountSchema);
77
+
78
+ module.exports = WaterMeterAccount;
@@ -1,58 +1,58 @@
1
- const mongoose = require('mongoose');
2
-
3
- const analogBillingSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- },
9
- meterNumber: {
10
- type: String,
11
- required: true,
12
- },
13
- accountNumber: {
14
- type: String,
15
- required: true,
16
- },
17
- currentReading: {
18
- type: Number,
19
- required: true,
20
- },
21
- previousReading: {
22
- type: Number,
23
- required: true,
24
- },
25
- yearMonth: {
26
- type: String, // Expected format: 'YYYY-MM'
27
- required: true,
28
- },
29
- totalUsage: {
30
- type: Number,
31
- required: true,
32
- },
33
- unitName: {
34
- type: String,
35
- required: true,
36
- },
37
- customerId: {
38
- type: mongoose.Schema.Types.ObjectId,
39
- ref: 'Customer',
40
- },
41
- billingType: {
42
- type: String,
43
- enum: ['postpaid'],
44
- },
45
- status: {
46
- type: String,
47
- enum: ['pending', 'reviewed', 'billed'],
48
- default: 'pending',
49
- },
50
- }, {
51
- timestamps: true,
52
- });
53
-
54
- analogBillingSchema.index({ meterNumber: 1, yearMonth: 1 }, { unique: true });
55
-
56
- const AnalogBilling = mongoose.model('AnalogBilling', analogBillingSchema);
57
-
58
- module.exports = AnalogBilling;
1
+ const mongoose = require('mongoose');
2
+
3
+ const analogBillingSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ },
9
+ meterNumber: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ accountNumber: {
14
+ type: String,
15
+ required: true,
16
+ },
17
+ currentReading: {
18
+ type: Number,
19
+ required: true,
20
+ },
21
+ previousReading: {
22
+ type: Number,
23
+ required: true,
24
+ },
25
+ yearMonth: {
26
+ type: String, // Expected format: 'YYYY-MM'
27
+ required: true,
28
+ },
29
+ totalUsage: {
30
+ type: Number,
31
+ required: true,
32
+ },
33
+ unitName: {
34
+ type: String,
35
+ required: true,
36
+ },
37
+ customerId: {
38
+ type: mongoose.Schema.Types.ObjectId,
39
+ ref: 'Customer',
40
+ },
41
+ billingType: {
42
+ type: String,
43
+ enum: ['postpaid'],
44
+ },
45
+ status: {
46
+ type: String,
47
+ enum: ['pending', 'reviewed', 'billed', 'failed'],
48
+ default: 'pending',
49
+ },
50
+ }, {
51
+ timestamps: true,
52
+ });
53
+
54
+ analogBillingSchema.index({ meterNumber: 1, yearMonth: 1 }, { unique: true });
55
+
56
+ const AnalogBilling = mongoose.model('AnalogBilling', analogBillingSchema);
57
+
58
+ module.exports = AnalogBilling;
@@ -1,18 +1,18 @@
1
- const mongoose = require('mongoose');
2
-
3
- const protocolSchema = new mongoose.Schema({
4
- name: {
5
- type: String,
6
- required: true,
7
- unique: true,
8
- trim: true,
9
- uppercase: true,
10
- // Example: TCP, GPRS, API, etc.
11
- }
12
- }, {
13
- timestamps: true
14
- });
15
-
16
- const MeterProtocol = mongoose.model('MeterProtocol', protocolSchema);
17
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const protocolSchema = new mongoose.Schema({
4
+ name: {
5
+ type: String,
6
+ required: true,
7
+ unique: true,
8
+ trim: true,
9
+ uppercase: true,
10
+ // Example: TCP, GPRS, API, etc.
11
+ }
12
+ }, {
13
+ timestamps: true
14
+ });
15
+
16
+ const MeterProtocol = mongoose.model('MeterProtocol', protocolSchema);
17
+
18
18
  module.exports = MeterProtocol;
@@ -1,30 +1,30 @@
1
- const mongoose = require('mongoose');
2
-
3
- const meterLogSchema = new mongoose.Schema({
4
- meterId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'WaterMeter',
7
- required: true,
8
- index: true
9
- },
10
- command: {
11
- type: String,
12
- required: true,
13
- trim: true
14
- },
15
- platform: {
16
- type: String,
17
- required: true,
18
- trim: true
19
- },
20
- timestamp: {
21
- type: Date,
22
- default: Date.now
23
- }
24
- }, {
25
- timestamps: true
26
- });
27
-
28
- const MeterLog = mongoose.model('MeterLog', meterLogSchema);
29
-
30
- module.exports = MeterLog;
1
+ const mongoose = require('mongoose');
2
+
3
+ const meterLogSchema = new mongoose.Schema({
4
+ meterId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'WaterMeter',
7
+ required: true,
8
+ index: true
9
+ },
10
+ command: {
11
+ type: String,
12
+ required: true,
13
+ trim: true
14
+ },
15
+ platform: {
16
+ type: String,
17
+ required: true,
18
+ trim: true
19
+ },
20
+ timestamp: {
21
+ type: Date,
22
+ default: Date.now
23
+ }
24
+ }, {
25
+ timestamps: true
26
+ });
27
+
28
+ const MeterLog = mongoose.model('MeterLog', meterLogSchema);
29
+
30
+ module.exports = MeterLog;
@@ -1,67 +1,67 @@
1
- const mongoose = require('mongoose');
2
- const concentratorSchema = new mongoose.Schema({
3
- serialNumber: {
4
- type: String,
5
- required: true,
6
- trim: true,
7
- unique: true
8
- },
9
- manufacturer: {
10
- type: mongoose.Schema.Types.ObjectId,
11
- ref: 'MeterManufacturer',
12
- },
13
- range: {
14
- type: Number,
15
- min: 0
16
- },
17
- isInstalled: {
18
- type: Boolean,
19
- default: false
20
- },
21
- isFaulty: {
22
- type: Boolean,
23
- default: false
24
- },
25
- inStock: {
26
- type: Boolean,
27
- default: true
28
- },
29
- status: {
30
- type: String,
31
- required: true,
32
- enum: ['online', 'offline', 'maintenance'],
33
- default: 'offline'
34
- },
35
- meter_fails: {
36
- type: Number,
37
- min: 0
38
- },
39
- facilityId: [{
40
- type: mongoose.Schema.Types.ObjectId,
41
- ref: 'Facility',
42
- }],
43
- location: {
44
- city: {
45
- type: String,
46
- trim: true
47
- },
48
- latitude: {
49
- type: Number,
50
- min: -90,
51
- max: 90
52
- },
53
- longitude: {
54
- type: Number,
55
- min: -180,
56
- max: 180
57
- }
58
- },
59
- lastUpdated: {
60
- type: String
61
- }
62
- }, {
63
- timestamps: true
64
- });
65
-
66
- const Concentrator = mongoose.model('Concentrator', concentratorSchema);
1
+ const mongoose = require('mongoose');
2
+ const concentratorSchema = new mongoose.Schema({
3
+ serialNumber: {
4
+ type: String,
5
+ required: true,
6
+ trim: true,
7
+ unique: true
8
+ },
9
+ manufacturer: {
10
+ type: mongoose.Schema.Types.ObjectId,
11
+ ref: 'MeterManufacturer',
12
+ },
13
+ range: {
14
+ type: Number,
15
+ min: 0
16
+ },
17
+ isInstalled: {
18
+ type: Boolean,
19
+ default: false
20
+ },
21
+ isFaulty: {
22
+ type: Boolean,
23
+ default: false
24
+ },
25
+ inStock: {
26
+ type: Boolean,
27
+ default: true
28
+ },
29
+ status: {
30
+ type: String,
31
+ required: true,
32
+ enum: ['online', 'offline', 'maintenance'],
33
+ default: 'offline'
34
+ },
35
+ meter_fails: {
36
+ type: Number,
37
+ min: 0
38
+ },
39
+ facilityId: [{
40
+ type: mongoose.Schema.Types.ObjectId,
41
+ ref: 'Facility',
42
+ }],
43
+ location: {
44
+ city: {
45
+ type: String,
46
+ trim: true
47
+ },
48
+ latitude: {
49
+ type: Number,
50
+ min: -90,
51
+ max: 90
52
+ },
53
+ longitude: {
54
+ type: Number,
55
+ min: -180,
56
+ max: 180
57
+ }
58
+ },
59
+ lastUpdated: {
60
+ type: String
61
+ }
62
+ }, {
63
+ timestamps: true
64
+ });
65
+
66
+ const Concentrator = mongoose.model('Concentrator', concentratorSchema);
67
67
  module.exports = Concentrator;
@@ -1,33 +1,33 @@
1
- const mongoose = require('mongoose');
2
-
3
- const dailyWaterMeterHistorySchema = new mongoose.Schema({
4
- meterId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'WaterMeter',
7
- required: true,
8
- index: true
9
- },
10
- date: {
11
- type: Date,
12
- required: true,
13
- index: true
14
- },
15
- reading: {
16
- type: Number,
17
- required: true,
18
- min: 0
19
- },
20
- status: {
21
- type: String,
22
- enum: ['opened', 'closed', 'maintenance', 'faulty'],
23
- default: 'opened',
24
- }
25
- }, {
26
- timestamps: true
27
- });
28
-
29
- dailyWaterMeterHistorySchema.index({ meterId: 1, date: 1 });
30
-
31
- const DailyWaterMeterHistory = mongoose.model('DailyWaterMeterHistory', dailyWaterMeterHistorySchema);
32
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const dailyWaterMeterHistorySchema = new mongoose.Schema({
4
+ meterId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'WaterMeter',
7
+ required: true,
8
+ index: true
9
+ },
10
+ date: {
11
+ type: Date,
12
+ required: true,
13
+ index: true
14
+ },
15
+ reading: {
16
+ type: Number,
17
+ required: true,
18
+ min: 0
19
+ },
20
+ status: {
21
+ type: String,
22
+ enum: ['opened', 'closed', 'maintenance', 'faulty'],
23
+ default: 'opened',
24
+ }
25
+ }, {
26
+ timestamps: true
27
+ });
28
+
29
+ dailyWaterMeterHistorySchema.index({ meterId: 1, date: 1 });
30
+
31
+ const DailyWaterMeterHistory = mongoose.model('DailyWaterMeterHistory', dailyWaterMeterHistorySchema);
32
+
33
33
  module.exports = DailyWaterMeterHistory;
@@ -1,35 +1,35 @@
1
- const mongoose = require('mongoose');
2
-
3
- const iotCardSchema = new mongoose.Schema({
4
- serialNumber: {
5
- type: String,
6
- required: true,
7
- unique: true,
8
- trim: true
9
- },
10
- provider: {
11
- type: String,
12
- required: true,
13
- trim: true
14
- },
15
- concentrator: {
16
- type: mongoose.Schema.Types.ObjectId,
17
- ref: 'Concentrator'
18
- },
19
- location: {
20
- type: String,
21
- trim: true
22
- },
23
- status: {
24
- type: String,
25
- required: true,
26
- enum: ['active', 'inactive', 'suspended'],
27
- default: 'inactive'
28
- }
29
- }, {
30
- timestamps: true
31
- });
32
-
33
- const MeterIotCard = mongoose.model('MeterIotCard', iotCardSchema);
34
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const iotCardSchema = new mongoose.Schema({
4
+ serialNumber: {
5
+ type: String,
6
+ required: true,
7
+ unique: true,
8
+ trim: true
9
+ },
10
+ provider: {
11
+ type: String,
12
+ required: true,
13
+ trim: true
14
+ },
15
+ concentrator: {
16
+ type: mongoose.Schema.Types.ObjectId,
17
+ ref: 'Concentrator'
18
+ },
19
+ location: {
20
+ type: String,
21
+ trim: true
22
+ },
23
+ status: {
24
+ type: String,
25
+ required: true,
26
+ enum: ['active', 'inactive', 'suspended'],
27
+ default: 'inactive'
28
+ }
29
+ }, {
30
+ timestamps: true
31
+ });
32
+
33
+ const MeterIotCard = mongoose.model('MeterIotCard', iotCardSchema);
34
+
35
35
  module.exports = MeterIotCard;