{
{
id: { type: String, default: '' },
name: { type: String, default: '' },
jobnum: { type: String, default: '' },
hhid: { type: String, default: '' },
clientfirst: { type: String, default: '' },
clientlast: { type: String, default: '' },
...aaddress,
...acontact,
estimator: { type: String, default: '' },
techs: { type: Array, default: [] },
dept: { type: String, default: '' },
cat: { type: String, default: '' },
stage: { type: String, default: 'quote' },
status: { type: String, default: 'active' },
opendate: { type: Date, default: Date.now() },
lastdate: { type: Date, default: Date.now() },
solddate: { type: Date, default: '' },
scheddate: { type: Date, default: '' }, //get rid of eventually?
closedate: { type: Date, default: '' },
datelog: { type: Array, default: [] },
info: { type: Object, default: {} },
contracts:{type:Array, default:[]},
lead:{
type:Object,
default:{
apptdate:{type:Date,default:''},
prstdate:{type:Date,default:''},
time:{type:String,default:''},
carryover:{type:Boolean,default:false},
prstvia:{type:String,default:''},
rewards:{type:Boolean,default:false},
source:{type:String,default:''},
generator:{type:String,default:''},
paid:{type:Date,default:''}
}
},
trackid: { type: String, default: null },//holds doc id for tracking
refs:{type:Array, default:[]}, //remove?
wos:{type:Array, default:[]},
froot: { type: String, default: '' }
},
{
toJSON: { virtuals: true },
toObject: { virtuals: true }
}
}
{
{
projectId:{type:String,default:''}, //was ref
hhid:{type:String,default:''}, //new
dept:{type:String,default:''},
cat:{type:String,default:''},
type:{type:String,default:''},
bookprice:{type:Boolean,default:true},
amntTotal:{type:Number,default:0},
amntCust:{type:Number,default:0},
amntAmeren:{type:Number,default:0},
amntManf:{type:Number,default:0},
amntSpecial:{type:Number,default:0},
sold:{type:Date,default:''},
invoiced:{type:Date,default:''},
paid:{type:Date,default:''}
}
}
{
id: {type:String,default:''},
ref: {type:String,default:''},
name: {type:String,default:''},
custid: {type:String,default:''},
street: {type:String,default:''},
unit: {type:String,default:''},
city: {type:String,default:''},
state: {type:String,default:''},
zip: {type:String,default:''},
customer: custcore,
estimator: {type:String,default:''},
installers: {type:Array,default:[]},
dept: {type:String,default:''},
cat: {type:String,default:''},
stage: {type:String,default:'quote'},
status: {type:String,default:'active'},
sold: {type:Boolean,default:false},
opendate: {type:Date,default:Date.now()},
lastdate: {type:Date,default:Date.now()},
scheddate: {type:Date,default:''},
closedate: {type:Date,default:''},
datelog: {type:Array,default:[]},
info: {type:Object,default:{}},
trackid: {type:String,default:null},//holds doc ids for tracking
froot: {type:String,default:''}
}
{
id: { type: String, default: '' }, // unique, given to item being tracked
projectname: { type: String, default: '' },
ref: { type: Array, default: [] },
estimator: { type: String, default: '' },
cancelled: { type: Boolean, default: false },
carryover: { type: Boolean, default: false },
bids: { type: Array, default: [] }, // holds list of bid items
stage: { type: String, default: '' }, // quote || job || archived
status: { type: String, default: '' }, //
clientfirst: { type: String, default: '' }, // moved so this block is "Job Info" while above is "Contact Info"
clientlast: {type: String, default:''},
...aaddress,
...acontact,
datelog: {
type: Array, default: [{
date: Date.now,
msg: 'Track Created'
}]
},//date of
apptdate: { type: Date, default: '' }, // was date
solddate: { type: Date, default: '' }, // should be there
time: { type: String, default: '' },
source: { type: String, default: '' },
generator: { type: String, default: '' },
prstvia: { type: String, default: null },
prstdate: { type: Date, default: Date.now },
rewards: { type: Boolean, default: false },
amount: { type: Number, default: 0 } // how are we saving the breakdown now (Ameren, Manf, etc.)?
}
{
schema:{},
options:{strict:false}
}