Add ScheduleUdate

`cal` is a bad shortname, can we move the instance var assignment into `cal_min_id` method and also rename `cal_min_id` to `find_min_id`?