payservedb 6.6.2 → 6.6.4

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 (141) hide show
  1. package/.env +2 -2
  2. package/index.js +277 -277
  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 +92 -92
  10. package/src/models/assetsAssignment.js +64 -64
  11. package/src/models/auditTrail.js +346 -346
  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 +94 -94
  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/dailyChecklist.js +312 -312
  35. package/src/models/default_payment_details.js +17 -17
  36. package/src/models/deliveryTimeMarks.js +18 -18
  37. package/src/models/dutyRosterChecklist.js +250 -250
  38. package/src/models/dutyroster.js +136 -136
  39. package/src/models/email.js +37 -37
  40. package/src/models/email_sms_queue.js +61 -61
  41. package/src/models/entry_exit.js +53 -53
  42. package/src/models/expense.js +99 -99
  43. package/src/models/expense_category.js +45 -45
  44. package/src/models/facility.js +61 -61
  45. package/src/models/facilityWalletTransactionsMetadata.js +236 -236
  46. package/src/models/facility_departements.js +20 -20
  47. package/src/models/facility_payment_details.js +20 -20
  48. package/src/models/facilityasset.js +25 -25
  49. package/src/models/faq.js +18 -18
  50. package/src/models/gl_account_double_entries.js +25 -25
  51. package/src/models/gl_accounts.js +56 -56
  52. package/src/models/gl_entries.js +49 -49
  53. package/src/models/goodsReceivedNotes.js +115 -115
  54. package/src/models/guard.js +47 -47
  55. package/src/models/handover.js +246 -246
  56. package/src/models/invoice.js +336 -336
  57. package/src/models/item_inspection.js +67 -67
  58. package/src/models/leaseagreement.js +226 -226
  59. package/src/models/leasetemplate.js +17 -17
  60. package/src/models/levy.js +206 -206
  61. package/src/models/levy_invoice_settings.js +26 -26
  62. package/src/models/levycontract.js +117 -117
  63. package/src/models/levytype.js +23 -23
  64. package/src/models/maintenance_service_vendor.js +38 -38
  65. package/src/models/maintenance_services.js +17 -17
  66. package/src/models/maintenancerequisition.js +31 -31
  67. package/src/models/master_workplan.js +32 -32
  68. package/src/models/master_workplan_child.js +34 -34
  69. package/src/models/message.js +38 -38
  70. package/src/models/module.js +21 -21
  71. package/src/models/notification.js +44 -44
  72. package/src/models/paymentTermsMarks.js +19 -19
  73. package/src/models/penalty.js +76 -76
  74. package/src/models/pendingCredentials.js +32 -32
  75. package/src/models/powerMeterCustomerAccount.js +78 -78
  76. package/src/models/powerMeterCustomerBand.js +14 -14
  77. package/src/models/powerMeterDailyReading.js +30 -30
  78. package/src/models/powerMeterGateways.js +37 -0
  79. package/src/models/powerMeterMonthlyReading.js +34 -34
  80. package/src/models/powerMeterPowerCharges.js +53 -53
  81. package/src/models/powerMeterSettings.js +138 -138
  82. package/src/models/powerMeterSingleDayReading.js +32 -32
  83. package/src/models/powerMeters.js +93 -65
  84. package/src/models/powerMetersManufacturer.js +14 -14
  85. package/src/models/propertyManagerContract.js +556 -556
  86. package/src/models/propertyManagerRevenue.js +195 -195
  87. package/src/models/purchaseOrderInvoice.js +74 -74
  88. package/src/models/purchase_order.js +213 -213
  89. package/src/models/purchase_request.js +110 -110
  90. package/src/models/refresh_token.js +23 -23
  91. package/src/models/reminder.js +197 -197
  92. package/src/models/report.js +13 -13
  93. package/src/models/resident.js +121 -121
  94. package/src/models/rfq_details.js +131 -131
  95. package/src/models/rfq_response.js +153 -153
  96. package/src/models/service_charge_invoice_upload.js +42 -42
  97. package/src/models/service_charge_payments.js +27 -27
  98. package/src/models/servicerequest.js +55 -55
  99. package/src/models/settings.js +62 -62
  100. package/src/models/smart_meter_daily_consumption.js +44 -44
  101. package/src/models/sms_africastalking.js +20 -20
  102. package/src/models/sms_balance_notification.js +26 -26
  103. package/src/models/sms_meliora.js +20 -20
  104. package/src/models/staff.js +36 -36
  105. package/src/models/stocksandspare.js +161 -161
  106. package/src/models/suppliers.js +74 -74
  107. package/src/models/tickets.js +121 -121
  108. package/src/models/unitManagementTemplate.js +44 -44
  109. package/src/models/unitasset.js +25 -25
  110. package/src/models/units.js +117 -117
  111. package/src/models/user.js +186 -186
  112. package/src/models/valueaddedservices.js +79 -79
  113. package/src/models/vas_invoices_upload.js +50 -50
  114. package/src/models/vas_payments.js +24 -24
  115. package/src/models/vasinvoice.js +192 -192
  116. package/src/models/vasvendor.js +57 -57
  117. package/src/models/visitLog.js +86 -86
  118. package/src/models/visitor.js +67 -67
  119. package/src/models/waitlist.js +45 -45
  120. package/src/models/wallet.js +44 -44
  121. package/src/models/wallet_transactions.js +50 -50
  122. package/src/models/water_invoice.js +305 -305
  123. package/src/models/water_meter_Command_Queue.js +33 -33
  124. package/src/models/water_meter_account.js +78 -78
  125. package/src/models/water_meter_billing.js +58 -58
  126. package/src/models/water_meter_communication.js +17 -17
  127. package/src/models/water_meter_communication_logs.js +30 -30
  128. package/src/models/water_meter_concentrator.js +66 -66
  129. package/src/models/water_meter_daily_history.js +32 -32
  130. package/src/models/water_meter_iot_cards.js +34 -34
  131. package/src/models/water_meter_manufacturer.js +35 -35
  132. package/src/models/water_meter_monthly_history.js +36 -36
  133. package/src/models/water_meter_negative_amounts.js +38 -38
  134. package/src/models/water_meter_settings.js +180 -180
  135. package/src/models/water_meter_single_day_history.js +34 -34
  136. package/src/models/water_meter_size.js +15 -15
  137. package/src/models/water_meters.js +134 -134
  138. package/src/models/water_meters_delivery.js +76 -76
  139. package/src/models/water_prepaid_credit.js +47 -47
  140. package/src/models/water_prepaid_debit.js +50 -50
  141. package/src/models/workorder.js +49 -49
