There's a todo app I'm working on that is meant to mirror the status of an existing kanban board using the api integration from kanboard. (So you can self host it all). Kanboard acts as the project flow, and the ios app sync adds ios 'tasks' and calendar sync. I thought it would be easier than it is to finish. A Kanboard based life is a pretty good one though.
Changing a time and reordering the list are separate operations, so the untimed tasks would stay put (assuming that by "move an appointment" you mean changing its time)