payservedb 5.9.5 → 5.9.7

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 (124) hide show
  1. package/.env +2 -2
  2. package/index.js +206 -205
  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 +112 -112
  18. package/src/models/bookingreservation.js +192 -192
  19. package/src/models/bookingrevenuerecord.js +84 -84
  20. package/src/models/budget.js +91 -91
  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 +200 -200
  34. package/src/models/default_payment_details.js +17 -17
  35. package/src/models/deliveryTimeMarks.js +18 -18
  36. package/src/models/dutyroster.js +107 -107
  37. package/src/models/email.js +37 -37
  38. package/src/models/email_sms_queue.js +53 -61
  39. package/src/models/entry_exit.js +53 -53
  40. package/src/models/expense.js +99 -99
  41. package/src/models/expense_category.js +45 -45
  42. package/src/models/facility.js +61 -61
  43. package/src/models/facility_departements.js +20 -20
  44. package/src/models/facility_payment_details.js +20 -20
  45. package/src/models/facilityasset.js +25 -25
  46. package/src/models/faq.js +18 -18
  47. package/src/models/gl_account_double_entries.js +25 -25
  48. package/src/models/gl_accounts.js +56 -56
  49. package/src/models/gl_entries.js +49 -49
  50. package/src/models/goodsReceivedNotes.js +106 -61
  51. package/src/models/guard.js +47 -47
  52. package/src/models/handover.js +246 -246
  53. package/src/models/invoice.js +336 -336
  54. package/src/models/item_inspection.js +67 -67
  55. package/src/models/leaseagreement.js +221 -221
  56. package/src/models/leasetemplate.js +17 -17
  57. package/src/models/levy.js +206 -206
  58. package/src/models/levy_invoice_settings.js +26 -26
  59. package/src/models/levycontract.js +117 -117
  60. package/src/models/levytype.js +23 -23
  61. package/src/models/maintenance_service_vendor.js +38 -38
  62. package/src/models/maintenance_services.js +17 -17
  63. package/src/models/maintenancerequisition.js +31 -31
  64. package/src/models/message.js +38 -38
  65. package/src/models/module.js +21 -21
  66. package/src/models/notification.js +44 -44
  67. package/src/models/paymentTermsMarks.js +19 -19
  68. package/src/models/penalty.js +76 -76
  69. package/src/models/pendingCredentials.js +32 -32
  70. package/src/models/propertyManagerContract.js +463 -463
  71. package/src/models/propertyManagerRevenue.js +100 -100
  72. package/src/models/purchaseOrderInvoice.js +61 -0
  73. package/src/models/purchase_order.js +202 -202
  74. package/src/models/purchase_request.js +110 -110
  75. package/src/models/refresh_token.js +23 -23
  76. package/src/models/reminder.js +197 -197
  77. package/src/models/report.js +13 -13
  78. package/src/models/resident.js +121 -121
  79. package/src/models/rfq_details.js +131 -131
  80. package/src/models/rfq_response.js +153 -110
  81. package/src/models/service_charge_invoice_upload.js +42 -42
  82. package/src/models/service_charge_payments.js +27 -27
  83. package/src/models/servicerequest.js +55 -55
  84. package/src/models/settings.js +62 -62
  85. package/src/models/smart_meter_daily_consumption.js +44 -44
  86. package/src/models/sms_africastalking.js +20 -20
  87. package/src/models/sms_meliora.js +20 -20
  88. package/src/models/staff.js +36 -36
  89. package/src/models/stocksandspare.js +34 -34
  90. package/src/models/suppliers.js +74 -74
  91. package/src/models/tickets.js +121 -121
  92. package/src/models/unitManagementTemplate.js +44 -44
  93. package/src/models/unitasset.js +25 -25
  94. package/src/models/units.js +112 -112
  95. package/src/models/user.js +186 -186
  96. package/src/models/valueaddedservices.js +79 -79
  97. package/src/models/vas_invoices_upload.js +50 -50
  98. package/src/models/vas_payments.js +24 -24
  99. package/src/models/vasinvoice.js +192 -192
  100. package/src/models/vasvendor.js +57 -57
  101. package/src/models/visitLog.js +86 -86
  102. package/src/models/visitor.js +67 -67
  103. package/src/models/waitlist.js +45 -45
  104. package/src/models/wallet.js +39 -39
  105. package/src/models/wallet_transactions.js +50 -50
  106. package/src/models/water_invoice.js +193 -193
  107. package/src/models/water_meter_Command_Queue.js +33 -33
  108. package/src/models/water_meter_account.js +78 -78
  109. package/src/models/water_meter_billing.js +58 -58
  110. package/src/models/water_meter_communication.js +17 -17
  111. package/src/models/water_meter_communication_logs.js +30 -30
  112. package/src/models/water_meter_concentrator.js +63 -63
  113. package/src/models/water_meter_daily_history.js +32 -32
  114. package/src/models/water_meter_iot_cards.js +34 -34
  115. package/src/models/water_meter_manufacturer.js +35 -35
  116. package/src/models/water_meter_monthly_history.js +36 -36
  117. package/src/models/water_meter_settings.js +114 -114
  118. package/src/models/water_meter_single_day_history.js +34 -34
  119. package/src/models/water_meter_size.js +15 -15
  120. package/src/models/water_meters.js +117 -117
  121. package/src/models/water_meters_delivery.js +76 -76
  122. package/src/models/water_prepaid_credit.js +43 -43
  123. package/src/models/water_prepaid_debit.js +50 -50
  124. package/src/models/workorder.js +49 -49
