 
 c.extendNamedProperties UserSchema  # let's have the name be the first property
 
+#Put the various filters in variables for reusability
+phoneScreenFilter =
+  title: 'Phone screened'
+  type: 'boolean'
+  description: 'Whether the candidate has been phone screened.'
+schoolFilter = 
+  title: 'School'
+  type: 'string'
+  enum: ['Top School', 'Other']
+locationFilter = 
+  title: 'Location'
+  type: 'string'
+  enum: ['Bay Area', 'New York', 'Other US', 'International']
+roleFilter = 
+  title: 'Role'
+  type: 'string'
+  enum: ['Web Developer', 'Software Developer', 'Mobile Developer']
+seniorityFilter = 
+  title: 'Seniority'
+  type: 'string'
+  enum: ['College Student', 'Recent Grad', 'Junior', 'Senior']
+visa = c.shortString
+  title: 'US Work Status'
+  description: 'Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)'
+  enum: ['Authorized to work in the US', 'Need visa sponsorship']
+  default: 'Authorized to work in the US'
+  
 _.extend UserSchema.properties,
   email: c.shortString({title: 'Email', format: 'email'})
   firstName: c.shortString({title: 'First Name'})

      workHistory: c.array {title: 'Work history', description: 'One or two places the candidate has worked', type: 'array'},
        title: 'Workplace'
        type: 'string'
      phoneScreenFilter:
        title: 'Phone screened'
        type: 'boolean'
        description: 'Whether the candidate has been phone screened.'
      schoolFilter:
        title: 'School'
        type: 'string'
        enum: ['Top School', 'Other']
      locationFilter:
        title: 'Location'
        type: 'string'
        enum: ['Bay Area', 'New York', 'Other US', 'International']
      roleFilter:
        title: 'Role'
        type: 'string'
        enum: ['Web Developer', 'Software Developer', 'Mobile Developer']
      seniorityFilter:
        title: 'Seniority'
        type: 'string'
        enum: ['College Student', 'Recent Grad', 'Junior', 'Senior']
      featured:
        title: 'Featured'
        type: 'boolean'

    linkedinID: c.shortString {title: 'LinkedInID', description: 'The user\'s LinkedIn ID when they signed the contract.'}
    date: c.date {title: 'Date signed employer agreement'}
    data: c.object {description: 'Cached LinkedIn data slurped from profile.', additionalProperties: true}
  savedEmployerFilterAlerts: c.array {
    title: 'Saved Employer Filter Alerts'
    description: 'Employers can get emailed alerts whenever there are new candidates matching their filters'
  }, c.object({
    title: 'Saved filter set'
    description: 'A saved filter set'
    required: ['phoneScreenFilter','schoolFilter','locationFilter','roleFilter','seniorityFilter','visa','filterActive']
  }, {
    phoneScreenFilter: phoneScreenFilter
    schoolFilter: schoolFilter
    locationFilter: locationFilter
    roleFilter: roleFilter
    seniorityFilter: seniorityFilter
    visa: visa
    filterActive: 
      title: 'Filter active'
      description: 'Whether or not an employer will receive emails based on this filter'
      type: 'boolean'
      default: false
  })
    
  points: {type: 'number'}
  activity: {type: 'object', description: 'Summary statistics about user activity', additionalProperties: c.activity}

