payservedb 8.3.9 → 8.4.1

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 (177) hide show
  1. package/.env +2 -2
  2. package/ZOHO_INTEGRATION_SCHEMA.md +644 -644
  3. package/index.js +309 -307
  4. package/package.json +17 -17
  5. package/src/models/account.js +52 -52
  6. package/src/models/agent_departments.js +59 -59
  7. package/src/models/agent_notifications.js +53 -53
  8. package/src/models/agent_performance.js +127 -127
  9. package/src/models/agent_roles.js +77 -77
  10. package/src/models/agents.js +154 -154
  11. package/src/models/apilog.js +18 -18
  12. package/src/models/approvalsWorkflows.js +49 -49
  13. package/src/models/archivedapilog.js +18 -18
  14. package/src/models/asset.js +92 -92
  15. package/src/models/assetsAssignment.js +64 -64
  16. package/src/models/auditTrail.js +346 -346
  17. package/src/models/bankdetails.js +47 -47
  18. package/src/models/billerAddress.js +124 -124
  19. package/src/models/booking_invoice.js +151 -151
  20. package/src/models/bookinganalytics.js +63 -63
  21. package/src/models/bookingconfig.js +45 -45
  22. package/src/models/bookingproperty.js +122 -122
  23. package/src/models/bookingreservation.js +192 -192
  24. package/src/models/bookingrevenuerecord.js +84 -84
  25. package/src/models/budget.js +95 -95
  26. package/src/models/budgetCategory.js +19 -19
  27. package/src/models/campaigns.js +108 -108
  28. package/src/models/cashpayment.js +264 -264
  29. package/src/models/combinedUnits.js +62 -62
  30. package/src/models/common_area_electricity.js +38 -38
  31. package/src/models/common_area_generator.js +41 -41
  32. package/src/models/common_area_utility_alert.js +37 -37
  33. package/src/models/common_area_water.js +39 -39
  34. package/src/models/communication_status.js +33 -33
  35. package/src/models/communication_user_opt.js +32 -32
  36. package/src/models/company.js +53 -53
  37. package/src/models/coreBaseSettings.js +16 -16
  38. package/src/models/coreInvoiceSettings.js +100 -100
  39. package/src/models/counter_schema.js +21 -21
  40. package/src/models/country_tax.js +42 -42
  41. package/src/models/currency_settings.js +39 -39
  42. package/src/models/customer.js +210 -210
  43. package/src/models/customer_satisfaction_survey.js +278 -278
  44. package/src/models/customer_surveys.js +139 -139
  45. package/src/models/customer_tickets.js +239 -239
  46. package/src/models/dailyChecklist.js +312 -312
  47. package/src/models/default_payment_details.js +17 -17
  48. package/src/models/deliveryTimeMarks.js +18 -18
  49. package/src/models/document_type.js +19 -19
  50. package/src/models/dutyRosterChecklist.js +250 -250
  51. package/src/models/dutyroster.js +136 -136
  52. package/src/models/email.js +37 -37
  53. package/src/models/email_sms_queue.js +61 -61
  54. package/src/models/entry_exit.js +53 -53
  55. package/src/models/expense.js +99 -99
  56. package/src/models/expense_category.js +45 -45
  57. package/src/models/facility.js +62 -62
  58. package/src/models/facilityBillingPrices.js +29 -29
  59. package/src/models/facilityInvoice.js +240 -240
  60. package/src/models/facilityInvoicePayment.js +52 -52
  61. package/src/models/facilityInvoiceRecipient.js +32 -32
  62. package/src/models/facilityWalletTransactionsMetadata.js +236 -236
  63. package/src/models/facility_departements.js +20 -20
  64. package/src/models/facility_payment_details.js +20 -20
  65. package/src/models/facilityasset.js +25 -25
  66. package/src/models/faq.js +14 -14
  67. package/src/models/gl_account_double_entries.js +25 -25
  68. package/src/models/gl_accounts.js +56 -56
  69. package/src/models/gl_entries.js +49 -49
  70. package/src/models/goodsReceivedNotes.js +115 -115
  71. package/src/models/guard.js +47 -47
  72. package/src/models/handover.js +247 -247
  73. package/src/models/inspection_category.js +38 -38
  74. package/src/models/invoice.js +387 -387
  75. package/src/models/invoicing_schedule.js +36 -36
  76. package/src/models/item_inspection.js +96 -96
  77. package/src/models/knowledge_base.js +109 -109
  78. package/src/models/knowledge_base_rating.js +44 -44
  79. package/src/models/leaseagreement.js +236 -236
  80. package/src/models/leasetemplate.js +17 -17
  81. package/src/models/levy.js +223 -223
  82. package/src/models/levy_invoice_settings.js +26 -26
  83. package/src/models/levycontract.js +177 -177
  84. package/src/models/levytype.js +23 -23
  85. package/src/models/maintenance_service_vendor.js +38 -38
  86. package/src/models/maintenance_services.js +17 -17
  87. package/src/models/maintenancerequisition.js +31 -31
  88. package/src/models/master_workplan.js +32 -32
  89. package/src/models/master_workplan_child.js +34 -34
  90. package/src/models/message.js +38 -38
  91. package/src/models/module.js +21 -21
  92. package/src/models/notification.js +44 -44
  93. package/src/models/paymentTermsMarks.js +19 -19
  94. package/src/models/penalty.js +76 -76
  95. package/src/models/pendingCredentials.js +32 -32
  96. package/src/models/powerMeterCommunicationProtocol.js +17 -17
  97. package/src/models/powerMeterCustomerAccount.js +78 -78
  98. package/src/models/powerMeterCustomerBand.js +14 -14
  99. package/src/models/powerMeterDailyReading.js +30 -30
  100. package/src/models/powerMeterGateways.js +40 -40
  101. package/src/models/powerMeterMonthlyReading.js +34 -34
  102. package/src/models/powerMeterPowerCharges.js +85 -85
  103. package/src/models/powerMeterSettings.js +159 -159
  104. package/src/models/powerMeterSingleDayReading.js +32 -32
  105. package/src/models/powerMeters.js +116 -116
  106. package/src/models/powerMetersManufacturer.js +14 -14
  107. package/src/models/power_meter_account.js +81 -81
  108. package/src/models/power_meter_command_logs.js +30 -30
  109. package/src/models/power_meter_command_queue.js +33 -33
  110. package/src/models/power_meter_negative_balance.js +44 -44
  111. package/src/models/power_prepaid_credits.js +47 -47
  112. package/src/models/power_prepaid_debits.js +53 -53
  113. package/src/models/power_prepaid_orders.js +78 -78
  114. package/src/models/power_sms_notification.js +26 -26
  115. package/src/models/privacy_policy.js +20 -0
  116. package/src/models/propertyManagerContract.js +556 -556
  117. package/src/models/propertyManagerRevenue.js +195 -195
  118. package/src/models/purchaseOrderInvoice.js +74 -74
  119. package/src/models/purchase_order.js +213 -213
  120. package/src/models/purchase_request.js +110 -110
  121. package/src/models/refresh_token.js +23 -23
  122. package/src/models/reminder.js +197 -197
  123. package/src/models/report.js +13 -13
  124. package/src/models/resident.js +121 -121
  125. package/src/models/rfq_details.js +131 -131
  126. package/src/models/rfq_response.js +153 -153
  127. package/src/models/service_charge_invoice_upload.js +42 -42
  128. package/src/models/service_charge_payments.js +27 -27
  129. package/src/models/servicerequest.js +55 -55
  130. package/src/models/settings.js +62 -62
  131. package/src/models/short_urls.js +21 -21
  132. package/src/models/smart_meter_daily_consumption.js +44 -44
  133. package/src/models/sms_africastalking.js +20 -20
  134. package/src/models/sms_balance_notification.js +26 -26
  135. package/src/models/sms_meliora.js +20 -20
  136. package/src/models/staff.js +36 -36
  137. package/src/models/stocksandspare.js +161 -161
  138. package/src/models/suppliers.js +74 -74
  139. package/src/models/terms_and_conditions.js +20 -0
  140. package/src/models/tickets.js +186 -173
  141. package/src/models/tickets_category.js +72 -72
  142. package/src/models/unitManagementTemplate.js +44 -44
  143. package/src/models/unitasset.js +25 -25
  144. package/src/models/units.js +118 -118
  145. package/src/models/user.js +186 -186
  146. package/src/models/valueaddedservices.js +79 -79
  147. package/src/models/vas_invoices_upload.js +50 -50
  148. package/src/models/vas_payments.js +24 -24
  149. package/src/models/vasinvoice.js +192 -192
  150. package/src/models/vasvendor.js +57 -57
  151. package/src/models/visitLog.js +95 -95
  152. package/src/models/visitor.js +67 -67
  153. package/src/models/waitlist.js +45 -45
  154. package/src/models/wallet.js +44 -44
  155. package/src/models/wallet_transactions.js +50 -50
  156. package/src/models/water_invoice.js +351 -351
  157. package/src/models/water_meter_Command_Queue.js +33 -33
  158. package/src/models/water_meter_account.js +88 -82
  159. package/src/models/water_meter_billing.js +58 -58
  160. package/src/models/water_meter_communication.js +17 -17
  161. package/src/models/water_meter_communication_logs.js +39 -39
  162. package/src/models/water_meter_concentrator.js +70 -70
  163. package/src/models/water_meter_daily_history.js +32 -32
  164. package/src/models/water_meter_high_risk.js +36 -36
  165. package/src/models/water_meter_iot_cards.js +34 -34
  166. package/src/models/water_meter_manufacturer.js +35 -35
  167. package/src/models/water_meter_monthly_history.js +36 -36
  168. package/src/models/water_meter_negative_amounts.js +44 -44
  169. package/src/models/water_meter_settings.js +287 -283
  170. package/src/models/water_meter_single_day_history.js +34 -34
  171. package/src/models/water_meter_size.js +15 -15
  172. package/src/models/water_meters.js +133 -133
  173. package/src/models/water_meters_delivery.js +76 -76
  174. package/src/models/water_prepaid_credit.js +47 -47
  175. package/src/models/water_prepaid_debit.js +50 -50
  176. package/src/models/workorder.js +49 -49
  177. package/src/models/zohoIntegration.js +262 -262
