1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
const mongoose = require('mongoose');
const reservationSchema = new mongoose.Schema(
{
user: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: [true, 'User is required']
},
table: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Table',
required: [true, 'Table is required']
},
date: {
type: Date,
required: [true, 'Reservation date is required']
},
startTime: {
type: String,
required: [true, 'Start time is required']
},
endTime: {
type: String,
required: [true, 'End time is required']
},
numberOfGuests: {
type: Number,
required: [true, 'Number of guests is required'],
min: 1
},
status: {
type: String,
enum: ['pending', 'confirmed', 'cancelled', 'completed'],
default: 'pending'
},
specialRequests: {
type: String,
trim: true
},
occasion: {
type: String,
enum: ['regular', 'birthday', 'anniversary', 'business', 'other'],
default: 'regular'
}
},
{
timestamps: true
}
);
const Reservation = mongoose.model('Reservation', reservationSchema);
module.exports = Reservation;
|