payservedb 8.7.0 → 8.7.2

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 (186) hide show
  1. package/.env +2 -2
  2. package/ZOHO_INTEGRATION_SCHEMA.md +644 -644
  3. package/index.js +319 -319
  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 +165 -165
  20. package/src/models/bookinganalytics.js +63 -63
  21. package/src/models/bookingconfig.js +45 -45
  22. package/src/models/bookingproperty.js +179 -179
  23. package/src/models/bookingreservation.js +239 -239
  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 +291 -291
  29. package/src/models/combinedUnits.js +62 -62
  30. package/src/models/combined_invoice.js +424 -424
  31. package/src/models/common_area_electricity.js +38 -38
  32. package/src/models/common_area_generator.js +41 -41
  33. package/src/models/common_area_utility_alert.js +37 -37
  34. package/src/models/common_area_water.js +39 -39
  35. package/src/models/communication_status.js +33 -33
  36. package/src/models/communication_user_opt.js +32 -32
  37. package/src/models/community_guidelines.js +35 -35
  38. package/src/models/company.js +53 -53
  39. package/src/models/coreBaseSettings.js +16 -16
  40. package/src/models/coreInvoiceSettings.js +100 -100
  41. package/src/models/counter_schema.js +21 -21
  42. package/src/models/country_tax.js +42 -42
  43. package/src/models/currency_settings.js +39 -39
  44. package/src/models/customer.js +214 -214
  45. package/src/models/customer_satisfaction_survey.js +278 -278
  46. package/src/models/customer_surveys.js +139 -139
  47. package/src/models/customer_tickets.js +239 -239
  48. package/src/models/dailyChecklist.js +312 -312
  49. package/src/models/default_payment_details.js +17 -17
  50. package/src/models/deliveryTimeMarks.js +18 -18
  51. package/src/models/document_type.js +19 -19
  52. package/src/models/dutyRosterChecklist.js +250 -250
  53. package/src/models/dutyroster.js +136 -136
  54. package/src/models/email.js +37 -37
  55. package/src/models/email_sms_queue.js +61 -61
  56. package/src/models/entry_exit.js +53 -53
  57. package/src/models/expense.js +99 -99
  58. package/src/models/expense_category.js +45 -45
  59. package/src/models/facility.js +71 -71
  60. package/src/models/facilityBillingPrices.js +29 -29
  61. package/src/models/facilityInvoice.js +240 -240
  62. package/src/models/facilityInvoicePayment.js +52 -52
  63. package/src/models/facilityInvoiceRecipient.js +32 -32
  64. package/src/models/facilityWalletTransactionsMetadata.js +236 -236
  65. package/src/models/facility_departements.js +20 -20
  66. package/src/models/facility_payment_details.js +20 -20
  67. package/src/models/facility_rating.js +78 -78
  68. package/src/models/facilityasset.js +25 -25
  69. package/src/models/faq.js +14 -14
  70. package/src/models/gl_account_double_entries.js +25 -25
  71. package/src/models/gl_accounts.js +56 -56
  72. package/src/models/gl_entries.js +49 -49
  73. package/src/models/goodsReceivedNotes.js +115 -115
  74. package/src/models/guard.js +47 -47
  75. package/src/models/handover.js +258 -258
  76. package/src/models/inspection_category.js +38 -38
  77. package/src/models/invoice.js +480 -480
  78. package/src/models/invoice_generation_approval.js +86 -86
  79. package/src/models/invoicing_schedule.js +40 -40
  80. package/src/models/item_inspection.js +96 -96
  81. package/src/models/knowledge_base.js +109 -109
  82. package/src/models/knowledge_base_rating.js +44 -44
  83. package/src/models/leaseagreement.js +237 -237
  84. package/src/models/leasetemplate.js +17 -17
  85. package/src/models/levy.js +223 -223
  86. package/src/models/levy_invoice_settings.js +26 -26
  87. package/src/models/levycontract.js +210 -210
  88. package/src/models/levytype.js +23 -23
  89. package/src/models/maintenance_service_vendor.js +38 -38
  90. package/src/models/maintenance_services.js +17 -17
  91. package/src/models/maintenancerequisition.js +31 -31
  92. package/src/models/master_workplan.js +32 -32
  93. package/src/models/master_workplan_child.js +34 -34
  94. package/src/models/message.js +38 -38
  95. package/src/models/module.js +21 -21
  96. package/src/models/notification.js +44 -44
  97. package/src/models/paymentTermsMarks.js +19 -19
  98. package/src/models/penalty.js +76 -76
  99. package/src/models/pendingCredentials.js +32 -32
  100. package/src/models/powerMeterCommunicationProtocol.js +17 -17
  101. package/src/models/powerMeterCustomerAccount.js +78 -78
  102. package/src/models/powerMeterCustomerBand.js +14 -14
  103. package/src/models/powerMeterDailyReading.js +30 -30
  104. package/src/models/powerMeterGateways.js +40 -40
  105. package/src/models/powerMeterMonthlyReading.js +34 -34
  106. package/src/models/powerMeterPowerCharges.js +85 -85
  107. package/src/models/powerMeterSettings.js +159 -159
  108. package/src/models/powerMeterSingleDayReading.js +32 -32
  109. package/src/models/powerMeters.js +116 -116
  110. package/src/models/powerMetersManufacturer.js +14 -14
  111. package/src/models/power_meter_account.js +81 -81
  112. package/src/models/power_meter_command_logs.js +30 -30
  113. package/src/models/power_meter_command_queue.js +33 -33
  114. package/src/models/power_meter_negative_balance.js +44 -44
  115. package/src/models/power_prepaid_credits.js +47 -47
  116. package/src/models/power_prepaid_debits.js +53 -53
  117. package/src/models/power_prepaid_orders.js +78 -78
  118. package/src/models/power_sms_notification.js +26 -26
  119. package/src/models/privacy_policy.js +19 -19
  120. package/src/models/propertyManagerContract.js +556 -556
  121. package/src/models/propertyManagerRevenue.js +195 -195
  122. package/src/models/purchaseOrderInvoice.js +74 -74
  123. package/src/models/purchase_order.js +213 -213
  124. package/src/models/purchase_request.js +110 -110
  125. package/src/models/quickbooks_config.js +52 -41
  126. package/src/models/refresh_token.js +23 -23
  127. package/src/models/reminder.js +197 -197
  128. package/src/models/report.js +13 -13
  129. package/src/models/resident.js +121 -121
  130. package/src/models/rfq_details.js +131 -131
  131. package/src/models/rfq_response.js +153 -153
  132. package/src/models/service_charge_invoice_upload.js +42 -42
  133. package/src/models/service_charge_payments.js +27 -27
  134. package/src/models/servicerequest.js +55 -55
  135. package/src/models/settings.js +62 -62
  136. package/src/models/short_urls.js +21 -21
  137. package/src/models/smart_meter_daily_consumption.js +44 -44
  138. package/src/models/sms_africastalking.js +20 -20
  139. package/src/models/sms_balance_notification.js +26 -26
  140. package/src/models/sms_meliora.js +20 -20
  141. package/src/models/staff.js +36 -36
  142. package/src/models/stocksandspare.js +161 -161
  143. package/src/models/suppliers.js +74 -74
  144. package/src/models/terms_and_conditions.js +19 -19
  145. package/src/models/tickets.js +186 -186
  146. package/src/models/tickets_category.js +72 -72
  147. package/src/models/unitManagementTemplate.js +44 -44
  148. package/src/models/unitasset.js +25 -25
  149. package/src/models/units.js +118 -118
  150. package/src/models/user.js +185 -185
  151. package/src/models/valueaddedservices.js +50 -79
  152. package/src/models/vas_invoices_upload.js +50 -50
  153. package/src/models/vas_payments.js +24 -24
  154. package/src/models/vasinvoice.js +192 -192
  155. package/src/models/vasvendor.js +57 -57
  156. package/src/models/visitLog.js +95 -95
  157. package/src/models/visitor.js +67 -67
  158. package/src/models/waitlist.js +45 -45
  159. package/src/models/wallet.js +44 -44
  160. package/src/models/wallet_transactions.js +50 -50
  161. package/src/models/water_invoice.js +351 -351
  162. package/src/models/water_meter_Command_Queue.js +33 -33
  163. package/src/models/water_meter_account.js +86 -86
  164. package/src/models/water_meter_billing.js +58 -58
  165. package/src/models/water_meter_combined_accounts.js +92 -92
  166. package/src/models/water_meter_communication.js +17 -17
  167. package/src/models/water_meter_communication_logs.js +39 -39
  168. package/src/models/water_meter_concentrator.js +70 -70
  169. package/src/models/water_meter_daily_history.js +32 -32
  170. package/src/models/water_meter_high_risk.js +36 -36
  171. package/src/models/water_meter_iot_cards.js +34 -34
  172. package/src/models/water_meter_loan_deduction.js +134 -134
  173. package/src/models/water_meter_manufacturer.js +35 -35
  174. package/src/models/water_meter_monthly_history.js +36 -36
  175. package/src/models/water_meter_negative_amounts.js +44 -44
  176. package/src/models/water_meter_settings.js +290 -290
  177. package/src/models/water_meter_single_day_history.js +34 -34
  178. package/src/models/water_meter_size.js +15 -15
  179. package/src/models/water_meters.js +133 -133
  180. package/src/models/water_meters_delivery.js +76 -76
  181. package/src/models/water_prepaid_credit.js +47 -47
  182. package/src/models/water_prepaid_debit.js +50 -50
  183. package/src/models/workorder.js +49 -49
  184. package/src/models/zohoAccount.js +453 -453
  185. package/src/models/zohoIntegration.js +262 -262
  186. package/src/models/zohoItem.js +504 -504