@@ -1,134 +1,134 @@
1
- const mongoose = require('mongoose');
2
-
3
- const waterMeterSchema = new mongoose.Schema({
4
- meterType: {
5
- type: String,
6
- required: true,
7
- enum: ['analog', 'smart']
8
- },
9
- meterNumber: {
10
- type: String,
11
- required: true,
12
- unique: true,
13
- trim: true,
14
- index: true
15
- },
16
- serialNumber: {
17
- type: String,
18
- unique: true,
19
- trim: true,
20
- index: true
21
- },
22
- accountNumber: {
23
- type: String,
24
- required: true,
25
- unique: true,
26
- trim: true
27
- },
28
- facilityId: {
29
- type: mongoose.Schema.Types.ObjectId,
30
- ref: 'Facility',
31
- },
32
- unitId: {
33
- type: mongoose.Schema.Types.ObjectId,
34
- ref: 'Unit',
35
- },
36
- customerId: {
37
- type: mongoose.Schema.Types.ObjectId,
38
- ref: 'Customer',
39
- },
40
- manufacturer: {
41
- type: String,
42
- required: true,
43
- },
44
- protocol: {
45
- type: String,
46
- required: true,
47
- },
48
- size: {
49
- type: String,
50
- required: true,
51
- },
52
- initialReading: {
53
- type: Number,
54
- required: true,
55
- min: 0,
56
- default: 0
57
- },
58
- previousReading: {
59
- type: Number,
60
- min: 0,
61
- },
62
- currentReading: {
63
- type: Number,
64
- min: 0,
65
- default: 0
66
- },
67
- lastReadingDate: {
68
- type: Date,
69
- default: Date.now
70
- },
71
- status: {
72
- type: String,
73
- required: true,
74
- enum: ['opened', 'closed', 'maintenance', 'faulty'],
75
- default: 'opened',
76
- },
77
- installationStatus: {
78
- type: String,
79
- required: true,
80
- enum: ['installed', 'not installed'],
81
- default: 'installed',
82
- },
83
- customerType: {
84
- type: String,
85
- enum: ['postpaid', 'prepaid'],
86
- },
87
- isInstalled: {
88
- type: Boolean,
89
- default: false
90
- },
91
- enforcement: {
92
- type: Boolean,
93
- default: false
94
- },
95
- concentratorSerialNumber: {
96
- type: String
97
- },
98
- imageUrl: {
99
- type: String,
100
- trim: true
101
- },
102
- valveType: { // Specific to smart meters
103
- type: String,
104
- enum: ['automatic', 'manual'],
105
- default: 'automatic'
106
- },
107
- accountBalance: { // Specific to smart meters
108
- type: Number,
109
- default: 0
110
- },
111
- negativeBalance: { // Specific to smart meters
112
- type: Number,
113
- default: 0
114
- },
115
- bulkMeter: {
116
- type: Boolean,
117
- default: false, // false means normal meter
118
- index: true
119
- },
120
- bulkMeterDescription: {
121
- type: String,
122
- enum: ['City Council Bulk', 'Borehole Bulk', 'Bulk Inlet', 'Bulk Outlet','Bulk Borehole Outlet', 'Common Area'],
123
- trim: true
124
- }
125
-
126
- }, {
127
- timestamps: true
128
- });
129
-
130
- waterMeterSchema.index({ meterNumber: 1, status: 1 });
131
-
132
- const WaterMeter = mongoose.model('WaterMeter', waterMeterSchema);
133
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const waterMeterSchema = new mongoose.Schema({
4
+ meterType: {
5
+ type: String,
6
+ required: true,
7
+ enum: ['analog', 'smart']
8
+ },
9
+ meterNumber: {
10
+ type: String,
11
+ required: true,
12
+ unique: true,
13
+ trim: true,
14
+ index: true
15
+ },
16
+ serialNumber: {
17
+ type: String,
18
+ unique: true,
19
+ trim: true,
20
+ index: true
21
+ },
22
+ accountNumber: {
23
+ type: String,
24
+ required: true,
25
+ unique: true,
26
+ trim: true
27
+ },
28
+ facilityId: {
29
+ type: mongoose.Schema.Types.ObjectId,
30
+ ref: 'Facility',
31
+ },
32
+ unitId: {
33
+ type: mongoose.Schema.Types.ObjectId,
34
+ ref: 'Unit',
35
+ },
36
+ customerId: {
37
+ type: mongoose.Schema.Types.ObjectId,
38
+ ref: 'Customer',
39
+ },
40
+ manufacturer: {
41
+ type: String,
42
+ required: true,
43
+ },
44
+ protocol: {
45
+ type: String,
46
+ required: true,
47
+ },
48
+ size: {
49
+ type: String,
50
+ required: true,
51
+ },
52
+ initialReading: {
53
+ type: Number,
54
+ required: true,
55
+ min: 0,
56
+ default: 0
57
+ },
58
+ previousReading: {
59
+ type: Number,
60
+ min: 0,
61
+ },
62
+ currentReading: {
63
+ type: Number,
64
+ min: 0,
65
+ default: 0
66
+ },
67
+ lastReadingDate: {
68
+ type: Date,
69
+ default: Date.now
70
+ },
71
+ status: {
72
+ type: String,
73
+ required: true,
74
+ enum: ['opened', 'closed', 'maintenance', 'faulty'],
75
+ default: 'opened',
76
+ },
77
+ installationStatus: {
78
+ type: String,
79
+ required: true,
80
+ enum: ['installed', 'not installed'],
81
+ default: 'installed',
82
+ },
83
+ customerType: {
84
+ type: String,
85
+ enum: ['postpaid', 'prepaid'],
86
+ },
87
+ isInstalled: {
88
+ type: Boolean,
89
+ default: false
90
+ },
91
+ enforcement: {
92
+ type: Boolean,
93
+ default: false
94
+ },
95
+ concentratorSerialNumber: {
96
+ type: String
97
+ },
98
+ imageUrl: {
99
+ type: String,
100
+ trim: true
101
+ },
102
+ valveType: { // Specific to smart meters
103
+ type: String,
104
+ enum: ['automatic', 'manual'],
105
+ default: 'automatic'
106
+ },
107
+ accountBalance: { // Specific to smart meters
108
+ type: Number,
109
+ default: 0
110
+ },
111
+ negativeBalance: { // Specific to smart meters
112
+ type: Number,
113
+ default: 0
114
+ },
115
+ bulkMeter: {
116
+ type: Boolean,
117
+ default: false, // false means normal meter
118
+ index: true
119
+ },
120
+ bulkMeterDescription: {
121
+ type: String,
122
+ enum: ['City Council Bulk', 'Borehole Bulk', 'Bulk Inlet', 'Bulk Outlet','Bulk Borehole Outlet', 'Common Area'],
123
+ trim: true
124
+ }
125
+
126
+ }, {
127
+ timestamps: true
128
+ });
129
+
130
+ waterMeterSchema.index({ meterNumber: 1, status: 1 });
131
+
132
+ const WaterMeter = mongoose.model('WaterMeter', waterMeterSchema);
133
+
134
134
  module.exports = WaterMeter;
