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;