appointment validations and specs