@@ -1,111 +1,154 @@
1
- const mongoose = require('mongoose');
2
-
3
- const rfqResponseSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- index: true,
9
- },
10
- rfqId: {
11
- type: mongoose.Schema.Types.ObjectId,
12
- ref: 'RFQDetails',
13
- required: true,
14
- index: true,
15
- },
16
- supplierId: {
17
- type: mongoose.Schema.Types.ObjectId,
18
- ref: 'Supplier',
19
- required: true,
20
- index: true,
21
- },
22
-
23
- items: [{
24
- itemId: {
25
- type: mongoose.Schema.Types.ObjectId,
26
- required: true,
27
- },
28
- itemName: { type: String, required: true, trim: true },
29
- unitPrice: {
30
- type: Number,
31
- required: true,
32
- min: 0,
33
- },
34
- quantity: {
35
- type: Number,
36
- required: true,
37
- min: 1,
38
- },
39
- totalPrice: {
40
- type: Number,
41
- required: true,
42
- min: 0,
43
- },
44
- notes: {
45
- type: String,
46
- trim: true,
47
- default: '',
48
- }
49
- }],
50
-
51
- vatAmount: {
52
- type: Number,
53
- required: false,
54
- min: 0,
55
- default: 0,
56
- },
57
-
58
- deliveryDays: {
59
- type: Number,
60
- required: true,
61
- min: 1,
62
- default: 7
63
- },
64
-
65
- notes: {
66
- type: String,
67
- trim: true,
68
- default: '',
69
- },
70
-
71
- attachments: [{
72
- fileName: {
73
- type: String,
74
- required: true,
75
- trim: true,
76
- },
77
- filePath: {
78
- type: String,
79
- required: true,
80
- },
81
- uploadedAt: {
82
- type: Date,
83
- default: Date.now,
84
- }
85
- }],
86
-
87
- status: {
88
- type: String,
89
- enum: ['pending', 'submitted', 'evaluated', 'awarded','declined'],
90
- default: 'pending',
91
- index: true,
92
- },
93
-
94
- evaluation: {
95
- score: {
96
- type: Number,
97
- min: 0,
98
- max: 100,
99
- default: null,
100
- },
101
- notes: {
102
- type: String,
103
- trim: true,
104
- default: ''
105
- }
106
- },
107
- }, {
108
- timestamps: true,
109
- });
110
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const rfqResponseSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ index: true,
9
+ },
10
+ rfqId: {
11
+ type: mongoose.Schema.Types.ObjectId,
12
+ ref: 'RFQDetails',
13
+ required: true,
14
+ index: true,
15
+ },
16
+ supplierId: {
17
+ type: mongoose.Schema.Types.ObjectId,
18
+ ref: 'Supplier',
19
+ required: true,
20
+ index: true,
21
+ },
22
+
23
+ items: [{
24
+ itemId: {
25
+ type: mongoose.Schema.Types.ObjectId,
26
+ required: true,
27
+ },
28
+ itemName: { type: String, required: true, trim: true },
29
+ unitPrice: {
30
+ type: Number,
31
+ required: true,
32
+ min: 0,
33
+ },
34
+ quantity: {
35
+ type: Number,
36
+ required: true,
37
+ min: 1,
38
+ },
39
+ totalPrice: {
40
+ type: Number,
41
+ required: true,
42
+ min: 0,
43
+ },
44
+ notes: {
45
+ type: String,
46
+ trim: true,
47
+ default: '',
48
+ }
49
+ }],
50
+
51
+ // VAT Information
52
+ vatPercentage: {
53
+ type: Number,
54
+ required: false,
55
+ min: 0,
56
+ max: 100,
57
+ default: 0,
58
+ },
59
+ vatAmount: {
60
+ type: Number,
61
+ required: false,
62
+ min: 0,
63
+ default: 0,
64
+ },
65
+
66
+ // Delivery Information
67
+ deliveryDays: {
68
+ type: Number,
69
+ required: true,
70
+ min: 1,
71
+ default: 7
72
+ },
73
+ deliveryMarks: {
74
+ type: Number,
75
+ required: true,
76
+ min: 0,
77
+ default: 0
78
+ },
79
+
80
+ // Payment Terms Information
81
+ paymentTerm: {
82
+ type: String,
83
+ required: true,
84
+ trim: true,
85
+ default: 'Net 30'
86
+ },
87
+ paymentTermMarks: {
88
+ type: Number,
89
+ required: true,
90
+ min: 0,
91
+ default: 0
92
+ },
93
+
94
+ // Legacy field for backward compatibility
95
+ deliveryTimeline: {
96
+ value: { type: Number },
97
+ unit: { type: String },
98
+ daysEquivalent: { type: Number }
99
+ },
100
+
101
+ notes: {
102
+ type: String,
103
+ trim: true,
104
+ default: '',
105
+ },
106
+
107
+ attachments: [{
108
+ fileName: {
109
+ type: String,
110
+ required: true,
111
+ trim: true,
112
+ },
113
+ filePath: {
114
+ type: String,
115
+ required: true,
116
+ },
117
+ uploadedAt: {
118
+ type: Date,
119
+ default: Date.now,
120
+ }
121
+ }],
122
+
123
+ status: {
124
+ type: String,
125
+ enum: ['pending', 'submitted', 'evaluated', 'awarded', 'declined'],
126
+ default: 'pending',
127
+ index: true,
128
+ },
129
+
130
+ evaluation: {
131
+ deliveryScore: {
132
+ type: Number,
133
+ min: 0,
134
+ max: 100,
135
+ default: null,
136
+ },
137
+ paymentScore: {
138
+ type: Number,
139
+ min: 0,
140
+ max: 100,
141
+ default: null,
142
+ },
143
+ notes: {
144
+ type: String,
145
+ trim: true,
146
+ default: ''
147
+ }
148
+ },
149
+ }, {
150
+ timestamps: true,
151
+ });
152
+
153
+
111
154
  module.exports = mongoose.model('RFQResponse', rfqResponseSchema);