@@ -1,77 +1,77 @@
1
- const mongoose = require('mongoose');
2
-
3
- const deliverySchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true
8
- },
9
- facilityName: {
10
- type: String,
11
- required: true,
12
- trim: true
13
- },
14
- deliveryNumber: {
15
- type: String,
16
- required: true,
17
- unique: true
18
- },
19
- deliveredBy: {
20
- type: String,
21
- required: true,
22
- trim: true
23
- },
24
- receivedBy: {
25
- type: String,
26
- trim: true
27
- },
28
- deliveryDate: {
29
- type: Date,
30
- required: true
31
- },
32
- notes: {
33
- type: String,
34
- trim: true
35
- },
36
- postNotes: {
37
- type: String,
38
- trim: true
39
- },
40
- fileUrl: {
41
- type: String,
42
- trim: true
43
- },
44
- concentrators: [{
45
- concentratorId: {
46
- type: mongoose.Schema.Types.ObjectId,
47
- ref: 'Concentrator',
48
- required: true
49
- },
50
- serialNumber: {
51
- type: String,
52
- required: true
53
- }
54
- }],
55
- meters: [{
56
- meterId: {
57
- type: mongoose.Schema.Types.ObjectId,
58
- ref: 'Meter',
59
- required: true
60
- },
61
- meterNumber: {
62
- type: String,
63
- required: true
64
- }
65
- }],
66
- status: {
67
- type: String,
68
- enum: ['pending', 'completed', 'cancelled'],
69
- default: 'pending'
70
- }
71
- }, {
72
- timestamps: true
73
- });
74
-
75
- const MetersDelivery = mongoose.model('MetersDelivery', deliverySchema);
76
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const deliverySchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true
8
+ },
9
+ facilityName: {
10
+ type: String,
11
+ required: true,
12
+ trim: true
13
+ },
14
+ deliveryNumber: {
15
+ type: String,
16
+ required: true,
17
+ unique: true
18
+ },
19
+ deliveredBy: {
20
+ type: String,
21
+ required: true,
22
+ trim: true
23
+ },
24
+ receivedBy: {
25
+ type: String,
26
+ trim: true
27
+ },
28
+ deliveryDate: {
29
+ type: Date,
30
+ required: true
31
+ },
32
+ notes: {
33
+ type: String,
34
+ trim: true
35
+ },
36
+ postNotes: {
37
+ type: String,
38
+ trim: true
39
+ },
40
+ fileUrl: {
41
+ type: String,
42
+ trim: true
43
+ },
44
+ concentrators: [{
45
+ concentratorId: {
46
+ type: mongoose.Schema.Types.ObjectId,
47
+ ref: 'Concentrator',
48
+ required: true
49
+ },
50
+ serialNumber: {
51
+ type: String,
52
+ required: true
53
+ }
54
+ }],
55
+ meters: [{
56
+ meterId: {
57
+ type: mongoose.Schema.Types.ObjectId,
58
+ ref: 'Meter',
59
+ required: true
60
+ },
61
+ meterNumber: {
62
+ type: String,
63
+ required: true
64
+ }
65
+ }],
66
+ status: {
67
+ type: String,
68
+ enum: ['pending', 'completed', 'cancelled'],
69
+ default: 'pending'
70
+ }
71
+ }, {
72
+ timestamps: true
73
+ });
74
+
75
+ const MetersDelivery = mongoose.model('MetersDelivery', deliverySchema);
76
+
77
77
  module.exports = MetersDelivery;