@@ -1,64 +1,64 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define schema for Booking Analytics
4
- const bookingAnalyticsSchema = new mongoose.Schema({
5
- facilityId: {
6
- type: mongoose.Schema.Types.ObjectId,
7
- ref: 'Facility',
8
- required: true
9
- },
10
- date: {
11
- type: Date,
12
- required: true
13
- },
14
- metrics: {
15
- totalBookings: {
16
- type: Number,
17
- default: 0
18
- },
19
- totalRevenue: {
20
- type: Number,
21
- default: 0
22
- },
23
- pmCommission: {
24
- type: Number,
25
- default: 0
26
- },
27
- landlordRevenue: {
28
- type: Number,
29
- default: 0
30
- },
31
- occupancyRate: {
32
- type: Number,
33
- default: 0
34
- },
35
- averageDailyRate: {
36
- type: Number,
37
- default: 0
38
- }
39
- },
40
- bookingsByStatus: {
41
- new: {
42
- type: Number,
43
- default: 0
44
- },
45
- confirmed: {
46
- type: Number,
47
- default: 0
48
- },
49
- cancelled: {
50
- type: Number,
51
- default: 0
52
- },
53
- completed: {
54
- type: Number,
55
- default: 0
56
- }
57
- }
58
- }, {
59
- timestamps: true
60
- });
61
- // Create model from schema
62
- const BookingAnalytics = mongoose.model('BookingAnalytics', bookingAnalyticsSchema);
63
-
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define schema for Booking Analytics
4
+ const bookingAnalyticsSchema = new mongoose.Schema({
5
+ facilityId: {
6
+ type: mongoose.Schema.Types.ObjectId,
7
+ ref: 'Facility',
8
+ required: true
9
+ },
10
+ date: {
11
+ type: Date,
12
+ required: true
13
+ },
14
+ metrics: {
15
+ totalBookings: {
16
+ type: Number,
17
+ default: 0
18
+ },
19
+ totalRevenue: {
20
+ type: Number,
21
+ default: 0
22
+ },
23
+ pmCommission: {
24
+ type: Number,
25
+ default: 0
26
+ },
27
+ landlordRevenue: {
28
+ type: Number,
29
+ default: 0
30
+ },
31
+ occupancyRate: {
32
+ type: Number,
33
+ default: 0
34
+ },
35
+ averageDailyRate: {
36
+ type: Number,
37
+ default: 0
38
+ }
39
+ },
40
+ bookingsByStatus: {
41
+ new: {
42
+ type: Number,
43
+ default: 0
44
+ },
45
+ confirmed: {
46
+ type: Number,
47
+ default: 0
48
+ },
49
+ cancelled: {
50
+ type: Number,
51
+ default: 0
52
+ },
53
+ completed: {
54
+ type: Number,
55
+ default: 0
56
+ }
57
+ }
58
+ }, {
59
+ timestamps: true
60
+ });
61
+ // Create model from schema
62
+ const BookingAnalytics = mongoose.model('BookingAnalytics', bookingAnalyticsSchema);
63
+
64
64
  module.exports = BookingAnalytics;
