1. A method of reminding a user of an appointment, the method executing on a processor on a computing device, comprising: determining, by the processor, a location associated with the user; determining, by the processor, a location associated with the appointment; determining, by the processor, a travel time between the locations associated with the user and appointment; determining, by the processor, a first reminder time based at least in part on the travel time; working hours of the user; and an appointment time of the appointment; in response to determining, by the processor, that the appointment time is outside of the user's working hours, automatically determining a second reminder time that is an additional reminder to the first reminder; wherein the second reminder time is not automatically determined when the appointment time is within the user's working hours; and issuing, by the processor, a first reminder to the user at the first reminder time and issuing a second reminder at the second reminder time.