payservedb 5.0.5 → 5.0.6

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 (103) hide show
  1. package/.env +2 -2
  2. package/index.js +172 -172
  3. package/package.json +17 -17
  4. package/src/models/account.js +35 -35
  5. package/src/models/analog_water_billing.js +58 -58
  6. package/src/models/apilog.js +18 -18
  7. package/src/models/approvalsWorkflows.js +49 -49
  8. package/src/models/archivedapilog.js +18 -18
  9. package/src/models/archivedauditlog.js +83 -83
  10. package/src/models/asset.js +34 -34
  11. package/src/models/auditlog.js +83 -83
  12. package/src/models/bankdetails.js +40 -40
  13. package/src/models/bookinganalytics.js +63 -63
  14. package/src/models/bookingconfig.js +45 -45
  15. package/src/models/bookingproperty.js +112 -112
  16. package/src/models/bookingreservation.js +192 -192
  17. package/src/models/bookingrevenuerecord.js +84 -84
  18. package/src/models/budget.js +33 -33
  19. package/src/models/budgetCategory.js +19 -19
  20. package/src/models/campaigns.js +72 -72
  21. package/src/models/cashpayment.js +262 -262
  22. package/src/models/combinedUnits.js +62 -62
  23. package/src/models/common_area_electricity.js +38 -38
  24. package/src/models/common_area_generator.js +38 -38
  25. package/src/models/common_area_utility_alert.js +37 -37
  26. package/src/models/common_area_water.js +39 -39
  27. package/src/models/company.js +53 -53
  28. package/src/models/country_tax.js +42 -42
  29. package/src/models/currency_settings.js +39 -39
  30. package/src/models/customer.js +200 -200
  31. package/src/models/default_payment_details.js +17 -17
  32. package/src/models/dutyroster.js +129 -129
  33. package/src/models/email.js +24 -24
  34. package/src/models/entry_exit.js +53 -53
  35. package/src/models/expense.js +55 -55
  36. package/src/models/facility.js +61 -61
  37. package/src/models/facility_payment_details.js +20 -20
  38. package/src/models/facilityasset.js +25 -25
  39. package/src/models/faq.js +18 -18
  40. package/src/models/gl_account_double_entries.js +25 -25
  41. package/src/models/gl_accounts.js +56 -56
  42. package/src/models/gl_entries.js +49 -52
  43. package/src/models/guard.js +47 -47
  44. package/src/models/handover.js +241 -241
  45. package/src/models/invoice.js +291 -291
  46. package/src/models/item_inspection.js +67 -67
  47. package/src/models/leaseagreement.js +169 -169
  48. package/src/models/leasetemplate.js +17 -17
  49. package/src/models/levy.js +84 -84
  50. package/src/models/levy_invoice_settings.js +26 -26
  51. package/src/models/levycontract.js +77 -77
  52. package/src/models/levytype.js +23 -23
  53. package/src/models/maintenance_service_vendor.js +38 -38
  54. package/src/models/maintenance_services.js +17 -17
  55. package/src/models/maintenancerequisition.js +31 -31
  56. package/src/models/message.js +38 -38
  57. package/src/models/module.js +21 -21
  58. package/src/models/notification.js +24 -24
  59. package/src/models/penalty.js +76 -76
  60. package/src/models/purchase_order.js +190 -190
  61. package/src/models/purchase_request.js +65 -65
  62. package/src/models/refresh_token.js +23 -23
  63. package/src/models/reminder.js +161 -161
  64. package/src/models/report.js +13 -13
  65. package/src/models/resident.js +121 -121
  66. package/src/models/rfq_details.js +87 -87
  67. package/src/models/rfq_response.js +109 -109
  68. package/src/models/service_charge_invoice_upload.js +42 -42
  69. package/src/models/service_charge_payments.js +27 -27
  70. package/src/models/servicerequest.js +55 -55
  71. package/src/models/settings.js +62 -62
  72. package/src/models/smart_meter_daily_consumption.js +44 -44
  73. package/src/models/sms_africastalking.js +20 -20
  74. package/src/models/sms_meliora.js +16 -16
  75. package/src/models/staff.js +36 -36
  76. package/src/models/stocksandspare.js +34 -34
  77. package/src/models/suppliers.js +68 -68
  78. package/src/models/tickets.js +109 -109
  79. package/src/models/unitasset.js +25 -25
  80. package/src/models/units.js +86 -86
  81. package/src/models/user.js +187 -187
  82. package/src/models/valueaddedservices.js +36 -36
  83. package/src/models/vas_invoices_upload.js +50 -50
  84. package/src/models/vas_payments.js +24 -24
  85. package/src/models/vasinvoice.js +159 -159
  86. package/src/models/vasvendor.js +57 -57
  87. package/src/models/visitLog.js +86 -86
  88. package/src/models/visitor.js +63 -63
  89. package/src/models/waitlist.js +45 -45
  90. package/src/models/water_invoice.js +192 -192
  91. package/src/models/water_meter_account.js +74 -74
  92. package/src/models/water_meter_communication.js +17 -17
  93. package/src/models/water_meter_concentrator.js +59 -59
  94. package/src/models/water_meter_daily_history.js +31 -31
  95. package/src/models/water_meter_iot_cards.js +34 -34
  96. package/src/models/water_meter_manufacturer.js +35 -35
  97. package/src/models/water_meter_monthly_history.js +37 -37
  98. package/src/models/water_meter_settings.js +88 -88
  99. package/src/models/water_meter_single_day_history.js +31 -31
  100. package/src/models/water_meter_size.js +15 -15
  101. package/src/models/water_meters.js +106 -106
  102. package/src/models/water_meters_delivery.js +76 -76
  103. package/src/models/workorder.js +49 -49