@@ -1,46 +1,46 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define schema for API Configuration (for Booking.com integration if needed)
4
- const bookingConfigSchema = new mongoose.Schema({
5
- facilityId: {
6
- type: mongoose.Schema.Types.ObjectId,
7
- ref: 'Facility',
8
- required: true
9
- },
10
- apiKey: {
11
- type: String,
12
- required: false
13
- },
14
- apiSecret: {
15
- type: String,
16
- required: false
17
- },
18
- isEnabled: {
19
- type: Boolean,
20
- default: false
21
- },
22
- lastConnected: {
23
- type: Date
24
- },
25
- settings: {
26
- autoAcceptBookings: {
27
- type: Boolean,
28
- default: false
29
- },
30
- syncCalendar: {
31
- type: Boolean,
32
- default: true
33
- },
34
- defaultCommission: {
35
- type: Number,
36
- default: 10
37
- }
38
- }
39
- }, {
40
- timestamps: true
41
- });
42
-
43
- // Create model from schema
44
- const BookingConfig = mongoose.model('BookingConfig', bookingConfigSchema);
45
-
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define schema for API Configuration (for Booking.com integration if needed)
4
+ const bookingConfigSchema = new mongoose.Schema({
5
+ facilityId: {
6
+ type: mongoose.Schema.Types.ObjectId,
7
+ ref: 'Facility',
8
+ required: true
9
+ },
10
+ apiKey: {
11
+ type: String,
12
+ required: false
13
+ },
14
+ apiSecret: {
15
+ type: String,
16
+ required: false
17
+ },
18
+ isEnabled: {
19
+ type: Boolean,
20
+ default: false
21
+ },
22
+ lastConnected: {
23
+ type: Date
24
+ },
25
+ settings: {
26
+ autoAcceptBookings: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ syncCalendar: {
31
+ type: Boolean,
32
+ default: true
33
+ },
34
+ defaultCommission: {
35
+ type: Number,
36
+ default: 10
37
+ }
38
+ }
39
+ }, {
40
+ timestamps: true
41
+ });
42
+
43
+ // Create model from schema
44
+ const BookingConfig = mongoose.model('BookingConfig', bookingConfigSchema);
45
+
46
46
  module.exports = BookingConfig;