@@ -1,121 +1,121 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for Resident
4
- const residentSchema = new mongoose.Schema({
5
- residentId: {
6
- type: String,
7
- required: true,
8
- unique: true
9
- },
10
- name: {
11
- type: String,
12
- required: true
13
- },
14
- email: {
15
- type: String,
16
- required: true
17
- },
18
- phone: {
19
- type: String,
20
- required: true
21
- },
22
- nationalId: {
23
- type: String,
24
- required: true
25
- },
26
- unitId: {
27
- type: mongoose.Schema.Types.ObjectId,
28
- ref: 'Unit',
29
- required: true
30
- },
31
- unitName: {
32
- type: String,
33
- required: true
34
- },
35
- facilityId: {
36
- type: mongoose.Schema.Types.ObjectId,
37
- ref: 'Facility',
38
- required: true
39
- },
40
- contracts: [{
41
- type: mongoose.Schema.Types.ObjectId,
42
- ref: 'LevyContract'
43
- }],
44
- levies: [{
45
- type: mongoose.Schema.Types.ObjectId,
46
- ref: 'Levy'
47
- }],
48
- invoices: [{
49
- type: mongoose.Schema.Types.ObjectId,
50
- ref: 'Invoice'
51
- }],
52
- paymentHistory: [{
53
- paymentDate: {
54
- type: Date,
55
- required: true
56
- },
57
- amount: {
58
- type: Number,
59
- required: true
60
- },
61
- paymentMethod: {
62
- type: String
63
- },
64
- transactionId: {
65
- type: String
66
- }
67
- }],
68
- status: {
69
- type: String,
70
- enum: ['Active', 'Inactive'],
71
- default: 'Active'
72
- },
73
- registrationDate: {
74
- type: Date,
75
- default: Date.now
76
- },
77
- paymentFrequency: {
78
- type: String,
79
- enum: ['Monthly', 'Quarterly', 'Annually']
80
- },
81
- notificationPreferences: {
82
- email: {
83
- type: Boolean,
84
- default: true
85
- },
86
- sms: {
87
- type: Boolean,
88
- default: true
89
- },
90
- push: {
91
- type: Boolean,
92
- default: true
93
- }
94
- },
95
- reminders: [{
96
- type: mongoose.Schema.Types.ObjectId,
97
- ref: 'Reminder'
98
- }],
99
- notifications: [{
100
- type: mongoose.Schema.Types.ObjectId,
101
- ref: 'Notification'
102
- }],
103
- penalties: [{
104
- type: mongoose.Schema.Types.ObjectId,
105
- ref: 'Penalty'
106
- }],
107
- penaltyStatus: {
108
- type: String,
109
- enum: ['Pending', 'Paid', 'Waived'],
110
- default: 'Pending'
111
- },
112
- notes: {
113
- type: String
114
- }
115
- }, {
116
- timestamps: true
117
- });
118
-
119
- const Resident = mongoose.model('Resident', residentSchema);
120
-
121
- module.exports = Resident;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for Resident
4
+ const residentSchema = new mongoose.Schema({
5
+ residentId: {
6
+ type: String,
7
+ required: true,
8
+ unique: true
9
+ },
10
+ name: {
11
+ type: String,
12
+ required: true
13
+ },
14
+ email: {
15
+ type: String,
16
+ required: true
17
+ },
18
+ phone: {
19
+ type: String,
20
+ required: true
21
+ },
22
+ nationalId: {
23
+ type: String,
24
+ required: true
25
+ },
26
+ unitId: {
27
+ type: mongoose.Schema.Types.ObjectId,
28
+ ref: 'Unit',
29
+ required: true
30
+ },
31
+ unitName: {
32
+ type: String,
33
+ required: true
34
+ },
35
+ facilityId: {
36
+ type: mongoose.Schema.Types.ObjectId,
37
+ ref: 'Facility',
38
+ required: true
39
+ },
40
+ contracts: [{
41
+ type: mongoose.Schema.Types.ObjectId,
42
+ ref: 'LevyContract'
43
+ }],
44
+ levies: [{
45
+ type: mongoose.Schema.Types.ObjectId,
46
+ ref: 'Levy'
47
+ }],
48
+ invoices: [{
49
+ type: mongoose.Schema.Types.ObjectId,
50
+ ref: 'Invoice'
51
+ }],
52
+ paymentHistory: [{
53
+ paymentDate: {
54
+ type: Date,
55
+ required: true
56
+ },
57
+ amount: {
58
+ type: Number,
59
+ required: true
60
+ },
61
+ paymentMethod: {
62
+ type: String
63
+ },
64
+ transactionId: {
65
+ type: String
66
+ }
67
+ }],
68
+ status: {
69
+ type: String,
70
+ enum: ['Active', 'Inactive'],
71
+ default: 'Active'
72
+ },
73
+ registrationDate: {
74
+ type: Date,
75
+ default: Date.now
76
+ },
77
+ paymentFrequency: {
78
+ type: String,
79
+ enum: ['Monthly', 'Quarterly', 'Annually']
80
+ },
81
+ notificationPreferences: {
82
+ email: {
83
+ type: Boolean,
84
+ default: true
85
+ },
86
+ sms: {
87
+ type: Boolean,
88
+ default: true
89
+ },
90
+ push: {
91
+ type: Boolean,
92
+ default: true
93
+ }
94
+ },
95
+ reminders: [{
96
+ type: mongoose.Schema.Types.ObjectId,
97
+ ref: 'Reminder'
98
+ }],
99
+ notifications: [{
100
+ type: mongoose.Schema.Types.ObjectId,
101
+ ref: 'Notification'
102
+ }],
103
+ penalties: [{
104
+ type: mongoose.Schema.Types.ObjectId,
105
+ ref: 'Penalty'
106
+ }],
107
+ penaltyStatus: {
108
+ type: String,
109
+ enum: ['Pending', 'Paid', 'Waived'],
110
+ default: 'Pending'
111
+ },
112
+ notes: {
113
+ type: String
114
+ }
115
+ }, {
116
+ timestamps: true
117
+ });
118
+
119
+ const Resident = mongoose.model('Resident', residentSchema);
120
+
121
+ module.exports = Resident;
@@ -1,131 +1,131 @@
1
- const mongoose = require('mongoose');
2
-
3
- const rfqDetailsSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- index: true,
9
- },
10
- name: {
11
- type: String,
12
- required: true,
13
- trim: true,
14
- index: true,
15
- },
16
- rfqNumber: {
17
- type: String,
18
- required: true,
19
- unique: true,
20
- trim: true,
21
- index: true,
22
- },
23
-
24
- startDate: {
25
- type: Date,
26
- required: true,
27
- },
28
- closingDate: {
29
- type: Date,
30
- required: true,
31
- },
32
-
33
- currency: {
34
- type: String,
35
- required: true,
36
- enum: ['KES', 'USD', 'EUR', 'GBP'],
37
- default: 'KES',
38
- },
39
- rfqType: {
40
- type: String,
41
- required: true,
42
- enum: ['open', 'closed'],
43
- default: 'closed',
44
- },
45
- rfqFee: {
46
- type: Number,
47
- default: 0,
48
- },
49
- rfqEvaluationType: {
50
- type: String,
51
- required: true,
52
- enum: ['automatic', 'approvers'],
53
- default: 'automatic',
54
- },
55
- notes: {
56
- type: String,
57
- trim: true,
58
- },
59
- category: {
60
- type: String,
61
- trim: true,
62
- },
63
- status: {
64
- type: String,
65
- enum: ['Pending', 'Active', 'Closed'],
66
- default: 'Pending',
67
- trim: true,
68
- },
69
- suppliers: [{
70
- type: mongoose.Schema.Types.ObjectId,
71
- ref: 'Supplier',
72
- }],
73
- items: [{
74
- itemName: { type: String, required: true, trim: true },
75
- description: { type: String, trim: true },
76
- quantity: { type: Number, required: true, min: 1 },
77
- unitOfMeasure: { type: String, trim: true },
78
- specifications: { type: String, trim: true },
79
- }],
80
- approvalWorkflowId: {
81
- type: mongoose.Schema.Types.ObjectId,
82
- ref: 'ApprovalWorkflow',
83
- required: true
84
- },
85
- approvalStatus: {
86
- type: String,
87
- enum: ['pending', 'in_progress', 'approved', 'rejected'],
88
- default: 'pending',
89
- index: true
90
- },
91
- currentStep: {
92
- type: Number,
93
- default: 1,
94
- min: 1
95
- },
96
- approvals: [{
97
- stepNumber: {
98
- type: Number,
99
- required: true
100
- },
101
- stepName: {
102
- type: String,
103
- required: true
104
- },
105
- approvers: [{
106
- userId: {
107
- type: mongoose.Schema.Types.ObjectId,
108
- ref: 'User',
109
- required: true
110
- },
111
- status: {
112
- type: String,
113
- enum: ['pending', 'approved', 'rejected'],
114
- default: 'pending'
115
- },
116
- actionDate: {
117
- type: Date
118
- },
119
- comments: {
120
- type: String,
121
- trim: true
122
- }
123
- }]
124
- }]
125
- }, {
126
- timestamps: true
127
- });
128
-
129
- const RFQDetails = mongoose.model('RFQDetails', rfqDetailsSchema);
130
-
131
- module.exports = RFQDetails;
1
+ const mongoose = require('mongoose');
2
+
3
+ const rfqDetailsSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ index: true,
9
+ },
10
+ name: {
11
+ type: String,
12
+ required: true,
13
+ trim: true,
14
+ index: true,
15
+ },
16
+ rfqNumber: {
17
+ type: String,
18
+ required: true,
19
+ unique: true,
20
+ trim: true,
21
+ index: true,
22
+ },
23
+
24
+ startDate: {
25
+ type: Date,
26
+ required: true,
27
+ },
28
+ closingDate: {
29
+ type: Date,
30
+ required: true,
31
+ },
32
+
33
+ currency: {
34
+ type: String,
35
+ required: true,
36
+ enum: ['KES', 'USD', 'EUR', 'GBP'],
37
+ default: 'KES',
38
+ },
39
+ rfqType: {
40
+ type: String,
41
+ required: true,
42
+ enum: ['open', 'closed'],
43
+ default: 'closed',
44
+ },
45
+ rfqFee: {
46
+ type: Number,
47
+ default: 0,
48
+ },
49
+ rfqEvaluationType: {
50
+ type: String,
51
+ required: true,
52
+ enum: ['automatic', 'approvers'],
53
+ default: 'automatic',
54
+ },
55
+ notes: {
56
+ type: String,
57
+ trim: true,
58
+ },
59
+ category: {
60
+ type: String,
61
+ trim: true,
62
+ },
63
+ status: {
64
+ type: String,
65
+ enum: ['Pending', 'Active', 'Closed'],
66
+ default: 'Pending',
67
+ trim: true,
68
+ },
69
+ suppliers: [{
70
+ type: mongoose.Schema.Types.ObjectId,
71
+ ref: 'Supplier',
72
+ }],
73
+ items: [{
74
+ itemName: { type: String, required: true, trim: true },
75
+ description: { type: String, trim: true },
76
+ quantity: { type: Number, required: true, min: 1 },
77
+ unitOfMeasure: { type: String, trim: true },
78
+ specifications: { type: String, trim: true },
79
+ }],
80
+ approvalWorkflowId: {
81
+ type: mongoose.Schema.Types.ObjectId,
82
+ ref: 'ApprovalWorkflow',
83
+ required: true
84
+ },
85
+ approvalStatus: {
86
+ type: String,
87
+ enum: ['pending', 'in_progress', 'approved', 'rejected'],
88
+ default: 'pending',
89
+ index: true
90
+ },
91
+ currentStep: {
92
+ type: Number,
93
+ default: 1,
94
+ min: 1
95
+ },
96
+ approvals: [{
97
+ stepNumber: {
98
+ type: Number,
99
+ required: true
100
+ },
101
+ stepName: {
102
+ type: String,
103
+ required: true
104
+ },
105
+ approvers: [{
106
+ userId: {
107
+ type: mongoose.Schema.Types.ObjectId,
108
+ ref: 'User',
109
+ required: true
110
+ },
111
+ status: {
112
+ type: String,
113
+ enum: ['pending', 'approved', 'rejected'],
114
+ default: 'pending'
115
+ },
116
+ actionDate: {
117
+ type: Date
118
+ },
119
+ comments: {
120
+ type: String,
121
+ trim: true
122
+ }
123
+ }]
124
+ }]
125
+ }, {
126
+ timestamps: true
127
+ });
128
+
129
+ const RFQDetails = mongoose.model('RFQDetails', rfqDetailsSchema);
130
+
131
+ module.exports = RFQDetails;