@@ -1,47 +1,47 @@
1
- const mongoose = require('mongoose');
2
-
3
- const waterPrepaidCreditSchema = new mongoose.Schema({
4
- accountId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'WaterMeterAccount',
7
- required: true,
8
- },
9
- meterId: {
10
- type: mongoose.Schema.Types.ObjectId,
11
- ref: 'WaterMeter',
12
- required: true,
13
- },
14
- ref: {
15
- type: String,
16
- required: true,
17
- },
18
- amount: {
19
- type: Number,
20
- required: true,
21
- default: 0
22
- },
23
- time: {
24
- type: String,
25
- required: true,
26
- },
27
- addedOn: {
28
- type: String,
29
- required: true,
30
- },
31
- reason: {
32
- type: String,
33
- required: true,
34
- },
35
- type: {
36
- type: String,
37
- enum: ['Mobile Money', 'Bank', 'Manual'],
38
- required: true
39
- },
40
-
41
- }, {
42
- timestamps: true
43
- });
44
-
45
- const WaterPrepaidCredit = mongoose.model('WaterPrepaidCredit', waterPrepaidCreditSchema);
46
-
47
- module.exports = WaterPrepaidCredit;
1
+ const mongoose = require('mongoose');
2
+
3
+ const waterPrepaidCreditSchema = new mongoose.Schema({
4
+ accountId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'WaterMeterAccount',
7
+ required: true,
8
+ },
9
+ meterId: {
10
+ type: mongoose.Schema.Types.ObjectId,
11
+ ref: 'WaterMeter',
12
+ required: true,
13
+ },
14
+ ref: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ amount: {
19
+ type: Number,
20
+ required: true,
21
+ default: 0
22
+ },
23
+ time: {
24
+ type: String,
25
+ required: true,
26
+ },
27
+ addedOn: {
28
+ type: String,
29
+ required: true,
30
+ },
31
+ reason: {
32
+ type: String,
33
+ required: true,
34
+ },
35
+ type: {
36
+ type: String,
37
+ enum: ['Mobile Money', 'Bank', 'Manual'],
38
+ required: true
39
+ },
40
+
41
+ }, {
42
+ timestamps: true
43
+ });
44
+
45
+ const WaterPrepaidCredit = mongoose.model('WaterPrepaidCredit', waterPrepaidCreditSchema);
46
+
47
+ module.exports = WaterPrepaidCredit;
@@ -1,50 +1,50 @@
1
- const mongoose = require('mongoose');
2
-
3
- const waterPrepaidDebitSchema = new mongoose.Schema({
4
- accountId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'WaterMeterAccount',
7
- required: true,
8
- },
9
- meterId: {
10
- type: mongoose.Schema.Types.ObjectId,
11
- ref: 'WaterMeter',
12
- required: true,
13
- },
14
- prev_reading: {
15
- type: Number,
16
- required: true,
17
- },
18
- current_reading: {
19
- type: Number,
20
- required: true,
21
- default: 0
22
- },
23
- consumption: {
24
- type: Number,
25
- required: true,
26
- },
27
- rate: {
28
- type: String,
29
- required: true,
30
- },
31
- totalAmount: {
32
- type: Number,
33
- required: true,
34
- },
35
- date: {
36
- type: String,
37
- required: true
38
- },
39
- time: {
40
- type: String,
41
- required: true
42
- },
43
-
44
- }, {
45
- timestamps: true
46
- });
47
-
48
- const WaterPrepaidDebit = mongoose.model('WaterPrepaidDebit', waterPrepaidDebitSchema);
49
-
50
- module.exports = WaterPrepaidDebit;
1
+ const mongoose = require('mongoose');
2
+
3
+ const waterPrepaidDebitSchema = new mongoose.Schema({
4
+ accountId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'WaterMeterAccount',
7
+ required: true,
8
+ },
9
+ meterId: {
10
+ type: mongoose.Schema.Types.ObjectId,
11
+ ref: 'WaterMeter',
12
+ required: true,
13
+ },
14
+ prev_reading: {
15
+ type: Number,
16
+ required: true,
17
+ },
18
+ current_reading: {
19
+ type: Number,
20
+ required: true,
21
+ default: 0
22
+ },
23
+ consumption: {
24
+ type: Number,
25
+ required: true,
26
+ },
27
+ rate: {
28
+ type: String,
29
+ required: true,
30
+ },
31
+ totalAmount: {
32
+ type: Number,
33
+ required: true,
34
+ },
35
+ date: {
36
+ type: String,
37
+ required: true
38
+ },
39
+ time: {
40
+ type: String,
41
+ required: true
42
+ },
43
+
44
+ }, {
45
+ timestamps: true
46
+ });
47
+
48
+ const WaterPrepaidDebit = mongoose.model('WaterPrepaidDebit', waterPrepaidDebitSchema);
49
+
50
+ module.exports = WaterPrepaidDebit;