const mongoose = require('mongoose'); const orderSchema = new mongoose.Schema( { user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: [true, 'User is required'] }, items: [ { type: mongoose.Schema.Types.ObjectId, ref: 'OrderItem' } ], table: { type: mongoose.Schema.Types.ObjectId, ref: 'Table' }, status: { type: String, enum: ['pending', 'preparing', 'ready', 'served', 'completed', 'cancelled'], default: 'pending' }, totalAmount: { type: Number, required: [true, 'Total amount is required'], min: 0 }, paymentStatus: { type: String, enum: ['pending', 'completed', 'failed', 'refunded'], default: 'pending' }, paymentMethod: { type: String, enum: ['cash', 'card', 'mobile'], default: 'cash' }, specialInstructions: { type: String, trim: true }, isDelivery: { type: Boolean, default: false }, deliveryAddress: { type: String, trim: true } }, { timestamps: true } ); const Order = mongoose.model('Order', orderSchema); module.exports = Order;