aboutsummaryrefslogtreecommitdiffstats
path: root/backend/src/models/Reservation.js
diff options
context:
space:
mode:
authorLibravatarLibravatar Biswa Kalyan Bhuyan <[email protected]> 2025-04-29 10:47:43 +0530
committerLibravatarLibravatar Biswa Kalyan Bhuyan <[email protected]> 2025-04-29 10:47:43 +0530
commita2e0a65b2599267efe94d665d6305f59b225bbd5 (patch)
treee2cef2031e3f7655e0c5f419020a3f1064c3b7b8 /backend/src/models/Reservation.js
parent570bf0f3f065d583d6f94ecfc61aae93ba3e43de (diff)
downloadrestaurant-master.tar.gz
restaurant-master.tar.bz2
restaurant-master.zip
feat: added initlaized the frontend and backendHEADmaster
Diffstat (limited to 'backend/src/models/Reservation.js')
-rw-r--r--backend/src/models/Reservation.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/backend/src/models/Reservation.js b/backend/src/models/Reservation.js
new file mode 100644
index 0000000..8ddba54
--- /dev/null
+++ b/backend/src/models/Reservation.js
@@ -0,0 +1,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; \ No newline at end of file