Refactored appointment types to a clean inheritance tree
Usage fixes