appointment CRUD and specs