WEB-2930: Made type a mandatory property

Hey @kevinhodges & @hpoom I've made the required changes for WEB-2930. Can I get a code review please.
Pretty much exactly what I had but i made line 229 an "else if" as there's no need to continue checking if it fails that