@@ -1,123 +1,123 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for Booking Properties (listing configuration)
4
- const bookingPropertySchema = new mongoose.Schema({
5
- facilityId: {
6
- type: mongoose.Schema.Types.ObjectId,
7
- ref: 'Facility',
8
- required: true
9
- },
10
- unitId: {
11
- type: mongoose.Schema.Types.ObjectId,
12
- ref: 'Unit',
13
- required: true
14
- },
15
- managedByLandlord: {
16
- type: Boolean,
17
- default: false
18
- },
19
- division: {
20
- type: String,
21
- required: false
22
- },
23
- description: {
24
- type: String,
25
- required: false
26
- },
27
- amenities: [{
28
- type: String
29
- }],
30
- basePrice: {
31
- type: Number,
32
- required: function () {
33
- return !this.managedByLandlord;
34
- }
35
- },
36
- currencyId: {
37
- type: mongoose.Schema.Types.ObjectId,
38
- ref: 'Currency',
39
- required: function () {
40
- return !this.managedByLandlord;
41
- }
42
- },
43
- weekendPriceAdjustment: {
44
- type: Number,
45
- default: 0
46
- },
47
- minimumStay: {
48
- type: Number,
49
- default: 1
50
- },
51
- maximumStay: {
52
- type: Number,
53
- default: 30
54
- },
55
- advanceBookingDays: {
56
- type: Number,
57
- default: 0
58
- },
59
- cancellationPolicy: {
60
- type: String,
61
- enum: ['Flexible', 'Moderate', 'Strict'],
62
- default: 'Moderate'
63
- },
64
- isListed: {
65
- type: Boolean,
66
- default: false
67
- },
68
- commission: {
69
- type: Number,
70
- required: function () {
71
- return !this.managedByLandlord;
72
- },
73
- default: 10 // Default commission percentage
74
- },
75
- blockedDates: [{
76
- startDate: {
77
- type: Date,
78
- required: true
79
- },
80
- endDate: {
81
- type: Date,
82
- required: true
83
- },
84
- reason: {
85
- type: String,
86
- enum: ['Reservation', 'Renovation', 'Owner Use'],
87
- required: true
88
- },
89
- notes: {
90
- type: String
91
- }
92
- }],
93
- // For seasonal pricing or custom date ranges
94
- specialPricing: [{
95
- startDate: {
96
- type: Date,
97
- required: true
98
- },
99
- endDate: {
100
- type: Date,
101
- required: true
102
- },
103
- price: {
104
- type: Number,
105
- required: true
106
- },
107
- name: {
108
- type: String
109
- }
110
- }],
111
- status: {
112
- type: String,
113
- enum: ['Active', 'Inactive', 'Pending Approval'],
114
- default: 'Active'
115
- }
116
- }, {
117
- timestamps: true
118
- });
119
-
120
- // Create model from schema
121
- const BookingProperty = mongoose.model('BookingProperty', bookingPropertySchema);
122
-
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for Booking Properties (listing configuration)
4
+ const bookingPropertySchema = new mongoose.Schema({
5
+ facilityId: {
6
+ type: mongoose.Schema.Types.ObjectId,
7
+ ref: 'Facility',
8
+ required: true
9
+ },
10
+ unitId: {
11
+ type: mongoose.Schema.Types.ObjectId,
12
+ ref: 'Unit',
13
+ required: true
14
+ },
15
+ managedByLandlord: {
16
+ type: Boolean,
17
+ default: false
18
+ },
19
+ division: {
20
+ type: String,
21
+ required: false
22
+ },
23
+ description: {
24
+ type: String,
25
+ required: false
26
+ },
27
+ amenities: [{
28
+ type: String
29
+ }],
30
+ basePrice: {
31
+ type: Number,
32
+ required: function () {
33
+ return !this.managedByLandlord;
34
+ }
35
+ },
36
+ currencyId: {
37
+ type: mongoose.Schema.Types.ObjectId,
38
+ ref: 'Currency',
39
+ required: function () {
40
+ return !this.managedByLandlord;
41
+ }
42
+ },
43
+ weekendPriceAdjustment: {
44
+ type: Number,
45
+ default: 0
46
+ },
47
+ minimumStay: {
48
+ type: Number,
49
+ default: 1
50
+ },
51
+ maximumStay: {
52
+ type: Number,
53
+ default: 30
54
+ },
55
+ advanceBookingDays: {
56
+ type: Number,
57
+ default: 0
58
+ },
59
+ cancellationPolicy: {
60
+ type: String,
61
+ enum: ['Flexible', 'Moderate', 'Strict'],
62
+ default: 'Moderate'
63
+ },
64
+ isListed: {
65
+ type: Boolean,
66
+ default: false
67
+ },
68
+ commission: {
69
+ type: Number,
70
+ required: function () {
71
+ return !this.managedByLandlord;
72
+ },
73
+ default: 10 // Default commission percentage
74
+ },
75
+ blockedDates: [{
76
+ startDate: {
77
+ type: Date,
78
+ required: true
79
+ },
80
+ endDate: {
81
+ type: Date,
82
+ required: true
83
+ },
84
+ reason: {
85
+ type: String,
86
+ enum: ['Reservation', 'Renovation', 'Owner Use'],
87
+ required: true
88
+ },
89
+ notes: {
90
+ type: String
91
+ }
92
+ }],
93
+ // For seasonal pricing or custom date ranges
94
+ specialPricing: [{
95
+ startDate: {
96
+ type: Date,
97
+ required: true
98
+ },
99
+ endDate: {
100
+ type: Date,
101
+ required: true
102
+ },
103
+ price: {
104
+ type: Number,
105
+ required: true
106
+ },
107
+ name: {
108
+ type: String
109
+ }
110
+ }],
111
+ status: {
112
+ type: String,
113
+ enum: ['Active', 'Inactive', 'Pending Approval'],
114
+ default: 'Active'
115
+ }
116
+ }, {
117
+ timestamps: true
118
+ });
119
+
120
+ // Create model from schema
121
+ const BookingProperty = mongoose.model('BookingProperty', bookingPropertySchema);
122
+
123
123
  module.exports = BookingProperty;