Order Schema

order.js


 const orderSchema = new Schema({
  _id: Schema.Types.ObjectId,
  cusId: { type: Schema.Types.ObjectId, ref: 'User', default: null },
  resId: { type: Schema.Types.ObjectId, ref: 'Restaurants', default: null },
  driverId: { type: Schema.Types.ObjectId, ref: 'User', default: null },
  foods: { type: Array, default: [] },
  status: {
    type: String,
    enum: ['Pending', 'Processing', 'Received', 'Rejected', 'Started', 'Picked', 'Delivered', 'Cancelled', 'Failed', 'Arrived', 'Accepted'],
    default: 'Pending'
  },
  deliveryGpsLoc: { type: [Number], index: '2d' },
  deliveryAddress: { type: String, default: null },
  resLoc: { type: [Number], index: '2d' },
  deliveryRating: {
    type: Number,
    default: 0
  },
  resName: { type: String, default: null },
  resAddress: { type: String, default: null },
  resPhoto: { type: String, default: null },
  paymentMethodType: { type: String, enum: ['Card', 'Cash'], default: 'Cash' },
  paymentAmount: { type: Number, default: null },
  paymentStatus: { type: String, enum: ['Success', 'Failed', 'Processing'], default: 'Processing' },
  driverGpsLoc: { type: [Number], index: '2d' },
  driverName: { type: String, default: null },
  driverMobileNo: { type: Number, default: 0 },
  driverPic: { type: String, default: null },
  srtipeChargeId: { type: String, default: null },
  refundStatus: { type: Boolean, default: false }
}, {
  timestamps: true
});

results matching ""

    No results matching ""