@@ -1,43 +1,43 @@
1
- const mongoose = require("mongoose")
2
-
3
- const ServiceChargeInvoiceUploadSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- },
9
- customerId: {
10
- type: String,
11
- required: true,
12
- },
13
- item: {
14
- type: String,
15
- required: true,
16
- },
17
- description: {
18
- type: String,
19
- required: true,
20
- },
21
- quantity: {
22
- type: Number,
23
- required: true,
24
- },
25
- rate: {
26
- type: Number,
27
- required: true,
28
- },
29
- vat: {
30
- type: Number,
31
- required: true,
32
- },
33
- account: {
34
- type: String,
35
- required: true,
36
- }
37
- })
38
-
39
- const ServiceChargeInvoiceUpload = mongoose.model(
40
- "ServiceChargeInvoiceUpload",
41
- ServiceChargeInvoiceUploadSchema
42
- )
1
+ const mongoose = require("mongoose")
2
+
3
+ const ServiceChargeInvoiceUploadSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ },
9
+ customerId: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ item: {
14
+ type: String,
15
+ required: true,
16
+ },
17
+ description: {
18
+ type: String,
19
+ required: true,
20
+ },
21
+ quantity: {
22
+ type: Number,
23
+ required: true,
24
+ },
25
+ rate: {
26
+ type: Number,
27
+ required: true,
28
+ },
29
+ vat: {
30
+ type: Number,
31
+ required: true,
32
+ },
33
+ account: {
34
+ type: String,
35
+ required: true,
36
+ }
37
+ })
38
+
39
+ const ServiceChargeInvoiceUpload = mongoose.model(
40
+ "ServiceChargeInvoiceUpload",
41
+ ServiceChargeInvoiceUploadSchema
42
+ )
43
43
  module.exports = ServiceChargeInvoiceUpload
