This commit is contained in:
payacom
2026-08-31 20:45:41 +03:30
parent fa9f23c61d
commit 3f416a7a60
367 changed files with 621895 additions and 6443 deletions

78
models/BookingModel.js Normal file
View File

@@ -0,0 +1,78 @@
const mongoose = require('mongoose')
const mongoosePaginate = require('mongoose-paginate-v2')
const timestamp = require('mongoose-timestamp')
const bookingSchema = new mongoose.Schema({
bookingConfig: {
type: mongoose.Schema.Types.ObjectId,
ref: 'BookingConfig',
required: true,
index: true
},
provider: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true,
index: true
},
buyer: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true,
index: true
},
serviceId: {
type: String,
required: true
},
serviceTitle: {
type: String,
required: true,
trim: true
},
servicePrice: {
type: Number,
required: true
},
date: {
type: Date,
required: true,
index: true
},
startTime: {
type: String,
required: true
},
endTime: {
type: String,
required: true
},
depositRequired: {
type: Boolean,
default: false
},
depositAmount: {
type: Number,
default: 0
},
depositPaid: {
type: Boolean,
default: false
},
paymentAuthority: {
type: String,
default: null
},
status: {
type: String,
enum: ['pending_payment', 'confirmed', 'cancelled'],
default: 'pending_payment',
index: true
}
})
bookingSchema.plugin(timestamp)
bookingSchema.plugin(mongoosePaginate)
const BookingModel = mongoose.model('Booking', bookingSchema)
module.exports = BookingModel