payservedb 5.0.6 → 5.0.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 (103) hide show
  1. package/.env +2 -2
  2. package/index.js +172 -172
  3. package/package.json +17 -17
  4. package/src/models/account.js +35 -35
  5. package/src/models/analog_water_billing.js +58 -58
  6. package/src/models/apilog.js +18 -18
  7. package/src/models/approvalsWorkflows.js +49 -49
  8. package/src/models/archivedapilog.js +18 -18
  9. package/src/models/archivedauditlog.js +83 -83
  10. package/src/models/asset.js +34 -34
  11. package/src/models/auditlog.js +83 -83
  12. package/src/models/bankdetails.js +40 -40
  13. package/src/models/bookinganalytics.js +63 -63
  14. package/src/models/bookingconfig.js +45 -45
  15. package/src/models/bookingproperty.js +112 -112
  16. package/src/models/bookingreservation.js +192 -192
  17. package/src/models/bookingrevenuerecord.js +84 -84
  18. package/src/models/budget.js +33 -33
  19. package/src/models/budgetCategory.js +19 -19
  20. package/src/models/campaigns.js +72 -72
  21. package/src/models/cashpayment.js +262 -262
  22. package/src/models/combinedUnits.js +62 -62
  23. package/src/models/common_area_electricity.js +38 -38
  24. package/src/models/common_area_generator.js +38 -38
  25. package/src/models/common_area_utility_alert.js +37 -37
  26. package/src/models/common_area_water.js +39 -39
  27. package/src/models/company.js +53 -53
  28. package/src/models/country_tax.js +42 -42
  29. package/src/models/currency_settings.js +39 -39
  30. package/src/models/customer.js +200 -200
  31. package/src/models/default_payment_details.js +17 -17
  32. package/src/models/dutyroster.js +129 -129
  33. package/src/models/email.js +24 -24
  34. package/src/models/entry_exit.js +53 -53
  35. package/src/models/expense.js +55 -55
  36. package/src/models/facility.js +61 -61
  37. package/src/models/facility_payment_details.js +20 -20
  38. package/src/models/facilityasset.js +25 -25
  39. package/src/models/faq.js +18 -18
  40. package/src/models/gl_account_double_entries.js +25 -25
  41. package/src/models/gl_accounts.js +56 -56
  42. package/src/models/gl_entries.js +52 -49
  43. package/src/models/guard.js +47 -47
  44. package/src/models/handover.js +241 -241
  45. package/src/models/invoice.js +291 -291
  46. package/src/models/item_inspection.js +67 -67
  47. package/src/models/leaseagreement.js +169 -169
  48. package/src/models/leasetemplate.js +17 -17
  49. package/src/models/levy.js +84 -84
  50. package/src/models/levy_invoice_settings.js +26 -26
  51. package/src/models/levycontract.js +77 -77
  52. package/src/models/levytype.js +23 -23
  53. package/src/models/maintenance_service_vendor.js +38 -38
  54. package/src/models/maintenance_services.js +17 -17
  55. package/src/models/maintenancerequisition.js +31 -31
  56. package/src/models/message.js +38 -38
  57. package/src/models/module.js +21 -21
  58. package/src/models/notification.js +24 -24
  59. package/src/models/penalty.js +76 -76
  60. package/src/models/purchase_order.js +190 -190
  61. package/src/models/purchase_request.js +65 -65
  62. package/src/models/refresh_token.js +23 -23
  63. package/src/models/reminder.js +161 -161
  64. package/src/models/report.js +13 -13
  65. package/src/models/resident.js +121 -121
  66. package/src/models/rfq_details.js +87 -87
  67. package/src/models/rfq_response.js +109 -109
  68. package/src/models/service_charge_invoice_upload.js +42 -42
  69. package/src/models/service_charge_payments.js +27 -27
  70. package/src/models/servicerequest.js +55 -55
  71. package/src/models/settings.js +62 -62
  72. package/src/models/smart_meter_daily_consumption.js +44 -44
  73. package/src/models/sms_africastalking.js +20 -20
  74. package/src/models/sms_meliora.js +16 -16
  75. package/src/models/staff.js +36 -36
  76. package/src/models/stocksandspare.js +34 -34
  77. package/src/models/suppliers.js +68 -68
  78. package/src/models/tickets.js +109 -109
  79. package/src/models/unitasset.js +25 -25
  80. package/src/models/units.js +86 -86
  81. package/src/models/user.js +187 -187
  82. package/src/models/valueaddedservices.js +36 -36
  83. package/src/models/vas_invoices_upload.js +50 -50
  84. package/src/models/vas_payments.js +24 -24
  85. package/src/models/vasinvoice.js +159 -159
  86. package/src/models/vasvendor.js +57 -57
  87. package/src/models/visitLog.js +86 -86
  88. package/src/models/visitor.js +67 -63
  89. package/src/models/waitlist.js +45 -45
  90. package/src/models/water_invoice.js +192 -192
  91. package/src/models/water_meter_account.js +74 -74
  92. package/src/models/water_meter_communication.js +17 -17
  93. package/src/models/water_meter_concentrator.js +59 -59
  94. package/src/models/water_meter_daily_history.js +31 -31
  95. package/src/models/water_meter_iot_cards.js +34 -34
  96. package/src/models/water_meter_manufacturer.js +35 -35
  97. package/src/models/water_meter_monthly_history.js +37 -37
  98. package/src/models/water_meter_settings.js +88 -88
  99. package/src/models/water_meter_single_day_history.js +31 -31
  100. package/src/models/water_meter_size.js +15 -15
  101. package/src/models/water_meters.js +106 -106
  102. package/src/models/water_meters_delivery.js +76 -76
  103. 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;