@@ -1,28 +1,28 @@
1
- const mongoose = require("mongoose");
2
-
3
- const ServiceChargePaymentSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- },
9
- customerId: {
10
- type: String,
11
- required: true,
12
- },
13
- amount: {
14
- type: Number,
15
- required: true,
16
- },
17
- account: {
18
- type: String,
19
- required: true,
20
- },
21
- });
22
-
23
- const ServiceChargePayment = mongoose.model(
24
- "ServiceChargePayment",
25
- ServiceChargePaymentSchema
26
- );
27
-
1
+ const mongoose = require("mongoose");
2
+
3
+ const ServiceChargePaymentSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ },
9
+ customerId: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ amount: {
14
+ type: Number,
15
+ required: true,
16
+ },
17
+ account: {
18
+ type: String,
19
+ required: true,
20
+ },
21
+ });
22
+
23
+ const ServiceChargePayment = mongoose.model(
24
+ "ServiceChargePayment",
25
+ ServiceChargePaymentSchema
26
+ );
27
+
28
28
  module.exports = ServiceChargePayment;
@@ -1,56 +1,56 @@
1
- const mongoose = require('mongoose');
2
-
3
- const serviceRequestSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- required: true,
7
- ref: 'Facility'
8
- },
9
- date: {
10
- type: Date,
11
- },
12
- time: {
13
- type: String,
14
- },
15
- serviceId: {
16
- type: mongoose.Schema.Types.ObjectId,
17
- required: true,
18
- ref: 'Service'
19
- },
20
- status: {
21
- type: String,
22
- required: true,
23
- enum: ['Pending', 'Awaiting', 'In Progress', 'Completed', 'Cancelled'],
24
- },
25
- customerId: {
26
- type: mongoose.Schema.Types.ObjectId,
27
- required: true,
28
- ref: 'Customer'
29
- },
30
- assigneeId: {
31
- type: mongoose.Schema.Types.ObjectId,
32
- ref: 'VasVendor'
33
- },
34
- unit: {
35
- type: String,
36
- },
37
- frequency: {
38
- type: String,
39
- },
40
- amount: {
41
- type: Number,
42
- },
43
- percentage: {
44
- type: Number,
45
- },
46
- isCommissionSelected: {
47
- type: Boolean,
48
- default: false
49
- }
50
- }, {
51
- timestamps: true
52
- });
53
-
54
- const ServiceRequest = mongoose.model('ServiceRequest', serviceRequestSchema);
55
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const serviceRequestSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ required: true,
7
+ ref: 'Facility'
8
+ },
9
+ date: {
10
+ type: Date,
11
+ },
12
+ time: {
13
+ type: String,
14
+ },
15
+ serviceId: {
16
+ type: mongoose.Schema.Types.ObjectId,
17
+ required: true,
18
+ ref: 'Service'
19
+ },
20
+ status: {
21
+ type: String,
22
+ required: true,
23
+ enum: ['Pending', 'Awaiting', 'In Progress', 'Completed', 'Cancelled'],
24
+ },
25
+ customerId: {
26
+ type: mongoose.Schema.Types.ObjectId,
27
+ required: true,
28
+ ref: 'Customer'
29
+ },
30
+ assigneeId: {
31
+ type: mongoose.Schema.Types.ObjectId,
32
+ ref: 'VasVendor'
33
+ },
34
+ unit: {
35
+ type: String,
36
+ },
37
+ frequency: {
38
+ type: String,
39
+ },
40
+ amount: {
41
+ type: Number,
42
+ },
43
+ percentage: {
44
+ type: Number,
45
+ },
46
+ isCommissionSelected: {
47
+ type: Boolean,
48
+ default: false
49
+ }
50
+ }, {
51
+ timestamps: true
52
+ });
53
+
54
+ const ServiceRequest = mongoose.model('ServiceRequest', serviceRequestSchema);
55
+
56
56
  module.exports = ServiceRequest;
