CONTRIB-1761 Allow booking of multiple appointments

Merging changes by carleton (with some modifications)
Note: This is not yet functional - work in progress