scheduling app based around preferences and availability