@@ -1,63 +1,63 @@
1
- const mongoose = require('mongoose');
2
-
3
- const SettingsSchema = new mongoose.Schema({
4
- // Basic Settings
5
- name: {
6
- type: String,
7
- required: [true, 'Name is required']
8
- },
9
- size: {
10
- type: String,
11
- required: [true, 'Size is required']
12
- },
13
-
14
- // Tax Settings
15
- taxSettings: [{
16
- facilityId: {
17
- type: mongoose.Schema.Types.ObjectId,
18
- ref: 'Facility',
19
- required: [true, 'Facility ID is required']
20
- },
21
- taxRate: {
22
- type: Number,
23
- required: [true, 'Tax rate is required'],
24
- min: [0, 'Tax rate cannot be negative']
25
- },
26
- country: {
27
- type: String,
28
- required: [true, 'Country is required'],
29
- trim: true,
30
- minlength: [1, 'Country name must be at least 1 character long']
31
- },
32
- currency: {
33
- type: String,
34
- required: [true, 'Currency is required'],
35
- trim: true,
36
- minlength: [1, 'Currency code must be at least 1 character long']
37
- }
38
- }],
39
-
40
- // Invoice Settings
41
- invoiceSettings: {
42
- termsAndConditions: {
43
- type: String,
44
- default: 'Payment is due within 15 days'
45
- },
46
- paymentDetails: {
47
- bankName: {
48
- type: String,
49
- required: [true, 'Bank name is required']
50
- },
51
- accountNumber: {
52
- type: String,
53
- required: [true, 'Account number is required']
54
- }
55
- }
56
- }
57
- }, {
58
- timestamps: true
59
- });
60
-
61
- const Settings = mongoose.model('Settings', SettingsSchema);
62
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const SettingsSchema = new mongoose.Schema({
4
+ // Basic Settings
5
+ name: {
6
+ type: String,
7
+ required: [true, 'Name is required']
8
+ },
9
+ size: {
10
+ type: String,
11
+ required: [true, 'Size is required']
12
+ },
13
+
14
+ // Tax Settings
15
+ taxSettings: [{
16
+ facilityId: {
17
+ type: mongoose.Schema.Types.ObjectId,
18
+ ref: 'Facility',
19
+ required: [true, 'Facility ID is required']
20
+ },
21
+ taxRate: {
22
+ type: Number,
23
+ required: [true, 'Tax rate is required'],
24
+ min: [0, 'Tax rate cannot be negative']
25
+ },
26
+ country: {
27
+ type: String,
28
+ required: [true, 'Country is required'],
29
+ trim: true,
30
+ minlength: [1, 'Country name must be at least 1 character long']
31
+ },
32
+ currency: {
33
+ type: String,
34
+ required: [true, 'Currency is required'],
35
+ trim: true,
36
+ minlength: [1, 'Currency code must be at least 1 character long']
37
+ }
38
+ }],
39
+
40
+ // Invoice Settings
41
+ invoiceSettings: {
42
+ termsAndConditions: {
43
+ type: String,
44
+ default: 'Payment is due within 15 days'
45
+ },
46
+ paymentDetails: {
47
+ bankName: {
48
+ type: String,
49
+ required: [true, 'Bank name is required']
50
+ },
51
+ accountNumber: {
52
+ type: String,
53
+ required: [true, 'Account number is required']
54
+ }
55
+ }
56
+ }
57
+ }, {
58
+ timestamps: true
59
+ });
60
+
61
+ const Settings = mongoose.model('Settings', SettingsSchema);
62
+
63
63
  module.exports = Settings;