@@ -1,63 +1,63 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for companies
4
- const visitorSchema = new mongoose.Schema({
5
- firstName: {
6
- type: String,
7
- required: true
8
- },
9
- lastName: {
10
- type: String,
11
- required: true
12
- },
13
- phoneNumber: {
14
- type: String,
15
- required: true
16
- },
17
- email: {
18
- type: String,
19
- required: false
20
- },
21
- idNumber: {
22
- type: String,
23
- required: false
24
- },
25
- houseNumber: {
26
- type: String,
27
- required: false
28
- },
29
- status:{
30
- type:String,
31
- required:false
32
- },
33
- type: {
34
- type: String,
35
- required: false,
36
- enum: ["Staff", "Other","Service Providers","Government Officials/Agents","Student",""]
37
- },
38
- residentId: {
39
- type: mongoose.Schema.Types.ObjectId,
40
- ref: 'Customer',
41
- },
42
- invited: {
43
- type: Boolean,
44
- required: false,
45
- default: false
46
- },
47
- invitationDate: {
48
- type: String,
49
- required: false
50
-     },
51
- facilityId: {
52
- type: mongoose.Schema.Types.ObjectId,
53
- ref: 'Facility',
54
- },
55
- }, {
56
- timestamps: true // Automatically add createdAt and updatedAt fields
57
- });
58
-
59
- // Indexes for improved performance
60
- // Compile the model from the schema
61
- const Visitor = mongoose.model('Visitor', visitorSchema);
62
-
63
- module.exports = Visitor;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for companies
4
+ const visitorSchema = new mongoose.Schema({
5
+ firstName: {
6
+ type: String,
7
+ required: true
8
+ },
9
+ lastName: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ phoneNumber: {
14
+ type: String,
15
+ required: true
16
+ },
17
+ email: {
18
+ type: String,
19
+ required: false
20
+ },
21
+ idNumber: {
22
+ type: String,
23
+ required: false
24
+ },
25
+ houseNumber: {
26
+ type: String,
27
+ required: false
28
+ },
29
+ status:{
30
+ type:String,
31
+ required:false
32
+ },
33
+ type: {
34
+ type: String,
35
+ required: false,
36
+ enum: ["Staff", "Other","Service Providers","Government Officials/Agents","Student",""]
37
+ },
38
+ residentId: {
39
+ type: mongoose.Schema.Types.ObjectId,
40
+ ref: 'Customer',
41
+ },
42
+ invited: {
43
+ type: Boolean,
44
+ required: false,
45
+ default: false
46
+ },
47
+ invitationDate: {
48
+ type: String,
49
+ required: false
50
+     },
51
+ facilityId: {
52
+ type: mongoose.Schema.Types.ObjectId,
53
+ ref: 'Facility',
54
+ },
55
+ }, {
56
+ timestamps: true // Automatically add createdAt and updatedAt fields
57
+ });
58
+
59
+ // Indexes for improved performance
60
+ // Compile the model from the schema
61
+ const Visitor = mongoose.model('Visitor', visitorSchema);
62
+
63
+ module.exports = Visitor;
@@ -1,45 +1,45 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for companies
4
- const waitListSchema = new mongoose.Schema({
5
- firstName: {
6
- type: String,
7
- required: true
8
- },
9
- lastName: {
10
- type: String,
11
- required: true
12
- },
13
- phoneNumber: {
14
- type: String,
15
- required: true
16
- },
17
- division: {
18
- type: mongoose.Schema.Types.ObjectId,
19
- ref: 'Facility',
20
- required: true
21
- },
22
- unit: {
23
- type: mongoose.Schema.Types.ObjectId,
24
- ref: 'Unit',
25
- required: true
26
- },
27
- status: {
28
- type: String,
29
- required: true,
30
- enum: ['Waiting confirmation', 'Approved', 'Denied']
31
- },
32
- facilityId: {
33
- type: mongoose.Schema.Types.ObjectId,
34
- ref: 'Facility',
35
- required: true // Ensures a facilityId is always provided
36
- },
37
-
38
- }, {
39
- timestamps: true // Automatically add createdAt and updatedAt fields
40
- });
41
-
42
-
43
- const WaitList = mongoose.model('WaitList', waitListSchema);
44
-
45
- module.exports = WaitList;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for companies
4
+ const waitListSchema = new mongoose.Schema({
5
+ firstName: {
6
+ type: String,
7
+ required: true
8
+ },
9
+ lastName: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ phoneNumber: {
14
+ type: String,
15
+ required: true
16
+ },
17
+ division: {
18
+ type: mongoose.Schema.Types.ObjectId,
19
+ ref: 'Facility',
20
+ required: true
21
+ },
22
+ unit: {
23
+ type: mongoose.Schema.Types.ObjectId,
24
+ ref: 'Unit',
25
+ required: true
26
+ },
27
+ status: {
28
+ type: String,
29
+ required: true,
30
+ enum: ['Waiting confirmation', 'Approved', 'Denied']
31
+ },
32
+ facilityId: {
33
+ type: mongoose.Schema.Types.ObjectId,
34
+ ref: 'Facility',
35
+ required: true // Ensures a facilityId is always provided
36
+ },
37
+
38
+ }, {
39
+ timestamps: true // Automatically add createdAt and updatedAt fields
40
+ });
41
+
42
+
43
+ const WaitList = mongoose.model('WaitList', waitListSchema);
44
+
45
+ module.exports = WaitList;
@@ -1,192 +1,192 @@
1
- const mongoose = require('mongoose');
2
-
3
- const waterInvoiceSchema = new mongoose.Schema(
4
- {
5
- // Basic identifiers
6
- invoiceNumber: {
7
- type: String,
8
- required: true,
9
- unique: true
10
- },
11
- accountNumber: {
12
- type: String,
13
- required: true
14
- },
15
- unitName: {
16
- type: String,
17
- required: true,
18
- },
19
- yearMonth: {
20
- type: String,
21
- required: true,
22
- },
23
- facilityId: {
24
- type: mongoose.Schema.Types.ObjectId,
25
- required: true
26
- },
27
- customerId: {
28
- type: mongoose.Schema.Types.ObjectId,
29
- required: true
30
- },
31
- billingType: {
32
- type: String,
33
- enum: ['postpaid', 'prepaid'],
34
- },
35
- balanceBroughtForward: {
36
- type: Number,
37
- default: 0
38
- },
39
- // Dates
40
- dateIssued: {
41
- type: Date,
42
- default: Date.now
43
- },
44
- dueDate: {
45
- type: Date,
46
- required: true
47
- },
48
-
49
- // Meter & Consumption Details
50
- meterNumber: {
51
- type: String,
52
- required: true
53
- },
54
- meterReadings: {
55
- previousReading: {
56
- type: Number,
57
- required: true
58
- },
59
- currentReading: {
60
- type: Number,
61
- required: true
62
- },
63
- usage: {
64
- type: Number,
65
- required: true,
66
- }
67
- },
68
- consumptionPeriod: {
69
- startDate: {
70
- type: Date,
71
- required: true
72
- },
73
- endDate: {
74
- type: Date,
75
- required: true
76
- }
77
- },
78
-
79
- // Charges
80
- charges: {
81
- waterCharge: {
82
- type: Number,
83
- required: true
84
- },
85
- sewerCharge: {
86
- type: Number,
87
- default: 0
88
- },
89
- tax: {
90
- type: Number,
91
- default: 0
92
- },
93
- fixedCharge: {
94
- type: Number,
95
- default: 0
96
- },
97
- totalMonthlyBill: {
98
- type: Number,
99
- required: true
100
- }
101
- },
102
- amountPaid: {
103
- type: Number,
104
- default: 0
105
- },
106
-
107
- // Invoice Note & Status
108
- invoiceNote: {
109
- type: String,
110
- default: 'Payment is due within 10 days'
111
- },
112
- status: {
113
- type: String,
114
- required: true,
115
- enum: ['Pending', 'Paid', 'Partially Paid', 'Cancelled', 'Overdue', 'Unpaid'],
116
- default: 'Pending'
117
- },
118
-
119
- // Currency Info
120
- currency: {
121
- id: {
122
- type: mongoose.Schema.Types.ObjectId
123
- },
124
- name: {
125
- type: String,
126
- default: 'Kenyan Shilling'
127
- },
128
- code: {
129
- type: String,
130
- default: 'KES'
131
- },
132
- symbol: {
133
- type: String,
134
- default: 'KSh'
135
- }
136
- },
137
-
138
- // Payment & Reconciliation
139
- reconciliationHistory: [
140
- {
141
- date: {
142
- type: Date,
143
- default: Date.now
144
- },
145
- amount: {
146
- type: Number,
147
- required: true
148
- },
149
- type: {
150
- type: String,
151
- default: 'Manual'
152
- },
153
- paymentReference: {
154
- type: String
155
- },
156
- paymentCompletion: {
157
- type: String,
158
- default: 'Completed'
159
- },
160
- sourceInvoice: {
161
- type: String
162
- },
163
- destinationInvoice: {
164
- type: String
165
- },
166
- notes: {
167
- type: String
168
- },
169
- remainingBalance: {
170
- type: Number
171
- }
172
- }
173
- ],
174
- },
175
- {
176
- timestamps: true
177
- }
178
- );
179
-
180
- waterInvoiceSchema.pre('save', function (next) {
181
- if (this.isModified('dueDate') || this.isNew) {
182
- const today = new Date();
183
- if (this.dueDate < today && this.status === 'Pending') {
184
- this.status = 'Overdue';
185
- }
186
- }
187
- next();
188
- });
189
-
190
- const WaterInvoice = mongoose.model('WaterInvoice', waterInvoiceSchema);
191
-
192
- module.exports = WaterInvoice;
1
+ const mongoose = require('mongoose');
2
+
3
+ const waterInvoiceSchema = new mongoose.Schema(
4
+ {
5
+ // Basic identifiers
6
+ invoiceNumber: {
7
+ type: String,
8
+ required: true,
9
+ unique: true
10
+ },
11
+ accountNumber: {
12
+ type: String,
13
+ required: true
14
+ },
15
+ unitName: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ yearMonth: {
20
+ type: String,
21
+ required: true,
22
+ },
23
+ facilityId: {
24
+ type: mongoose.Schema.Types.ObjectId,
25
+ required: true
26
+ },
27
+ customerId: {
28
+ type: mongoose.Schema.Types.ObjectId,
29
+ required: true
30
+ },
31
+ billingType: {
32
+ type: String,
33
+ enum: ['postpaid', 'prepaid'],
34
+ },
35
+ balanceBroughtForward: {
36
+ type: Number,
37
+ default: 0
38
+ },
39
+ // Dates
40
+ dateIssued: {
41
+ type: Date,
42
+ default: Date.now
43
+ },
44
+ dueDate: {
45
+ type: Date,
46
+ required: true
47
+ },
48
+
49
+ // Meter & Consumption Details
50
+ meterNumber: {
51
+ type: String,
52
+ required: true
53
+ },
54
+ meterReadings: {
55
+ previousReading: {
56
+ type: Number,
57
+ required: true
58
+ },
59
+ currentReading: {
60
+ type: Number,
61
+ required: true
62
+ },
63
+ usage: {
64
+ type: Number,
65
+ required: true,
66
+ }
67
+ },
68
+ consumptionPeriod: {
69
+ startDate: {
70
+ type: Date,
71
+ required: true
72
+ },
73
+ endDate: {
74
+ type: Date,
75
+ required: true
76
+ }
77
+ },
78
+
79
+ // Charges
80
+ charges: {
81
+ waterCharge: {
82
+ type: Number,
83
+ required: true
84
+ },
85
+ sewerCharge: {
86
+ type: Number,
87
+ default: 0
88
+ },
89
+ tax: {
90
+ type: Number,
91
+ default: 0
92
+ },
93
+ fixedCharge: {
94
+ type: Number,
95
+ default: 0
96
+ },
97
+ totalMonthlyBill: {
98
+ type: Number,
99
+ required: true
100
+ }
101
+ },
102
+ amountPaid: {
103
+ type: Number,
104
+ default: 0
105
+ },
106
+
107
+ // Invoice Note & Status
108
+ invoiceNote: {
109
+ type: String,
110
+ default: 'Payment is due within 10 days'
111
+ },
112
+ status: {
113
+ type: String,
114
+ required: true,
115
+ enum: ['Pending', 'Paid', 'Partially Paid', 'Cancelled', 'Overdue', 'Unpaid'],
116
+ default: 'Pending'
117
+ },
118
+
119
+ // Currency Info
120
+ currency: {
121
+ id: {
122
+ type: mongoose.Schema.Types.ObjectId
123
+ },
124
+ name: {
125
+ type: String,
126
+ default: 'Kenyan Shilling'
127
+ },
128
+ code: {
129
+ type: String,
130
+ default: 'KES'
131
+ },
132
+ symbol: {
133
+ type: String,
134
+ default: 'KSh'
135
+ }
136
+ },
137
+
138
+ // Payment & Reconciliation
139
+ reconciliationHistory: [
140
+ {
141
+ date: {
142
+ type: Date,
143
+ default: Date.now
144
+ },
145
+ amount: {
146
+ type: Number,
147
+ required: true
148
+ },
149
+ type: {
150
+ type: String,
151
+ default: 'Manual'
152
+ },
153
+ paymentReference: {
154
+ type: String
155
+ },
156
+ paymentCompletion: {
157
+ type: String,
158
+ default: 'Completed'
159
+ },
160
+ sourceInvoice: {
161
+ type: String
162
+ },
163
+ destinationInvoice: {
164
+ type: String
165
+ },
166
+ notes: {
167
+ type: String
168
+ },
169
+ remainingBalance: {
170
+ type: Number
171
+ }
172
+ }
173
+ ],
174
+ },
175
+ {
176
+ timestamps: true
177
+ }
178
+ );
179
+
180
+ waterInvoiceSchema.pre('save', function (next) {
181
+ if (this.isModified('dueDate') || this.isNew) {
182
+ const today = new Date();
183
+ if (this.dueDate < today && this.status === 'Pending') {
184
+ this.status = 'Overdue';
185
+ }
186
+ }
187
+ next();
188
+ });
189
+
190
+ const WaterInvoice = mongoose.model('WaterInvoice', waterInvoiceSchema);
191
+
192
+ module.exports = WaterInvoice;