...
- Input destinations
- Goal: Allow the user to input destinations to visit
- Preconditions:
- Determined locations to visit
- Pre-loaded constraint information about destination like hours of operations, lunch break, expected time for visit
- Subtasks:
- Auto-complete/correct destination names
- Add/edit constraints for destinations
- Goal: Modify constraints for destinations such as:
- best time to visit
- appointment times
- known duration of visit
- "visit this destination first" and other similar constraints
- Preconditions:
- Know what time appointments are scheduled for
- Have an estimate of the amount of time that needs to be spent at each destination
- Subtasks:
- Add “global constraints” such as:
- Between what times these destinations need to be visited
- Partial orderings of destinations ("I want to visit the post office right after I buy stamps at the paper store")
- What type of transportation (car, public transit, walking) is preferred
- Add “global constraints” such as:
- Goal: Modify constraints for destinations such as:
- Auto-generate schedule
- Goal: Using the destinations and constraints inputted by the user, create a schedule to visit all the destinations that meets all the constraints
- Preconditions:
- All those listed under the "Input destinations" task
- Subtasks:
- Display the generated schedule both overlayed on a map on and a timeline
- Display the optimal path between locations on a map
- Show the user the delta between the auto-generated schedule and any partial schedule that the user had previously worked out, so that the user can choose to accept or decline some or all of the changes
- View and Adjust schedule
- Goal: change Change and tweak any part of the schedule including the order the
- Order of destinations
- Duration of visit
- Path to take between destinations
- New constraints for one or more destinations
- Preconditions:
- Goal: change Change and tweak any part of the schedule including the order the
- #* Preconditions:
- At least one destination must already be in the system, inputted by either the user or through a generated schedule.
- *Once a schedule has been auto-generated, the user should will still be able to make changes to it
- Subtasks:
- Edit destinations and paths from place to place
- Incremental schedule rollback & history
- Goal: Allow the user to undo changes made to a schedule, or revert changes made through generating a schedule
- Preconditions:
- At least one action must be taken towards creating or refining a schedule
- Subtasks:
- Create a language to describe changes made to a schedule, so that all schedule revisions are labeled in a readable way (such as "Moved groceries to the first stop")
- #*