full
This commit is contained in:
78
models/BookingModel.js
Normal file
78
models/BookingModel.js
Normal 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
|
||||
Reference in New Issue
Block a user