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,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,113 +1,113 @@
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
- division: {
16
- type: String,
17
- required: false
18
- },
19
- description: {
20
- type: String,
21
- required: false
22
- },
23
- amenities: [{
24
- type: String
25
- }],
26
- basePrice: {
27
- type: Number,
28
- required: true
29
- },
30
- currencyId: {
31
- type: mongoose.Schema.Types.ObjectId,
32
- ref: 'Currency',
33
- required: true
34
- },
35
- weekendPriceAdjustment: {
36
- type: Number,
37
- default: 0
38
- },
39
- minimumStay: {
40
- type: Number,
41
- default: 1
42
- },
43
- maximumStay: {
44
- type: Number,
45
- default: 30
46
- },
47
- advanceBookingDays: {
48
- type: Number,
49
- default: 0
50
- },
51
- cancellationPolicy: {
52
- type: String,
53
- enum: ['Flexible', 'Moderate', 'Strict'],
54
- default: 'Moderate'
55
- },
56
- isListed: {
57
- type: Boolean,
58
- default: false
59
- },
60
- commission: {
61
- type: Number,
62
- required: true,
63
- default: 10 // Default commission percentage
64
- },
65
- blockedDates: [{
66
- startDate: {
67
- type: Date,
68
- required: true
69
- },
70
- endDate: {
71
- type: Date,
72
- required: true
73
- },
74
- reason: {
75
- type: String,
76
- enum: ['Reservation', 'Renovation', 'Owner Use'],
77
- required: true
78
- },
79
- notes: {
80
- type: String
81
- }
82
- }],
83
- // For seasonal pricing or custom date ranges
84
- specialPricing: [{
85
- startDate: {
86
- type: Date,
87
- required: true
88
- },
89
- endDate: {
90
- type: Date,
91
- required: true
92
- },
93
- price: {
94
- type: Number,
95
- required: true
96
- },
97
- name: {
98
- type: String
99
- }
100
- }],
101
- status: {
102
- type: String,
103
- enum: ['Active', 'Inactive', 'Pending Approval'],
104
- default: 'Active'
105
- }
106
- }, {
107
- timestamps: true
108
- });
109
-
110
- // Create model from schema
111
- const BookingProperty = mongoose.model('BookingProperty', bookingPropertySchema);
112
-
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
+ division: {
16
+ type: String,
17
+ required: false
18
+ },
19
+ description: {
20
+ type: String,
21
+ required: false
22
+ },
23
+ amenities: [{
24
+ type: String
25
+ }],
26
+ basePrice: {
27
+ type: Number,
28
+ required: true
29
+ },
30
+ currencyId: {
31
+ type: mongoose.Schema.Types.ObjectId,
32
+ ref: 'Currency',
33
+ required: true
34
+ },
35
+ weekendPriceAdjustment: {
36
+ type: Number,
37
+ default: 0
38
+ },
39
+ minimumStay: {
40
+ type: Number,
41
+ default: 1
42
+ },
43
+ maximumStay: {
44
+ type: Number,
45
+ default: 30
46
+ },
47
+ advanceBookingDays: {
48
+ type: Number,
49
+ default: 0
50
+ },
51
+ cancellationPolicy: {
52
+ type: String,
53
+ enum: ['Flexible', 'Moderate', 'Strict'],
54
+ default: 'Moderate'
55
+ },
56
+ isListed: {
57
+ type: Boolean,
58
+ default: false
59
+ },
60
+ commission: {
61
+ type: Number,
62
+ required: true,
63
+ default: 10 // Default commission percentage
64
+ },
65
+ blockedDates: [{
66
+ startDate: {
67
+ type: Date,
68
+ required: true
69
+ },
70
+ endDate: {
71
+ type: Date,
72
+ required: true
73
+ },
74
+ reason: {
75
+ type: String,
76
+ enum: ['Reservation', 'Renovation', 'Owner Use'],
77
+ required: true
78
+ },
79
+ notes: {
80
+ type: String
81
+ }
82
+ }],
83
+ // For seasonal pricing or custom date ranges
84
+ specialPricing: [{
85
+ startDate: {
86
+ type: Date,
87
+ required: true
88
+ },
89
+ endDate: {
90
+ type: Date,
91
+ required: true
92
+ },
93
+ price: {
94
+ type: Number,
95
+ required: true
96
+ },
97
+ name: {
98
+ type: String
99
+ }
100
+ }],
101
+ status: {
102
+ type: String,
103
+ enum: ['Active', 'Inactive', 'Pending Approval'],
104
+ default: 'Active'
105
+ }
106
+ }, {
107
+ timestamps: true
108
+ });
109
+
110
+ // Create model from schema
111
+ const BookingProperty = mongoose.model('BookingProperty', bookingPropertySchema);
112
+
113
113
  module.exports = BookingProperty;