all of the schema is now pulled in from the models and isnt hardcoded

fixes SPOT-624
fixes SPOT-626

unit tests were provided, also.