[go: up one dir, main page]

WO2008083273A9 - Accounting for travel time between geographic locations of appointments - Google Patents

Accounting for travel time between geographic locations of appointments

Info

Publication number
WO2008083273A9
WO2008083273A9 PCT/US2007/089039 US2007089039W WO2008083273A9 WO 2008083273 A9 WO2008083273 A9 WO 2008083273A9 US 2007089039 W US2007089039 W US 2007089039W WO 2008083273 A9 WO2008083273 A9 WO 2008083273A9
Authority
WO
WIPO (PCT)
Prior art keywords
appointment
time
travel
entry
travel time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2007/089039
Other languages
French (fr)
Other versions
WO2008083273A2 (en
WO2008083273A3 (en
Inventor
Stephen J Coughlin
Adrienne C Meisels
Steven E Greenberg
W Karl Renner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/618,069 external-priority patent/US7941753B2/en
Application filed by Individual filed Critical Individual
Priority to EP07866078A priority Critical patent/EP2118734A4/en
Priority to CA002674031A priority patent/CA2674031A1/en
Publication of WO2008083273A2 publication Critical patent/WO2008083273A2/en
Publication of WO2008083273A9 publication Critical patent/WO2008083273A9/en
Publication of WO2008083273A3 publication Critical patent/WO2008083273A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3438Rendezvous; Ride sharing

Definitions

  • This disclosure relates to meeting notification and modification service.
  • a user may populate an electronic calendar with appointmeri :s that take place at different locations.
  • the electronic calendar may be, for example, a Microsoft Outlook calendar, and may be manually programmed to include a date and time of appointments and locations associated with the appointments.
  • travel time between appointments is identified and a time block on a calendar application is reserved to account for such travel time.
  • a first appointment in a calendar application is identified, and a geographic location of the fi 1rst appointment is identified.
  • a second appointment that occurs later in time than the fc rst appointment in the calendar application is identified, and a geographic location of th e second appointment to the geographic location of the second appointment s identified, and a travel time associated with the route is identified.
  • An amount of u scheduled time between the first appointment and the second appointment is deter lined, and it is determined whether the amount of unscheduled time exceeds the travel time. If it is determined that the amount of unscheduled time exceeds the travel time, a time block is reserved on the calendar application to account for the travel time.
  • Implementations may include one or more of the following features. For example, an ending time of the first appointment may be identified, a starting time of the second appointment may be identified, and the ending time of the first app intment may be subtracted from the starting time of the second appointment. In some implementations, it may be determined whether the amount of unscheduled time exce Is the travel time by more than a threshold amount. If it is determined that unscheduled time exceeds the travel time by more than the threshold amount, a message may be rovided that informs a user of the unscheduled time.
  • a reminder for the second appointment may be automatically set without user input.
  • the reminder may be set for a specified time that precedes tie starting time of the second appointment time by at least the travel time to the second appointment.
  • a notification window may be displayed at the specified time that precedes the starting time of the second appointment time by at least the travel time to the second appointment.
  • the notification window may be structured and arranged to remind the user about the second appointment. hi some examples, it may be determined whether the travel time exceeds the amount of unscheduled time, and, if it is determined that travel tim exceeds the amount of unscheduled time, an alert message may be provided to inform the user that, based on the current scheduling of the first and second appointments, the us would not have enough time to arrive at the second appointment location.
  • one or more suggestions may be provided to enable the user to respond to the a ;rt message.
  • the one or more suggestions may include a suggestion for at least one of: ( ) leave the first appointment sooner than the scheduled ending time of the first app )intment, (2) cancel, one or both of the first or second appointments, (3) reschedule the l:irst or second appointment, and (4) notify the other attendees of the second appoi Ltment, or another designee, that the user will arrive late.
  • people attending the second appointment may be identified, and time availability of the people attending the second appointment may be identified.
  • the calendar application may be accessed via a navigation application in response to activation of a transferring cc titrol tool that appears within an interface of the navigation application, and the first appo ntment and the second appointment may be identified in the calendar application.
  • the transferring control tool may be configured to import time and geographic information of the first and second appointments to the navigation application.
  • Tl e transferring control may be further configured to cause the navigation application to i ⁇ ;ntify the route and the travel time associated with the route, calculate the remaining time between the ending time of the first appointment and the starting time of the second appointment, determine whether the remaining time exceeds the travel time, and instruct th i; calendar application to place the hold between the first appointment and the second appointment to account for the travel time if it is determined the remaining time exceeds the t ⁇ ivel time.
  • the calendar application may be accessed via a client device, and the first appointment and the second appointment may be identified in the calendar application.
  • the client device may interface between the calendar application and a navigation application.
  • the calendar application may be accessed in response to activation of a transferring control tool within the clien : device, and the ending time and the geographic location of the first appointment and the starting time and the geographic location of the second appointment maybe cornmuiicated to the navigation application in response to the activation of the transferri tig control.
  • the current location of a user may be monitored, and a change in the current location of the user may be identified.
  • the route extending from the geographic location of the first appointment to the geographic location of the second ap pointment may be referenced and it may be determined whether the current location c f the user exceeds a threshold amount from the route. If it is determined that the current location of the user exceeds the threshold amount from the route, the user may be provided with direction to the second appointment from the current location of the user.
  • a first appointment in a calendar applicat: on is identified, a geographic location of the first appointment is identified, and a tim 2 of the first appointment is identified.
  • a request to schedule a second appointment at a requested time is received from a user, and a geographic location of the secoi d appointment is identified.
  • Implementations may include one or more of the following features. For example, conditioned on determining that the updated travel time is more th; ⁇ n the threshold greater than the time required by the travel time entry, one or more alternative routes of travel to the geographic location of the appointment scheduled in the calendar application associated with the user may be identified, and one or more a ; lternai ive travel times associated with each of the identified one or more alternative routed of travel may be determined. It may be determined whether at least one of the one G r more alternative travel times is less than the updated travel time.
  • the travel time entry may corresp and to an estimated travel time needed for the user to, using the route of travel, travel fj om a first geographic location of a first appointment to a second geographic location of a second appointment, hi these implementations, conditioned on determining that the upd ted travel time is more than the threshold greater than the time required by the travel time intry, a time between an ending time of the first appointment and a starting time of the se cond appointment may be determined, and the updated travel time may be compared with he time between the ending time of the first appointment and the starting time of the sec ond appointment.
  • the updated travel time is greater than the time between the ending time of the first appointm s;nt and the starting time of the second appointment.
  • the user may be alerted that at leas one of the first appointment and the second appointment needs to be modified to account for the updated travel time.
  • the travel time entry may be updated to correspond to the updated travel time; and the user may be alerted of the updated travel time mtry.
  • the user may be alerted that the user needs to leave the f ⁇ rc t geographic location of the first appointment earlier than previously scheduled. Conditi ined on determining that the updated travel time is greater than the time between the endiinng time of the first appointment and the starting time of the second appointment, attendees of the second appointment, or another designee, may be alerted that the user ma] arrive late to the second appointment.
  • one or more alternative routes of travel from the first geographic location of the first appointment to the second geographic location of the second appointment may be identified, and one or r iore alternative travel times associated with each of the identified one or more alternative routes of travel may be determined. It may be determined whether at least one of the o: e or more alternative travel times is less than the updated travel time.
  • one of the one or more alternative routes of travel for which the one or m i ⁇ o rree alternative travel times is lowest may be selected, and the time between the ending e of the first appointment and the starting time of the second appointment may e compared with the alternative travel time associated with the selected alternative rout ⁇ of travel. Based on comparison results, it may be determined whether the time betwee: i the ending time of the first appointment and the starting time of the second appointment ; greater than the alternative travel time associated with the selected alternative route of travel.
  • the travel time entry may be updated to correspond to the alternative travel ti ne associated with the selected alternative route of travel, and alerting the user may be alerted of the updated travel time entry and the selected alternative route of travel.
  • Alerting the user that at least one of the first appointment amd the second appointment needs to be modified to account for the updated trave time also may be conditioned on determining that the time between the ending time f the first appointment and the starting time of the second appointment is not greater than he alternative travel time associated with the selected alternative route of travel, and updating the travel time entry to correspond to the updated travel time and alerting the user of the updated travel time entry also may be conditioned on determining that at least on ⁇ : of the one or more alternative travel times is not less than the updated travel time.
  • a travel time entry in a calendar associa ed with a user is automatically modified in response to cancellation of a corresponding appointment entry in the calendar associated with the user.
  • Cancellation of an appoi ⁇ ment entry in a calendar associated with a user is detecting, and, in response to det :cting cancellation of the appointment entry in the calendar associated with the user, it is determined whether the appointment entry is related to a travel time entry in the calend ir associated with the user.
  • the travel time entry related to the appointment entry is identified, and the travel time entry is modified to account for cancellation of the appointment entry.
  • Implementations may include one or more of the following features.
  • the user may be informed of the modification of the travel time ent y as a consequence of the cancellation of the appointment entry. It may be determined th it the travel time entry is near a beginning or an end of a calendar day, and one or more default travel locations corresponding to typical travel by the user at the beginning or the end of the calendar day may be identified. The travel time entry and the identified one or i iore default travel locations may be identified, and the travel time entry may be modi (led to account for cancellation of the appointment entry based on the analysis.
  • one or more calendar entries sch duled prior or subsequent to the travel time entry may be identified, and the trav time entry and the identified one or more calendar entries scheduled prior or subsequent to the travel time entry may be analyzed.
  • the travel time entry may be modified to ccount for cancellation of the appointment entry based on the analysis.
  • the appointment entry may be a first appointment entry, and a second ppointment entry scheduled immediately prior to the travel time entry may be identii ed. It may be determined that, after cancellation of the first appointment entry, m calendar entries are scheduled more than a threshold amount of time subsequent to the ravel time entry.
  • the travel time entry may be cancelled, and the user may be informed c f the cancellation of the travel time entry.
  • the appointment entry may be a first appointment entry, and a second appointment entry scheduled immediately subsequent to th travel time entry may and a starting time of the third appointment may be determined, and the first travel time may be compared with the time between the ending time of the sedond appointment and the starting time of the third appointment. Based on comparison re suits, it may be determined whether the first travel time is greater than the time be ween the ending time of the second appointment and the starting time of the third appointment.
  • the request to schedule the first appointment may be granted, and a travel time ei try corresponding to the first travel time associated with traveling from the first geographic location to the third geographic location may be added in the calendar associated vith the user.
  • the user may be alerted that insufficient travel time exists for scheduli: g the first appointment at the first time.
  • the user may be able to set a default parameter that indicates whether or not the user wishes to allow travel time to be scheduled during telephone or video conference call appointments.
  • the user may be asked whetr er the user wishes to allow travel time to be scheduled during the second appointment, i nd an answer may be received from the user indicating whether the user wishes to allow travel time to be scheduled during the second appointment.
  • unscheduled time between two appointm :nt entries in a calendar other than travel time is identified and options are present 3d to a user for using the unscheduled time.
  • At least one of a first appointment entry in calendar associated with a user and a second appointment entry in the calendar associa ed with the user is identified.
  • the first appointment entry is associated with a first ge graphic location
  • the second appointment entry is associated with a second geographic 1 >cation that is different than the first geographic location
  • a starting time of the secon appointment entry is subsequent to an ending time of the first appointment entry.
  • a tra el time entry corresponding to a travel time between the first geographic location associated with the first appointment entry and the second geographic location associated with the second appointment entry is identified, and it is determined whether a time between the ending time of the first appointment entry and the starting time of the secc Ld appointment entry is more than a threshold greater than time required by the travel tin e entry.
  • Implementations may include one or more of the following features.
  • the first appointment entry in the calendar associated with the user and the second appointment entry in the calendar associated with the user may be dentified.
  • the ending time of the first appointment entry maybe determined, the starting time of the second appointment entry may be determined, and the time between the ei ding time of the first appointment entry and the starting time of the second appointment entry may be computed.
  • the time between the ending time of the first appointm ent entry and the starting time of the second appointment entry with the time require i by the travel time entry may be compared.
  • the time between the ending time of the first appointment entry and the starting time of the second appointment entry is more than the threshold greater than t e time required by the travel time entry.
  • information related to one or more opti ⁇ s available for using unscheduled time may be accessed, and a time associated with eac ofthe one or more options may be determined based on the accessed information rela ed to the one or more options available for using unscheduled time.
  • the determined tim associated with each of the one or more options may be compared with the identified un scheduled time, and, based on comparison results, options for which the determined tim : is less than or equal to the identified unscheduled time may be identified.
  • information related to interests of the user may be accessed and one or more op ions may be selected from among the identified options for which the determined time is less than or equal to the identified unscheduled time based on the information related to the interests of the user.
  • an option to spend more time at the first geographic 1 cation subsequent to the first appointment may be identified, an option to spend more tii ie at the second geographic location prior to the second appointment may be identified , and/or an option to visit a point of interest located proximate to the first geographic ocation may be identified.
  • an option to visit a point of interest located )roximate to the second geographic location may be identified, an option to visit a p )int of interest located along a route between the first geographic location and the second geographic location may be identified, and an option to reschedule at least one of the first and second appointments to minimize the identified unscheduled time may be dentified.
  • time associated with modality-specific i icidentals to travel is included in determining a travel time for scheduling calendar appo ntments.
  • a first appointment associated with a calendar of a user is identified, and ; . second appointment associated with the calendar of the user is identified.
  • the first app ⁇ intment corresponds to a first geographic location
  • the second appointment corresponds to a second geographic location that is different than the first geographic location >n.
  • a route between the first geographic location and the second geographic location is dentified, and a modality of travel for traveling the route between the first geograp ic location and the second geographic location is determined.
  • a modality-based trave time associated with traveling the route between the first geographic location and the se ;ond geographic location using the determined modality of travel is determined, anc at least one incidental travel time associated with traveling the route between the first gee graphic location and the second geographic location using the determined modality of ti ivel is determined.
  • a total travel time for traveling the route between the first geographic location and the second geographic location is determined based on the determined nodality-based travel time and the determined at least one incidental travel time, and scheduling of the first appointment and the second appointment is handled based on the determined total travel time.
  • Implementations may include one or more of the following features.
  • An automobile may be determined as the modality of travel for travelir g the route between the first geographic location and the second geographic location, ai:.d a mapping device may be used to determine an automobile travel time associated witi traveling the route between the first geographic location and the second geographic Io ation using the automobile.
  • a walking travel time associated with walking from a building to the automobile prior or subsequent to traveling the route between the first geographic location and the second geographic location using the automobile may be determined, and the walking travel time may be added to the automobile travel time
  • an airplane may be determined as the modality of travel for traveling the route between the first geographic location and the second geographic location, and an air travel time associated with traveling the route h rtween the first geographic location and the second geographic location using the airplane may be determined.
  • a security travel time associated with going through se ⁇ cunty prior to boarding the airplane may be determined, and the security travel ti ⁇ m: ⁇ e may be added to the air travel time.
  • electronic data associated with the first ppointment may be accessed, electronic data associated with the second appointment may be accessed, and information associated with a distance between the first geography location and the second geographic location may be accessed.
  • the electronic data issociated with the first appointment, the electronic data associated with the second appoin
  • At least one of content associated with the first appointment and a geographic location field associated with the first appointment may be accessed, and a driving map associated with traveling between the first geographic location and the second geographic location may be accessed.
  • the driving map may account for potential driving routes between the first geographic location and the second geographic location.
  • a walking map associated with traveling between the first geographic location and the second geographic location may be accessed.
  • the walking map may account for potential walking routes between the first geographic location and the second geographic location.
  • the user may be able to select the modality of travel for traveling the route between the first geographic location and the second geographic location, m addition, multiple, different modalities of travel for traveling the route between the first geographic location and the second geographic location may be determined, arid a modality-based travel time associated with traveling the route between the first gee graphic location and the second geographic location using the determined multiple, different modalities of travel may be determined. At least one incidental travel time associated with transitioning from a first modality of travel to a second modality oJ travel may be determined.
  • an appointment in a calendar application is ic entified, and a geographic location of the appointment is identified.
  • An appointm ;nt time at which the appointment is due to start and a current time are identified, and an amount of time remaining between the current time and the appointment time at wl ich the appointment is due to start is identified.
  • At least a first participant of the appointn ;nt is identified, and a geographic location of the first participant of the appointment is id mtified at the current time.
  • a route extending from the geographic location of the first p aticipant to the geographic location of the appointment is identified, a travel time i isociated with the route is identified, and it is determined whether the travel time exc ;eds the amount of time remaining until the appointment time. If it is determined that he travel time exceeds the amount of time remaining, a communication is sent.
  • Implementations may include one or more of the following features.
  • the travel time may be identified based on a current road condition or traffic flow, or the travel time may be identified based on a historic traffic flow.
  • a mi dality of travel of the first participant to the geographic location of the appointment may >e identified, and, based on the modality of travel, the travel time associated with the oute may be identified.
  • a time threshold at which travel could be completed b y adding the travel time to the current time may be identified, and a later time to schec lie the appointment may be determined based on the time threshold.
  • the later time may be the same as or later than the time threshold.
  • the appointment time may be postpo aed to the later time to thereby enable the first participant to arrive at the geographic locat: on of the appointment.
  • updated appointment in ormation may be sent to at least one participant of the appointment or another designee.
  • the first participant may be alerte 1 that the first participant will be late to the appointment, and/or a second particip mt, other than the first participant, may be alerted that the first participant will be late to tl appointment.
  • the second participant may be informed of ie geographic location of the first participant and the travel time of the first participant to ie geographic location of the appointment, and the second participant may be informed th ⁇ t the appointment is being changed to account for the travel time.
  • the calendar application of the first and s ;cond participants may be accessed, and time availability of the first and second parti( ipants may be identified.
  • a mutually convenient time for the fi st and second participants to participate in a rescheduled version of the appointm nt may be determined based on the time availability of the first and second participants, a id the appointment may be automatically rescheduled at the mutually convenient time or the first and second participants.
  • travel time may be accoui ted for in each of the first and second participants' schedules, and the mutually convenie it time may be selected from among multiple mutually convenient times based on, among other factors, temporal proximity to geographic locations associated with adjacei t appointments in one or both of the first and second participants' calendars.
  • one or more suggestions may be provided to the first articipant to respond to the alert message.
  • the one or more suggestions may include a s ggestion to change the modality of travel used to compute the travel time associated w th the route, and/or a suggestion to send a message to the second participant informing tl ) second participant of an estimated arrival time.
  • Telephone contact information may b accessed for the second participant, and a suggestion may be provided to the first p; ticipant to call the second participant.
  • the suggestion may include a telephone numbs r for the second participant determined based on the accessed telephone contact infi rmation for the second participant.
  • a current geographic location of the first participant may be identified.
  • the current geographi location of the first participant may be identified based on a location-based technology utilized by a client device of the first participant.
  • the client device may utilize a glob positioning system.
  • a notification window may be displayed at a specified time that precedes the appointment time by at least the travel time to the geographic locat Dn of the appointment if it is determined that the travel time does not exceed the amount o time remaining until the appointment time.
  • appointment information within a calend; r application is dynamically updated.
  • An appointment within a calendar applicatio i is identified, and appointment times at which the appointment is due to start and due ;o end are identified. It is identified that the appointment has been delayed for a certain a nount of time, and at least one remaining appointment within the calendar application is dentified.
  • a need to reschedule at least one remaining appointment is determined based >n the certain amount of time that the appointment has been delayed, it is confirmed with it least one participant of the appointment that the remaining appointment should be reschi duled.
  • the remaining appointment is dynamically rescheduled within the calendar applies tion such that a starting time of the remaining appointment is postponed by the cert iin amount of time.
  • Implementations may include one or more of the following features. For instance, participants of the remaining appointment maybe informed of the i scheduling of the remaining appointment. Availability of participants of the appointi ient at the postponed starting time may be confirmed, and the participants of the appoint nent may be notified when conflicts with the postponed starting time exist. hi a further aspect, travel conditions are monitored and chaj ges to travel conditions associated with one or more participants traveling to an ⁇ pointment are dynamically processed. An amount of time remaining until an app ⁇ ntment time at which an appointment is due to start is identified, and a travel time corres > ⁇ onding to a route of travel associated with one or more participants traveling to the app intment is identified.
  • an up dated travel time corresponding to the route of travel associated with the one or mon participants traveling to the appointment is determined. Based on the updated amount of time remaining until the appointment time and the updated travel time corresponding to I he route of travel, it is determined that the one or more participants traveling to the appoir :ment are estimated to arrive at the appointment late based on the changed travel conditions. In response to determining that the one or more participants traveling to the appointment are estimated to arrive at the appointment late based on the changed travel conditions, a communication is sent.
  • Implementations may include one or more of the following features.
  • one or more alternative routes may be identified for the one or mor: participants traveling to the appointment, one or more alternative travel times associated vith each of the identified one or more alternative routes of travel may be determined, and it may be determined whether at least one of the one or more alternative trave times is less than the updated travel time.
  • at least ne of the one or more alternative routes of travel for which the one or more alternative tra el times is lowest is selected, and the one or more participants are alerted about the selected at least one of the one or more alternative routes of travel.
  • the one or more participants are alerted about current travel conditions and an informed that the route of travel remains most efficient.
  • an alert message may be sent to at least me of the participants of the appointment.
  • the alert message may indicate that the one or more participants traveling to the appointment are estimated to arrive at the appointrr ent late based on the changed travel conditions.
  • the appointment may be dynamic illy rescheduled based on the updated travel time, and the participants of the appointment nay be notified that the appointment has been dynamically rescheduled.
  • One or more s ⁇ bsequent appointments in a calendar of at least one of the participants of the appointment may be identified, and the one or more subsequent appointments may be d] namically rescheduled based on the dynamically rescheduled appointment.
  • a participant is assisted with a calendar appointment when the participant diverges from a suggested route for traveling to the alendar appointment.
  • a current geographic location of a participant traveling to an appointment scheduled in a calendar application used by the participant is determined, and info mation indicative of the suggested route of travel is accessed.
  • the geographic location f the participant is compared to one or more geographic locations associated with the i oute of travel suggested for the participant, and, based on comparison results, it i determined whether the current geographic location of the participant traveling to the appointment differs more than a threshold from the one or more geographic locations associated with the route of travel suggested for the participant.
  • an updated route of travel to the appointment is determined based on the current geographic location of the participant, and a travel time associated with the upd lated route of travel to the appointment is determined. Based on the travel time associatec with the updated route of travel, it is determined whether the participant traveling ak ng the updated route is estimated to arrive at the appointment on time.
  • the participant traveling ak ng the updated route is estimated to arrive at the appointment on time.
  • the participant traveling oonn de termining that the participant traveling along the updated route is estimated to arrive it the appointment on time, the participant is provided with information related to the updited route of travel.
  • the participant traveling along the updated route is not estimated to arrive at the appointment on time, the participant is provided with information related to the updated route of travel, and a communic kion is sent.
  • Implementations may include one or more of the following features.
  • an alert message may be sent to at least one of the participants oft e appointment.
  • the alert message may indicate that the participant traveling to the app ⁇ intment is not estimated to arrive at the appointment on time.
  • the appointment nj ay be dynamically rescheduled based on the travel time associated with the updated re ute of travel to the appointment, and the participants of the appointment may be notifis;d that the appointment has been dynamically rescheduled.
  • One or more subs juent appointments in a calendar of at least one of the participants of the appointment ma be identified, and the one or more subsequent appointments may be dynamically resche J ⁇ iled based on the dynamically rescheduled appointment.
  • time associated with modality-specific incidentals to travel is accounted for in dynamically assisting a participant in handling an appointment.
  • An appointment in a calendar associated with a participant of the appointment is identified, and an appointment time at which the appointment is due to start ar d a current time are identified.
  • An amount of time remaining between the appointment time at which the appointment is due to start and the current time is identified, and a geographic location of the appointment is identified.
  • a current geographic location of the participant of the appointment is identified, and a route extending from the current g ⁇ ographic location of the participant to the geographic location of the appointment is iden ittified.
  • a modality of travel for traveling the route extending from the geographic location of the participant to the geographic location of the appointment is determined, and a mo dality-based travel time associated with traveling the route extending from the geographic location of the participant to the geographic location of the appointment using the determined modality of travel is determined.
  • at least one incidental travel time associated with traveling the route extending from the geographic location of the participant to the geographic location of the appointment is determined, and a total travel time for traveling the route extending from the geographic location of the participant to the geographic location of the appointment is det ⁇ rmined based on the determined modality-based travel time and the determined at least me incidental travel time. It is determined whether the total travel time exceeds the am unt of time remaining until the appointment time.
  • the partic ipant is dynamically assisted in handling the appointment.
  • Implementations may include one or more of the following features.
  • an automobile may be determined as the modality of travel for trav ling the route extending from the geographic location of the participant to the gee graphic location of the appointment, and a mapping device may be used to compute an aui mobile travel time associated with traveling the route extending from the geographic 1 >cation of the participant to the geographic location of the appointment using the lutomobile.
  • a walking travel time associated with walking from a building to the iutomobile prior or subsequent to traveling the route extending from the geographic lo ⁇ ation of the participant to the geographic location of the appointment using the iutomobile may be determined, and the walking travel time may be added to the autorr obile travel time,
  • an airplane may be determined as the m( dality of travel for traveling the route extending from the geographic location of the pp;i rticipant to the geographic location of the appointment, and an air travel time asso' iated with traveling the route extending from the geographic location of the participant o the geographic location of the appointment using the airplane may be determined, A security travel time associated with going through security prior to boarding the airplar may be determined, and the security travel time maybe added to the air travel time.
  • content associated with the appointment may be accei sed, and information associated with a distance extending from the geographic location c f the participant to the geographic location of the appointment may be accessed.
  • the cont ;nt associated with the appointment and the information associated with the distance ex terj ling from the geographic location of the participant to the geographic location of :he appointment may be analyzed, and, based on the analysis, the modality of travel for t aveling the route extending from the geographic location of the participant to the ge ⁇ graphic location of the appointment may be automatically determined.
  • FIG. 13 illustrates an exemplary process used for alerting oi e or more users who are scheduled to participate in an appointment of possible delay of ,t least one of the participants to the appointment.
  • FIG. 14 illustrates an exemplary process for identifying a to vel time based on modality of travel.
  • FIG 15 illustrates an exemplary UI that is used to solicit, fb m a participant of an appointment, information regarding a modality of travel.
  • FIG. 16 illustrates an exemplary alert interface used for alerting a participant of an appointment that he or she is not likely to arrive at the appointment location on time.
  • FIG. 17 illustrates an exemplary alert interface showing opti ms that are presented to a participant of an appointment to avoid a scheduling conflict.
  • FIG. 18 illustrates an exemplary process used for rescheduling subsequent appointments of a user based on the determination that one of the a] •pointments of the user has been delayed.
  • an electronic calendar may be configured to provide appointment-to-appointment directions (e.g., directions from a first appointment to a second appointment and from the second appointment to a third appointment), and/or to account for the travel time between appointments. As such, the use may be alerted when the timing of an appointment presents a potential conflict with anot ier appointment due to the travel time between the two appointments.
  • appointment-to-appointment directions e.g., directions from a first appointment to a second appointment and from the second appointment to a third appointment
  • a user who maintains a calendar with app ⁇ ntments that take place at various locations may find it difficult or cumbersome to ids ntify a travel route through the locations of the user's appointments.
  • the u >er may find it time- consuming to manually look-up and print out directions for segmen s ofa travel route before leaving, for example, the user's home or work place.
  • a calendar application is configure 1 to allow the user to automatically generate appointment-to-appointment directions and o reserve a time block between user's appointments to account for the travel time associate d with a route extending from one appointment to the next.
  • the calenc ar application includes a navigation component and further includes a control opti m, manifested by an icon or a "setting,” selection of which results in generation a travel route between multiple appointments and further results in reservation of a time block within the user's calendar to account for the travel time associated with the travel route.
  • a calendar application e.g., a first appointment and a second appointment
  • the calendar application automatically (1) identifies a travel route extending froi i a geographic location of the first appointment to a geographic location of the sec md appointment, (2) identifies a travel time associated with the travel route, and (3) plac :s a hold on the user's calendar to account for such travel time.
  • the calenda application may provide the user with a reminder about the user's second appointment, taking into account the travel time associated with the calculated route extending from he geographic location of the first appointment to the geographic location of the s « cond appointment.
  • the user may be presented with an option of selecting to travel immediately following the first appoint nent or just prior to the second appointment.
  • the user is provided with an alert message at the timi of scheduling the first and/or the second appointment, informing the user of the same, as i lore fully described below with respect to FIGS. 9A-9C.
  • the alert message may be in ⁇ veral forms.
  • the alert message is in the form of automatic e-mail to the user (or a person to whom the user delegates the task of keeping the user's calendar), in forming the user of the conflict, hi another example, the alert message is provided as a user interface ("UI") within the calendar application.
  • UI user interface
  • the alert message pr ivides the user with several options to allow the user (or a person to whom the user dele ⁇ ates the task of keeping the user's calendar) to account for such a conflict.
  • the alert message indicates to the user the anticipated need to leave the first appointment earlier than its scheduled ending time or arrivi ig at the second appointment later than its scheduled starting time.
  • th alert message may provide the user with an option to reschedule the first and/or the second appointment.
  • the calendar appl: iation may attempt to identify the availability of the participants of the first appointment i nd/or the second appointment for rescheduling either of the first and/or second appoi ltments. hi this manner, the user is presented with several options to resolve the coi flict (e.g., absence of sufficient travel time) between the first and second appointments.
  • the calendar application identifies that there i: an unscheduled time period in the user's calendar, and the calendar application informs the user of the same.
  • the calendar application may provide the user wi h suggestions as to how the user should fill in the identified gap between the user's firs and second appointments. This may help the user to more efficiently manage tt. ! unscheduled times within the user's daily calendar.
  • the calendar application presents to the useij a UI, allowing the user to identify a point of interest at which the user is interested in spending the unscheduled time, hi response, the user identifies a point of refi (e.g., a coffee shop or a book store) and a geographic location associated therewith.
  • Th geographic location may include a specific address associated with the point of interest, Alternatively, the geographic location may include a geographic area/proximity within which the point of interest should be located, hi either case, this implementation allow s the user to perform a geographically limited search for a particular point of interest to fi l in the identified gap between the user's appointments.
  • the calendar application instead of generating appointment-to-appointment directions and reserving a time block to account for the travel time between appointments after the ppointments are scheduled, the calendar application generates appointment-to-appoii tment directions and reserves a time block to account for the travel time between the app intments at the time of scheduling an appointment.
  • appointment-to-appoii tment directions and reserves a time block to account for the travel time between the app intments at the time of scheduling an appointment.
  • the calendar application automatically identifies . route extending between the first appointment and the second appointment and identifies the travel time associated with the route. If the travel time exceeds the time gap be een the first and second appointments, the calendar application alerts the user of the ame before accepting the second appointment at the requested time. As such, the user immediately realizes the conflict (e.g., absence of sufficient travel time between the first and ;econd appointments) and is allowed to schedule the second appointment at another time t avoid such conflict.
  • the process 200 includes the calendar application dentifying a second appointment in the calendar application (220) and identifying the gi ographic location of the second appointment (225).
  • Identifying the second appointment may include identifying an existing appointment already scheduled within a cale idar application, Alternatively or additionally, identifying the second appointment m iy include receiving a request to schedule a second appointment within a calendar applica ion .
  • the calendar application uses the above-described techniques to identify the geoj raphiic location of the second appointment 120. In doing so, the calendar application real] zes that the geographic location of the second appointment 120 is U.S. Patent a d Trademark Office without a specific address.
  • the calendar application identi: ies a need for identifying an address associated with the U.S. Patent and Tradema k Office.
  • the calendar application may use an exemplary process 300A ⁇ lustrated by FIG. 3 A and an exemplary UI 300B illustrated by FIG. 3B to determine the ddress associated with the U.S. Patent and Trademark Office.
  • Process 300A begins with determining that the user has not pecified an address corresponding to an appointment location (310). To do so, in one ii lplementation, the calendar application searches the calendar application for the addrei s associated with the appointment. For example and as noted above, the calendar applies tion may reference a location field associated with the second appointment 120 to deterrr ine the address for the second appointment 120. Alternatively or additionally, the calendai application may reference other fields associated with the second appointment 120 a id may search for key words (e.g., a zip code, city, and/or state name) identifying an addrc ss. In the absence of such information, the calendar application concludes that the user h is not specified an address for the appointment location.
  • key words e.g., a zip code, city, and/or state name
  • the calendar application Upon identifying that the user has not specified an address f r the appointment location, the calendar application attempts to determine the address associated with the appointment location (320). To do so, the calendar application ma) solicit the user for such information, hi one example, the calendar application present; the UI 300B to the user, which includes an "address" icon, allowing the user to specify an address for the appointment location (e.g., U.S. Patent and Trademark Office). In me example, the selection of the "address" icon launches another UI, allowing the us ;r to specify the address for the appointment. The user may manually enter the addr !ss in the UI or may import the address into the UI from the user's profile. For example, the user's profile may include an entry for "U.S.
  • Patent and Trademark Office that s] (ecifies the address for "U.S. Patent and Trademark Office.”
  • the profile may include t e user s contact/address list.
  • the calendar application may au omatically determine the address for the U.S. Patent and Trademark Office without havin the user to interact with the UI 300B.
  • the calendar application automatically obtains the address for U.S. Patent and Trademark Office from the user's profil
  • the calendar application may access an online resource (e.g., Internet) to perform a web search or a database search to determine ;he address for the U.S. Patent and Trademark Office.
  • an online resource e.g., Internet
  • the calendar application identifies multiple addresses associated with the appointment.
  • the calendar applicatiob may present another
  • the calendar application allows the user to obtain directions to the appointment location (320).
  • the calendar application includes a directions/mapping selectio L portion 325 in the UI 300B, selection of which provides the user with directions and/o maps to the geographic location of the second appointment 120 from the geographic location of the first appointment 115.
  • the process 200 includes the calendar application identifying a route extending from the geographic location of the first appomtmei Lt to the geographic location of the second appointment (230).
  • the calendar application has a built in navigation component, allowing it to genei ate directions from the geographic location of the first appointment 115 to the geo graph %c location of the second appointment 120.
  • the calendar application communicates the location information for each appointment to a navigation application that is physically or logically distinct from the calendar Application and requests, from the navigation application, that it identifies the travel route and the travel time associated therewith.
  • Patent Application Serial Number 11/618,069 filed on December 29, 2006 and entitled "Communicating Appointment uid/Or Mapping rnformation Among A Calendar Application And A Navigation Ap] lication, describes in detail concepts that effect communications of appointment inforn ation from a calendar application to a navigation application for generating a travel route nd a travel time associated therewith.
  • the entire content of this application is incorporated herein by reference. (not shown) that displays a travel route extending from the geograplic location of the first appointment to the geographic location of the second appointment, identifies the geographic locations associated with the point of interest along the route, and requests, from the user, to select, from among the identified geographic locations, a location for the point of interest.
  • the calendar application alerts the user of the conflict and provides the user with one or more suggestions to resob re the conflict.
  • the calendar application presents to the user a UI, providin g one or more suggestions to make able the user to respond to the alert message, The process associated with generating an alert message is more fully described below witit respect to FIG. 9A and the UI providing the user with one or more suggestions is more fully described below with respect to FIG. 9B.
  • the calendar application is configure I to allow the user to set a travel time reminder, reminding the user to leave the user's current location at a specified time that precedes the starting time of the appointment by it least the travel time to the appointment.
  • the calendar application is configured to allow th : user to set a travel time reminder, reminding the user to leave at a specified time that p ecedes the starting time (e.g., 1 :00 pm) of the second appointment 120 by at least the tr ivel time (e.g., 60 minutes) to the second appointment 120.
  • FIG. 6 illustrates an exemplary UI 600 that makes able the ui er to set such reminders within a calendar application.
  • the UI 600 includes a rem nder selection portion 610.
  • the reminder selection portion 610 includes one or me re options selection of which instruct the calendar application to remind the user at a "sp icified time" in advance of the allocated travel time block to arrive at a geographic ideation of the second appointment on time, hi one example, the user's selection of the reminder selection portion 610 launches another UI (not shown), allowing the user to S' t the "specified time.” For example, the user may request to be reminded about an ⁇ ppointment 10 minutes before the time the user should leave the user's present loc; ion to arrive at the appointment location on time.
  • the reminder selection portion 610 so allows the user to specify the manner in which the reminder should be sent to the user. As shown in FIG. 6, the user may choose to receive the reminder via, for example, via ar audio call placed to a telephone, an email, an instant message, and/or "other" options, su ⁇ as short message service (“SMS").
  • SMS short message service
  • the calendar application may be configured to allow the usei to set alert messages, alerting the user about different events, hi one specific e: ample, the user may wish to set an alert message, alerting the user if the travel time assoc ated with the calculated route between the first appointment and the second appointment changes due to a change in the current road conditions, hi another example, the u ser may wish to set an alert message, alerting the user about conflicting appointments.
  • the timing of the first and second appointments th it previously did not conflict with each other even after taking into account travel time frc tn the first appointment to the second appointment may now present a conflict iue to the new calculated travel time and the alert message informs the user of the s, ⁇ ime e.
  • the user may set an alert message, alerting the user of an unscheduled within the user's calendar application, hi yet another example, the user may se an alert message, providing the user with updated directions and an updated travel tim ⁇ if the user deviates from the previously calculated route.
  • FIG. 7 illustrates an exemplary UI 700 used to allow the user to set an alert message, alerting the user of certain pre-defined conditions/events.
  • the UI 700 includes an alert selection portion 710.
  • the alert selection portion 10 includes four user-selectable alert options.
  • the first alert option described below in more detail with respect to FIGS. 8A and 8B, alerts the user if current road conditions change and may suggest an alternate route to the user that avoids problematic routes associated with the change in the road conditions.
  • the second alert option described below in more detail with respect to FIGS. 9A-9C, alerts the user about conflicting appointments (e.g., absence of sufficient travel time between the appointments) and may suggest possible options to help the user avoid the conflicting appointments.
  • conflicting appointments e.g., absence of sufficient travel time between the appointments
  • the third alert option alerts the user about a time period that is unscheduled between the user's appointments and may suggest an alternate schedule to help the user to more efficiently use pe unscheduled time slot.
  • the fourth alert option described below with respect to FIGS. IOA and 1OB, alerts the user if the user deviates from the previously calculated route and provides the user with new directions based on the user's present location. More particularly, the user's selection of the fourth alert option instructs the calendar application to update the calculated route based on real time information, such that a user deviating from the original route may receive an updated route (an updated effect on a calendar of appointments) to the user's next appointment location.
  • FIG. 8A illustrates an exemplary process 800A that a calendar application uses to alert a user about a change in current road conditions.
  • the calendar application described witti respect to FIGS.
  • IA and IB is referenced as performing the process 800A.
  • the process 800A involves the first appointment 115, the second appointment 120, the ;ontrol icon 125, and the travel time block 130.
  • the process 800A is described b :low as being performed by the calendar application, it should be understood that i can be performed by a navigation application. Alternatively or additionally, some of t ie actions within the process 800A may be performed by the calendar application and oth :rs may be performed by the navigation application. Alternatively or additionally, the process 800A may be performed by an application that acts as an interface between the na igation and calendar applications.
  • the calendar application may use the process 800A, fc r example, in response to the user's selection of the first alert option in the alert sej ection portion 710 illustrated by FIG. 7.
  • the calendar app ication may use the process 800A in response to the user's selection of the control icon 125.
  • the process 800A includes the calendar application monitoring the n ad conditions between the user's appointment locations (805). For example, the calendar application monitors the road conditions associated with the previously calculated travel route extending from the geographic location of the first appointment 115 :o the geographic location of the second appointment 120.
  • the calendar application regularly contacts a server that includes traffic data to obtain current road conditions between the user's appointments.
  • the calendar application may contact the server less frequently and, as it gets closer to the time the user has to leave the geographic location of the first appointment 115 to arrive on time at the geographic location of the second appointment 120, the calendar application contacts the server more often to obtain more up to date information.
  • the calendar application determines that there is a change in the road conditions (810).
  • the change in the road conditions may include events such as traffic, accidents, rush hours, construction, road blocks, and/or adverse weat> ier conditions resulting in a slower recommended speed limit.
  • the calendar application identifies the alternative routes, from among the identified alternative routes, with! the two lowest travel times).
  • the calendar application alerts the user of the change in the current road conditions and displays to the user the one or more identified alternaj ive routes, informing the user that the alternative routes will result in an increase in travel iime compared to the initial travel schedule, but also informing the user that they will decrease travel time compared to travel time on the current route under the current road conditions (860).
  • the calendar application may display to the user a UI informing the user of the time, present location, and the adverse condition, and suggesting that the user takes a different route to the user's next appointment location. iVlternatively or additionally, the calendar application may store the directions associ ited with the new route in the travel time block 130 for later access by the user and ma/ update the travel time associated with the new route.
  • FIG. 8B illustrates an exemplary UI 800B the calendar application uses to alert a user about a change in current road conditions.
  • the UI 800B inform 3 the user of the present time (e.g., 11 :00 am), the user's present location (e.g., the ft 3t appointment location), and the user's next destination (e.g., the second appointment location).
  • the UI 800B also informs the user that if the user were able to travel under normal conditions, the user could expect to arrive at the Seconal appointment location in 60 minutes.
  • problematic conditions adversely Effect the ability of the user to achieve that estimated travel time.
  • the alert message indicates that "[fjhere is heavy traffic due to an accident on the 1-60" and now it will take the user 3 hours to arrive at the second appointment location.
  • the calendar application compares the travel time of the original route under the current road conditions with the travel time of an alternative route and suggests to the user the route vdth the minimum travel time. For example and as shown in FIG. 8B, the calendar application determines the alternative route has the minimum travel time (e.g., 2 hours) and suggests taking the alternative route. The calendar application also communicates to the user to leave immediately if the user wishes to arrive at the second appointment L ation on time.
  • UI 800B also makes able the user to view the alternative route via, f Tcr example, selecting the "view" icon.
  • the user can view the alternative route via, for example, selecting the travel time block 130.
  • other alternative may be presented to the user.
  • the user may 3e presented with an option to postpone and/or cancel the second appointment and inform the participants of the second appointment of the same.
  • FIG. 9A illustrates an exemplary process 900A used for generating an alert message informing the user of conflicting appointments.
  • the action- performed by the process 900A are similar to some of the actions performed by the process 200 illustrated by FIG. 2.
  • the calendar application described with respect to FIGS. IA and IB is referenced as performing the process 900A.
  • the process 900A involves the first appc intment 115, the second appointment 120, the control icon 125, and the travel time block 130.
  • the process 900A is described below as being performed by the calendar application, it should be understood that it can be performed by a navigation appli ition. Alternatively or additionally, some of the actions within the process 900A may be performed by . the calendar application and others may be performed by the navigation ipplication.
  • the process 900A may be performed by an application that acts as an interface between the navigation and calendar applications
  • the process 900A may be used, for example, in response to tfte user's selection of the control icon 125. Alternatively or additionally, the process 900A may be used, for example, in response to the user's selection of the second alert option in the alert selection portion 710 illustrated by FIG. 7. In either case, the process 900A iri :ludes the calendar application determining the amount of unscheduled time between the first appointment
  • the action (910A) is sj milar to action
  • the calendar application identifies that the amotnt of unscheduled time is about 2 hours.
  • the calendar application then identifies the travel time for the route extending from the geographic location of the first appointment 115 to the geographic location of the second appointment 120 (915A).
  • the act ⁇ n (915A) is similar to action (235). For example, the calendar application identifies that the travel time is 2 hours and 30 minutes.
  • the calendar application compares the travel time with Ae amount of unscheduled time (920A) and based on the comparison, determines if the travel time exceeds the amount of unscheduled time (925A).
  • the actions (920A ⁇ and (925A) illustrate action (245) in more detail, hi keeping with the above-desc ibed example, the calendar application identifies that the travel time exceeds the amoun of unscheduled time by 30 minutes. Accordingly, the calendar application alerts the iser of the conflict the host that is used to derive location information. For example, th host may derive location information based on how the client device is accessing the network (e.g., as identified by source IP address or another packet identifier).
  • the present location of the user is a an tomatically determined from the user's profile.
  • the user has associ il . ited profile or contact information indicating a predetermined home and/or office ldcat ion.
  • the user of a client office computer has previously tored the location of the user's office in the user's profile.
  • the navigation applicatiq: i uses the user's profile to determine the office location.
  • the calendar application Upon determining the current location, the calendar application references the originally calculated route (1010) and checks to determine whether tl e current location of the user differs more than a threshold amount from the originally-cal iMilated route (1015).
  • the calendar application checks to determine wheth :r the current location is on the route (1020) and if so (1020, yes), the calendar app ication continues to monitor the current location of the user to account for the possible departure of the user from the route. If, however, the current location of the user is nnoott oonn the route (1020, no), the calendar application shows the user how to return to the originally -calculated route (1025).
  • FIG. 1OC illustrates a UI IOOOC that may be used to help the user to return to the originally-calculated route.
  • the calendar application waits a period of time (e.g., a predetermined and configurable period of time, a time determined based on the distance from the originally- calculated route, etc.) or until the user has returned to the originally-calculated route, and continues to monitor the current location of the user to account for departure of the user from the originally-calculated route (1028).
  • a period of time e.g., a predetermined and configurable period of time, a time determined based on the distance from the originally- calculated route, etc.
  • the calendar application at erts the user (1030).
  • the threshold is 1 mile from the originally calculated route. If the current location of the client device differs more than the threshold amount from the originally calculated route, the calendar application alerts the user (1030) and p! ovides the user with directions to the user's next appointment location from the current location of the client device (1035).
  • FIG. 1OA illustrates that actions (1030 and 035) are performed serially, it is possible that actions (1030 and 1035) can be performed simultaneously.
  • the calendar application may use a UI, such as the one showr in FIG. 1OB, to alert the user and provide the user with updated directions.
  • a UI such as the one showr in FIG. 1OB
  • the alert message also informs the user of the time and location of the user's next appointment and the travel time to the next appoin ment location based on the user's present location.
  • FIG. 1OB illustrates an exemplary UI IOOOB used to alert a u; ier that the user has deviated from an original route.
  • the alert message note s to the user that "it is currently 11 :00 am, and it seems you have deviated from the original route. You are presently located at 1100 F St., NW, Washington D.C. 20005.”
  • the alert message also informs the user of the time and locat on of the user's next appointment (e.g., the second appointment 120) and the travel time ( :g., 30 minutes) to the next appointment location based on the present location of the u: :r.
  • the alert message also allows the user to view directions from the present loc tion to the next appointment, hi one implementation, the calendar application deterr iiinnes whether the user arrives on time at the user's next appointment based on the new travel time and informs the user in either case. If the user is going to be late to the a jpointment based on the new travel time, the calendar application may present the user w: th one or more suggestions to avoid such conflict. For example, the calendar applic ition may present the user with options similar to those described with respect to FIG. 9B.
  • FIG. 1OC illustrates an exemplary UI IOOOC used to alert the user that the user has deviated from the originally-calculated route by less than a threshold amount and helps the user to get back on the originally-calculated route, hi particular, the alert message notes to the user that "it is currently 11:00 am, and it seems you have deviated from the originally calculated route by less than a threshold amount.”
  • a threshold amount e.g. 1 mile.
  • the alert message IOOOC allows the user to view directions in order t get back on the originally-calculated route.
  • a time block for the travel time between multiple appointments after the multiple appointments have already been scheduled as described with respect to FIG. 2
  • the user is allowed to reserve, within the calendar application, a time block for such travel ime during scheduling of an appointment.
  • the ser immediately realizes the conflict (e.g., absence of sufficient travel time between appointments) at the time of scheduling an appointment, and the user is allowed to sched Ie the appointment at another time to avoid such conflict. This minimizes the hassle of later recognizing such conflict and having to reschedule the already scheduled appointment at that time.
  • FIG. 11 illustrates an exemplary process 1100 used to make a Die a user to determine presence or absence of a conflict (e.g., absence of sufficient travel time) between an already scheduled first appointment and a second and nejy appointment that the user wishes to schedule at a particular time.
  • a conflict e.g., absence of sufficient travel time
  • FIGS. IA and IB the calendar application described with respect :o FIGS. IA and IB is referenced as performing the process 1100.
  • the process 1100 involves the calendar application interface 110, the first appointment 115, the second appointment 120, the control icon 125, and the travel time block 130.
  • process 1100 is described below as being perfoiimed by the calendar application, it should be understood that it can be performed by a na-s igation application. Alternatively or additionally, some of the actions within the process 100 may be performed by the calendar application and others may be performed iy the navigation application. Alternatively or additionally, the process 1100 may be p erformed by an application that acts as an interface between the navigation and calendar applications.
  • the process 1100 includes many of the actions described witi respect to the process 200. As such, for the sake brevity, only the actions that are different is described here in more detail. These actions include actions (1110, 1150, 1155 and 1160).
  • the process 1100 includes the calendar application receivin I, from a user, a request to schedule, within a calendar application, a new (second) ap; ointment 120 at a particular time (1110).
  • the calendar application may first determine whether the proposed se :ond appointment present a conflict (e.g., absence of sufficient travel time) with an already scheduled first appointment 115. If not (1145, yes), the calendar application schedu !S the second appointment 120 at the proposed particular time (1150). Additional!? r , the calendar application also reserves a travel time block within the calendar app ⁇ : cation to account for the travel time (1155). In one implementation, the calendar applicati n places the travel time block immediately before the starting time of the second appointment, hi another implementation, the calendar application places the travel time block immediately after the ending time of the first appointment.
  • the calendar applicati n places the travel time block immediately before the starting time of the second appointment, hi another implementation, the calendar application places the travel time block immediately after the ending time of the first appointment.
  • the calendar application presents to a user a UI (not shown), allowing the user to :lect where the time block should be located between the first and second appointments.
  • the user may have the option of removing and/or adjusting the travel tim block placed between the first and second appointments.
  • the calendar application alerts the user i f the conflict and provides the user with suggestions before or at the time of saving the second appointment 120 into the calendar application at the particular time (1160).
  • the calendar application presents to the user a UI, providing the user witr one or more suggestions in resolving the conflict, as described above in more deta 1 with respect to FIGS. 9A-9C. hi response, the user may simply select to schedule the second appointment at another time that does not present such a conflict.
  • FIGS. 12A-12D illustrate, within the UIs 1200A-1200D, an ⁇ emplary sequence of interactions between a calendar application and a user wishing to s Jiedule an appointment using the process 1100 described with respect to FIG 1
  • FIG. 12A illustrates an exemplary UI 1200A enabling a user to perceive, within the calendar application, an already scheduled appointment and to schedule a new appointment in the absence of a conflict (e.g., absence of sufficient travel time) between :he already scheduled appointment and the new appointment.
  • a conflict e.g., absence of sufficient travel time
  • the UI 1200A includes a calendar application interface 1210.
  • the calendar application interface 1210 includes, within a particular day (e.g., Mor day, April 23, 2002), an already scheduled first appointment 1215. As shown, the first appointment 1215 is with "patent attorney Karl Renner at 1425 K Street, NW, Washington D.C.
  • the calendar application receives, from the user, a request to schedule a second and a new appointment 1220, which appears to be with "a patent examiner Joe Smith at U.S. Patent and Trademark Office.”
  • the request is in the form of drag and drop operation.
  • the user drags, from another application and into the calendar application interface 1210, the information about the second appointrijient 1220 and drops, within the calendar application interface 1210, the information about he second
  • the subject field 1235 allows the user to identify the subject ssociated with the third appointment. For example, as shown, the subject associated wi h the third appointment includes "appointment with Dr.
  • the location fi :ld 1240 allows the user to identifying the geographic location of the third appointment. ⁇ example, as shown, the geographic location of the new appointment is at "11208 !amp Rd. Bethesda, Maryland, 20854.”
  • the starting time and ending time fields 1245, 1 50 identify the starting date/time and ending date/time associated with the third appi intment, respectively. For example, as shown, the starting date/time of the thi • d appointment is on Thursday, April 23, 2002 at 11 :00am and the ending date/time of the third appointment is on Thursday April 23, 2003 at 11 :30am.
  • the reminder field 1255 all )ws the user to set a reminder for the appointment. For example, as shown, the user has ecified a reminder 15 minutes in advance of the appointment time.
  • the user may click on "save anc close” icon 1260.
  • the calendar application again uses the process 1100 to determine whether the tim ng of the third appointment 1265 present a conflict (e.g., absence of sufficient travel time) with the already scheduled first and second appointments 1215, 1220.
  • a conflict e.g., absence of sufficient travel time
  • the calendar application automatically identifies first route extending from the geographic location of the first appointment 1215 to the geographic location of the third appointment 1265 and identifies a first travel tim e associated with the first route.
  • the calendar application automatically identifie a second route extending from the geographic location of the third appointment 126 to the geographic location of the second appointment 1220 and identifies a second trav 1 time associated with the second route.
  • the calendar application compares the fi: st travel time with the time gap between the first and third appointments 1215, 1265 anc similarly compares the second travel time with the time gap between the third and seconi appointments 1265, 1220.
  • the calendar application akrts the user before or at the time of accepting the third appointment 1265 at the requested t me. As such, the user immediately realizes the conflict and is permitted to schedule U e third appointment 1265 at another time to avoid the conflict. For example, and as shov [ ⁇ i, the calendar application generates a pop-up window 1270 informing the user of tljie conflict.
  • the calendar application schedules the third appointment 1265 at the requested time.
  • FIG. 9B illustrates some of the suggestions that may be offered to the user to avoid the conflict between two appointments
  • other suggestions also are possible.
  • the calendar application may offer to the usei to default to a telephone or video conference to avoid the conflict, hi keeping with the example described about with respect to FIG. 9B
  • the calendar application may offer to the user to co: duct either the first appointment or the second appointment via telephone.
  • thb user may be presented with an option to specify whether an appointment is to be conducted via a teleconference or a video conference. If so, the calendar application does not take into account that appointment for purposes of reserving a time block to account for the travel time.
  • the calendar application does not take into account that appointment for purposes of reserving a time block to account for the travel time.
  • the calendar applic ation realizes that the second appointment is a teleconference or a video conference appointment, and, as such, the calendar application does not reserve a time block for travel time between the first appointment and the second appointment and similarly between the second appointment and the third appointment.
  • the calendar application reserves a time block to account for travel time from the first appointment to the third appointment. That is the calendar application intentionally disregards the second appointment for purposes of reserving a time block to account for the travel time, hi one implementation, the user is informed that the travel time between the first and third appointment impinges on the schedu ied second appointment that takes place via a teleconference, for example. And, the user is presented with an option to schedule the travel before, during, or after the intervening teleconference appointment. hi a slightly different implementation, instead of the user explicitly specifying that the appointment is a teleconference one, the calendar application inf :rs such conclusion from the information associated with the appointment.
  • the calendar application concludes that the appointme is to be conducted via a telephone, and, as such, does not take into account the appointment for purposes of identifying a travel time, hi one implementation, the calendar appliication confirms with the user as to whether the appointment is indeed to be conducted vi a telephone to reduce errors.
  • the calendar application may recogni: ;e certain keywords (e.g., airports, flights) or locations (e.g., airports) associated with a calendar event, and may have a particular setting to set aside time in addition to the travd time to account for certain routine activities (e.g., going through security).
  • thj calendar application may set aside time to account for other factors, such as, for example, time needed to get from the car to a meeting.
  • the calendar application notifies the user that the travel time : between two appointments is 130 minutes (120 minutes of travel time plus an additional 10 minutes to get from the car to the meeting).
  • the calendar application reserves a time block for 130 to account for the time needed for the user to get from the ca r to the meeting,
  • the calendar application cancels or modifies the already scheduled travel time block upon determining that the user yishes to cancel an appointment used for the estimation of the travel time block.
  • FIG. 1 E illustrates an exemplary process 1200E used by the calendar application to cancel and/or modify the travel time block upon receiving an indication from the user to cancel an appointment that is used to estimate the travel time block.
  • the process 1200E includes receiving a notification of an appointment cancellation (1210E).
  • the calendar application may receive a notification that the first appointment 1215 with the patent attorney Karl Rentier should be canceled.
  • the calendar application identifies the travel time block that is based on the canceled appointment (1215E).
  • the calendar application identifies the travel time block 1230 that is reserved for the travel time between the first appointment 1215 and the second appointment 1220.
  • the calendar application either cancels or modifies the travel time block (1220E).
  • the calendar application cancels the travel time block 1230.
  • the calendar application modifies the travel time block such that it is based on the third appointment 1265 .
  • the third appointment 1265 is shown in FIG. 12D to take place after the first appointment 1215, it is to be understood that the third appointment 1265 can take place before the first appointment 1215.
  • the calendar application identifies the new travel time block and informs the user of the same (1225E).
  • the concept :s described herein also relate to a system that dynamically updates appointment i nformation within a calendar application based on the current location of the user scheduled to participant in an appointment.
  • the system identifies the current location of the user • ., and based on the current location of the user the system approximates the arrival of th : user to the geographic location of the user's next appointment.
  • the syi tem may take into account the user's modality of travel.
  • the modality of travel may include driving, walking, public transportation, and/or other means of traveling, such as, bicycling.
  • the system may inform the user that the user is running late to the meeting. Similarly, the system may inform other participants of the appointment, thereby saving the remaining participants of waiting for the user.
  • GPS or other location-based information about at least one of the participants in the appointment can be used to automatically (e.g on the fly) update the appointment in the participant's electronic calendar application (e .g., Microsoft Exchange).
  • the appointmem can be rescheduled to start in 20 minutes, saving the remaining participants from waiting .
  • real time traffic and travel data can be leveraged to account for the participant's travel time to a distant meeting.
  • this information can be used to alarm the participant as to when he/she needs to depart in order to arrive at the geographic location of the appointment on time.
  • the concepts described herein also relate to a system for identifying hat a user's appointment has been delayed and dynamically rescheduling the use r's subsequent appointments to account for the delay.
  • the doctor is running late to his or her first patient meeting and as such the first appointment that is due to start at 9:00am and last until 9:15am actually starts at 9:15am.
  • the system realizes this delay, identifies subsequent appointments within the doctor's calendar, and automatically reschedules the remaining appointments. For example, the system postpones each appointment by 15 minutes. As such the next appointment that was iue to start at 9:15am and end at 9:30am will be postponed such that it will start at 9:30am and end at 9:45am.
  • the system also may inform other participants of the appointment, thereby saving the remaining participants of waiting for the user.
  • This scenario can be Useful in, for example, allowing patients to delay their arrivals at doctor's offices i : r doctors are running late.
  • FIG. 13 illustrates an exemplary process 1300 used for alerting one or more users who are scheduled to participate in an appointment of possible delay of the at least one of the participants to the appointment, hi keeping with the previous example and for convenience, the calendar application described with respect to FIGS .
  • IA and IB is referenced as performing the process 1300.
  • the proces 1300 involves the calendar application interface 110, the first appointment 115, and the second appointment
  • process 1300 is described below as being performed by the calendar application, it should be understood that it can be performed by a na ⁇ igation application.
  • process 1300 may be performed by the calendar application and others may be performed by the navigation application.
  • process 1100 may be performed by an application that acts as an interface between the navigation and calendar applications.
  • the process 1300 may be activated either manually or auto: .tically.
  • the manual activation may be through a setting (e.g., an icon) appearing in the calendar application or a navigation application.
  • the process 1300 includes the calendar application identifying an appointment within a calendar application (1305) and identifying ii geographic location of the appointment and the time at which the appointment is due to start (1310).
  • the calendar application references a location field associated with the appointment.
  • the calendar application may reference other fields associated with the appointment and may search for keywords identifying an address.
  • the calendar application searches for a zip code, city, alnd/or state name to identify an address, hi this manner, the calendar application identifi 3S that the geographic location of, for example, the first appointment 115 is at "1425 K Stn :et, NW, Washington D.C. 20005.”
  • the calendar application references a time field within the calendar appli cation to identify the time during which the appointment is scheduled to take place.
  • the calendar application may reference other fields associated with the appointment and may search for keywords identifying time of each ⁇ .
  • the calendar application searches for key words, such as ": tarting time,” “ending time,” “from 10:00am to 11 :00am,” and other possible texts indicative of the time of the appointment, hi this manner, the calendar application id ⁇ ntifies that the time associated with, for example, the first appointment 115 is from "10:00 am to 11 :00 am.”
  • the process 1300 also includes the calendar application identifying participants of the appointment (1315).
  • the calendar application searches participant field to identify the participants of the appointment.
  • the calendar application identifies at least two participants (e.g., a first participant and a second participant).
  • the first participant may be the owner of the calendar application referer bed in FIGS. IA and IB, for example.
  • the calendar application After identifying the participants of the appointment, the calendar application identifies, at a time before the appointment time, a geographic location of one of the identified participants (1320). For example, the calendar applicatior identifies the geographic location of the first participant (e.g., the owner of the calendar application referenced in FIGS. IA and IB).
  • the calendar application automatical y identifies a geographic location of one of the identified participants at a predetermined time before the appointment.
  • the predetermined time may be immediately preceding the appointment time or may be, for example, fifteen minutes prior to th e appointment.
  • the predetermined time may be at a user-specified or a system-specified time in advance of the appointment time
  • the calendar application identifies a geographic location of one of the identified participants in response to a user requesting the calendar application to identify the geographic location.
  • An administrator, an appointment participant, an organizer of the appointment, or anothei j user related to the appointment may inspire the calendar application to identify the geographic location.
  • a first appointment participant may contact an assistant of a second appointment participant to determine whether the second appointment participan will be attending the appointment in person, by telephone, or whether a need exists to re; diedule the appointment.
  • the assistant of the second appointment participant may inspire the calendar application to identify the geographic location of the second appointment participant to obtain the information requested by the first appointment participant.
  • the calendar application automatical y determines the present location of the first participant using location providing techjnology implemented in the client device of the first participant. If the client device is equipped with multiple location providing technologies, the calendar application may use : the technology that provides the more accurate information about the present location.
  • the client device includes a mobile device that is GPS-enabled, and the i alendar application automatically determines the present location of the first participant based on the GPS position of the client device.
  • the present location of the first participant is automatically determined by registering the client device with a host (e.g., a Session Initiation Protocol ("SIP”)) server.
  • SIP Session Initiation Protocol
  • the client device may p: fovide information to the host that is used to derive location information.
  • th host may derive location information based on how the client device is accessing the network (e.g., as identified by source IP address or another packet identifier).
  • the present location of the first participant is automatically determined from a profile associated with the first participant.
  • the profile and/or contact information may indicate a predetermined home and/ar office location.
  • the user of a client office computer has previously stored in his/her profile the location of the first participant's office.
  • the calendar application uses the profile to determine the office location.
  • the calendar application After identifying the geographic location of the first participant, the calendar application identifies a route extending from the geographic locationor of the first participant to the geographic location of the appointment (1325). Tc this end, in one example, the calendar application is equipped with navigation capabilities.
  • FIG. 14 illustrates an exemplary process for identifying a travel time based on modality of travel. The calendar application identifies a modality o travel of the participant to the geographic location of the appointment (1410). Tc do so, in one implementation, the calendar application presents a UI to solicit, from the first participant, such information.
  • FIG. 15 illustrates an exemplary UI 1500 that is used to solicit, from the participant of the appointment, information regarding the modality cf travel.
  • the UI 1500 requests that the first participant specifies or confirms the modality of travel and to this end presents to the user several options.
  • the several options include walking, driving, public transportation, and others.
  • the "others" option may be selected if the first participant's choice of travel does not appear among one of the walking, driving, or public transportation.
  • the user choice of travel may be via a bicycle.
  • the selection of the "others" option generates another UI allowing the first participant to specify the modality of travel (e.g., a bicycle).
  • tie calendar application based on the modality of travel, tie calendar application identifies travel time associated with the route (1420). Ii identifying the travel time, the calendar application may take into account the speec of traveling. The speed of traveling may include an average speed based on the s i;pecified modality of travel or actual speed of travel. The calendar application may determine trjat actual speed of traveling by soliciting it from the user or automatically gleaning it from the client device.
  • the calendar application also may take into account traffic conditions.
  • the traffic conditions may include current traffic flow or historic traffic flow.
  • the current traffic flow maybe determined by contacting a server that includes traffic data to obtain current road conditions between the us er 's appointments,
  • the calendar application also identifies the amount of time remaining until the appointment time at which the appointment is due to start (1340).
  • the time remaining may be determined by identifying a present or current time and subtracting the present or current time from the starting time of the ppointment. Unless the present or current time is after the appointment time, the amount of time remaining until the appointment time is a positive number and may be used to determine whether the first participant is likely to arrive at the appointment on time.
  • the calendar application determines whether the travel time exceeds the amount of time remaining until the appointment (1345). For example, the calendar application may compare the travel time potential conflict. participant to change the current travel mode to a different one. Foi example, the first participant may be instructed to change the travel mode from public transportation to driving.
  • the calendar application automatically selects one of the options based on the user preferences. For examp Ie, upon determining that the first participant is running late to the appointment, the calenjdar application automatically sends a message to the other participants informing them that the first participant is running late along with the estimated arrival time.
  • the calendar application automatically reschedules the appointment at a convenient time for the attending users.
  • the calendar application upon determining that the :jirst participant is running late to the appointment, the calendar application automa attiically informs the first participant to change the modality of travel and/or travel faster usin; the current modality of travel to timely arrive at the appointment location.
  • the calendar application may subtract travel time from the amount of time remaining until the appointment to determine the amount of time by which the first participant should leave to arrive at the appointment an time.
  • the calendar application may compare the amount of time by which the first parti cipant should leave to arrive at the appointment on time to a threshold and, if the amount of time by which the first participant should leave to arrive at the appointment on time is ess than the threshold, the calendar application may send a reminder to the first articipant to remind the first participant to leave for the appointment.
  • the reminder maj include the amount of time by which the first participant should leave to arrive at the ap iointment on time.
  • techniques described above with respect to FIG. 13 may be repeated.
  • the techniques described with respect to TG. 13 maybe periodically repeated as the first participant travels to the appointment .
  • updated information regarding the first participant's current location and the current time may be used.
  • the concepts described herein also relate to a process for identifying that a user's appointment has been delayed and also for dynamically rescheduling the user's subsequent appointments to ac ount for such a delay.
  • FIG. 18 provides an example of such a process.
  • FIG. 18 illustrates an exemplary process 1800 used for dynamically rescheduling subsequent appointments of the user (e.g., the first participant) based on the determination that one of the appointments of the user (e.g., the first participant) h is been delayed.
  • Some of the actions performed by the process 1800 are similar to th ; actions performed by the process 1300. As such and for purposes of brevity, these acti ms are not described here in more detail.
  • the process 1800 includes the calendar application identifyi: g an appointment within a calendar application (1805) and identifying an appointmen time at which the appointment is due to start and due to end (1810).
  • the actions (180 > and 1810) are similar to those (1305 and 1310) described above with respect to th process 1300, and, as such, they are not described here in more detail.
  • the process 1800 also includes the calendar application iden tifying that the appointment has been delayed for a certain fixed amount of time (1 ! 15). For example, the calendar application identifies that the starting time of the appoi Ltment has been delayed due to one of the participants running late to the appointment. Alternatively or additionally, the calendar application may identify that the duration f the appointment has been extended beyond the scheduled ending time by a certain fh ed amount of time, For instance, in one implementation, one of the participants of the a] pointment notifies the calendar application of such delay. In another implementation, ttie calendar application determines such delay based on the locations of the part: ipants. For example, if the participant appears to still be at the location of the appointment instead of on the road traveling to the next appointment, the calendar applicati n determines that the appointment has lasted longer than previously scheduled.
  • the calendar application identifies the amc unt of time the appointment has been delayed and also identifies the subsequent apj ointments within the calendar application (1820). Based on the amount of time the appointment has been delayed and the timing of the subsequent appointments, the calendai application determines that a need for rescheduling other appointments exists ar d confirms with the participant the desire to reschedule the other appointments (1825). r [he calendar application then automatically reschedules the subsequent appointments within the calendar application such that the starting time of each of the subseq ⁇ ent appointments is postponed to account for the delay associated with the current appointment (1830). The calendar application also may notify the participants of each of the subsequent appointments and inform them of such change, so that they can change their schedule according.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Navigation (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Traffic Control Systems (AREA)

Abstract

Techniques are described for accounting for travel time in scheduling appointments in an electronic calendar. For example, a travel time between appointments may be identified and a time block may be reserved on a calendar application to account for such travel time. Geographic locations of adjacent appointments in a calendar may be determined and a route between the geographic locations also may be determined. A travel time associated with traveling the route between the geographic locations may be computed and the computed travel time may be compared to unscheduled time between the adjacent appointments in the calendar to determine whether the unscheduled time exceeds the travel time. If it is determined that the unscheduled time exceeds the travel time, a time block may be reserved on the calendar application to account for the travel time.

Description

Accounting For Travel Time Between (geographic Locations Of Appointments
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims priority from U.S. Patent Application No. 11/618,069, filed December 29, 2006 and entitled "Communicating Appointment And/Or Mapping Information Among a Calendar Application And a Navigation Application." The present application also claims priority from U.S. Provisional Application Serial Number 60/888,850, filed February 8, 2007 and entitled "Intelligent Calendaring Application," U.S. Provisional Application Serial Number 60/945,805, filed June 22, 2007 and entitled "Reserving A Time Block hi A Calendar Application To Account For A Travel Time Between Geographic Locations Of Appointments," U.S. Provisional Application Serial Number 60/938,145, filed May 15, 2007 and entitled "Dynamic Reconfiguration Of
Appointments Within A Calendar Application," and U.S. Provision; 1 Application Serial
Number 60/947,278, filed June 29, 2007 and entitled "Meeting Notification and
Modification Service." The entire content of the prior applications is incorporated herein by reference.
TECHNICAL FIELD
This disclosure relates to meeting notification and modification service.
BACKGROUND
A user may populate an electronic calendar with appointmeri :s that take place at different locations. The electronic calendar may be, for example, a Microsoft Outlook calendar, and may be manually programmed to include a date and time of appointments and locations associated with the appointments.
SUMMARY
In one aspect, travel time between appointments is identified and a time block on a calendar application is reserved to account for such travel time. A first appointment in a calendar application is identified, and a geographic location of the fi 1rst appointment is identified. A second appointment that occurs later in time than the fc rst appointment in the calendar application is identified, and a geographic location of th e second appointment to the geographic location of the second appointment s identified, and a travel time associated with the route is identified. An amount of u scheduled time between the first appointment and the second appointment is deter lined, and it is determined whether the amount of unscheduled time exceeds the travel time. If it is determined that the amount of unscheduled time exceeds the travel time, a time block is reserved on the calendar application to account for the travel time.
Implementations may include one or more of the following features. For example, an ending time of the first appointment may be identified, a starting time of the second appointment may be identified, and the ending time of the first app intment may be subtracted from the starting time of the second appointment. In some implementations, it may be determined whether the amount of unscheduled time exce Is the travel time by more than a threshold amount. If it is determined that unscheduled time exceeds the travel time by more than the threshold amount, a message may be rovided that informs a user of the unscheduled time.
A reminder for the second appointment may be automatically set without user input. The reminder may be set for a specified time that precedes tie starting time of the second appointment time by at least the travel time to the second appointment. A notification window may be displayed at the specified time that precedes the starting time of the second appointment time by at least the travel time to the second appointment. The notification window may be structured and arranged to remind the user about the second appointment. hi some examples, it may be determined whether the travel time exceeds the amount of unscheduled time, and, if it is determined that travel tim exceeds the amount of unscheduled time, an alert message may be provided to inform the user that, based on the current scheduling of the first and second appointments, the us would not have enough time to arrive at the second appointment location. In these examples, one or more suggestions may be provided to enable the user to respond to the a ;rt message. The one or more suggestions may include a suggestion for at least one of: ( ) leave the first appointment sooner than the scheduled ending time of the first app )intment, (2) cancel, one or both of the first or second appointments, (3) reschedule the l:irst or second appointment, and (4) notify the other attendees of the second appoi Ltment, or another designee, that the user will arrive late. Further, in these examples, people attending the second appointment may be identified, and time availability of the people attending the second appointment may be identified. Based on the time availability of the people attending the second appointment, steps may be taken to reschedul ; the second appointment at a mutually convenient time for people attending th second appointment, In some implementations, the calendar application may be ccessed via a navigation application in response to activation of a transferring cc titrol tool that appears within an interface of the navigation application, and the first appo ntment and the second appointment may be identified in the calendar application. In thes implementations, the transferring control tool may be configured to import time and geographic information of the first and second appointments to the navigation application. Tl e transferring control may be further configured to cause the navigation application to i< ;ntify the route and the travel time associated with the route, calculate the remaining time between the ending time of the first appointment and the starting time of the second appointment, determine whether the remaining time exceeds the travel time, and instruct th i; calendar application to place the hold between the first appointment and the second appointment to account for the travel time if it is determined the remaining time exceeds the tπivel time. In some examples, the calendar application may be accessed via a client device, and the first appointment and the second appointment may be identified in the calendar application. In these examples, the client device may interface between the calendar application and a navigation application. The calendar application may be accessed in response to activation of a transferring control tool within the clien : device, and the ending time and the geographic location of the first appointment and the starting time and the geographic location of the second appointment maybe cornmuiicated to the navigation application in response to the activation of the transferri tig control.
The current location of a user may be monitored, and a change in the current location of the user may be identified. The route extending from the geographic location of the first appointment to the geographic location of the second ap pointment may be referenced and it may be determined whether the current location c f the user exceeds a threshold amount from the route. If it is determined that the current location of the user exceeds the threshold amount from the route, the user may be provided with direction to the second appointment from the current location of the user. hi another aspect, a first appointment in a calendar applicat: on is identified, a geographic location of the first appointment is identified, and a tim 2 of the first appointment is identified. A request to schedule a second appointment at a requested time is received from a user, and a geographic location of the secoi d appointment is identified. A route extending between the geographic location of ti: e first appointment
Figure imgf000006_0001
the updated travel time is not more than the threshold greater than |)he time required by the travel time entry, the travel time entry is maintained.
Implementations may include one or more of the following features. For example, conditioned on determining that the updated travel time is more th;ιn the threshold greater than the time required by the travel time entry, one or more alternative routes of travel to the geographic location of the appointment scheduled in the calendar application associated with the user may be identified, and one or more a ; lternai ive travel times associated with each of the identified one or more alternative routed of travel may be determined. It may be determined whether at least one of the one G r more alternative travel times is less than the updated travel time. Conditioned on ;ermining that at least one of the one or more alternative travel times is less than the upda ed travel time, at least one of the one or more alternative routes of travel for which the on i or more alternative travel times is lowest may be selected, and the user may be alerted ibout the selected at least one of the one or more alternative routes of travel. Condition :d on determining that at least one of the one or more alternative travel times is not less th m the updated travel time, the user may be alerted about current travel conditions and th user may be informed that the route of travel remains most efficient. hi some implementations, the travel time entry may corresp and to an estimated travel time needed for the user to, using the route of travel, travel fj om a first geographic location of a first appointment to a second geographic location of a second appointment, hi these implementations, conditioned on determining that the upd ted travel time is more than the threshold greater than the time required by the travel time intry, a time between an ending time of the first appointment and a starting time of the se cond appointment may be determined, and the updated travel time may be compared with he time between the ending time of the first appointment and the starting time of the sec ond appointment.
Based on comparison results, it may be determined whether the updated travel time is greater than the time between the ending time of the first appointm s;nt and the starting time of the second appointment. Conditioned on determining that ie updated travel time is greater than the time between the ending time of the first appoint nent and the starting time of the second appointment, the user may be alerted that at leas one of the first appointment and the second appointment needs to be modified to account for the updated travel time. Conditioned on determining that the updated travel til e is not greater than the time between the ending time of the first appointment and the starting time of the second appointment, the travel time entry may be updated to correspond to the updated travel time; and the user may be alerted of the updated travel time mtry. The user may be alerted that the user needs to leave the fϊrc t geographic location of the first appointment earlier than previously scheduled. Conditi ined on determining that the updated travel time is greater than the time between the endiinng time of the first appointment and the starting time of the second appointment, attendees of the second appointment, or another designee, may be alerted that the user ma] arrive late to the second appointment.
Conditioned on determining that the updated travel time is nore than the threshold greater than the time required by the travel time entry, one or more alternative routes of travel from the first geographic location of the first appointment to the second geographic location of the second appointment may be identified, and one or r iore alternative travel times associated with each of the identified one or more alternative routes of travel may be determined. It may be determined whether at least one of the o: e or more alternative travel times is less than the updated travel time. Conditioned on ά termining that at least one of the one or more alternative travel times is less than the upd∑ ted travel time, one of the one or more alternative routes of travel for which the one or m i<o rree alternative travel times is lowest may be selected, and the time between the ending e of the first appointment and the starting time of the second appointment may e compared with the alternative travel time associated with the selected alternative rout< of travel. Based on comparison results, it may be determined whether the time betwee: i the ending time of the first appointment and the starting time of the second appointment ; greater than the alternative travel time associated with the selected alternative route of travel. Conditioned on determining that the time between the ending time of the first appointment and the starting time of the second appointment is gre iter than the alternative travel time associated with the selected alternative route of travel, the travel time entry may be updated to correspond to the alternative travel ti ne associated with the selected alternative route of travel, and alerting the user may be alerted of the updated travel time entry and the selected alternative route of travel.
Alerting the user that at least one of the first appointment amd the second appointment needs to be modified to account for the updated trave time also may be conditioned on determining that the time between the ending time f the first appointment and the starting time of the second appointment is not greater than he alternative travel time associated with the selected alternative route of travel, and updating the travel time entry to correspond to the updated travel time and alerting the user of the updated travel time entry also may be conditioned on determining that at least on< : of the one or more alternative travel times is not less than the updated travel time.
In a further aspect, a travel time entry in a calendar associa ed with a user is automatically modified in response to cancellation of a corresponding appointment entry in the calendar associated with the user. Cancellation of an appoiπ ment entry in a calendar associated with a user is detecting, and, in response to det :cting cancellation of the appointment entry in the calendar associated with the user, it is determined whether the appointment entry is related to a travel time entry in the calend ir associated with the user. Conditioned on determining that the appointment entry is re .ted to a travel time entry in the calendar associated with the user, the travel time entry related to the appointment entry is identified, and the travel time entry is modified to account for cancellation of the appointment entry.
Implementations may include one or more of the following features. For instance, the user may be informed of the modification of the travel time ent y as a consequence of the cancellation of the appointment entry. It may be determined th it the travel time entry is near a beginning or an end of a calendar day, and one or more default travel locations corresponding to typical travel by the user at the beginning or the end of the calendar day may be identified. The travel time entry and the identified one or i iore default travel locations may be identified, and the travel time entry may be modi (led to account for cancellation of the appointment entry based on the analysis. hi some implementations, one or more calendar entries sch duled prior or subsequent to the travel time entry may be identified, and the trav time entry and the identified one or more calendar entries scheduled prior or subsequent to the travel time entry may be analyzed. The travel time entry may be modified to ccount for cancellation of the appointment entry based on the analysis. In these implemen ations, the appointment entry may be a first appointment entry, and a second ppointment entry scheduled immediately prior to the travel time entry may be identii ed. It may be determined that, after cancellation of the first appointment entry, m calendar entries are scheduled more than a threshold amount of time subsequent to the ravel time entry. The travel time entry may be cancelled, and the user may be informed c f the cancellation of the travel time entry.
In some examples, the appointment entry may be a first appointment entry, and a second appointment entry scheduled immediately subsequent to th travel time entry may
Figure imgf000010_0001
Figure imgf000011_0001
Figure imgf000012_0001
and a starting time of the third appointment may be determined, and the first travel time may be compared with the time between the ending time of the sedond appointment and the starting time of the third appointment. Based on comparison re suits, it may be determined whether the first travel time is greater than the time be ween the ending time of the second appointment and the starting time of the third appointment. Conditioned on determining that the first travel time is not greater than the time bei een the ending time of the second appointment and the starting time of the third appoiη tment, the request to schedule the first appointment may be granted, and a travel time ei try corresponding to the first travel time associated with traveling from the first geographic location to the third geographic location may be added in the calendar associated vith the user.
Conditioned on determining that the first travel time is greater thai the time between the ending time of the second appointment and the starting time of the third appointment, the user may be alerted that insufficient travel time exists for scheduli: g the first appointment at the first time.
In some examples, the user may be able to set a default parameter that indicates whether or not the user wishes to allow travel time to be scheduled during telephone or video conference call appointments. The user may be asked whetr er the user wishes to allow travel time to be scheduled during the second appointment, i nd an answer may be received from the user indicating whether the user wishes to allow travel time to be scheduled during the second appointment.
In another aspect, unscheduled time between two appointm :nt entries in a calendar other than travel time is identified and options are present 3d to a user for using the unscheduled time. At least one of a first appointment entry in calendar associated with a user and a second appointment entry in the calendar associa ed with the user is identified. The first appointment entry is associated with a first ge graphic location, the second appointment entry is associated with a second geographic 1 >cation that is different than the first geographic location, and a starting time of the secon appointment entry is subsequent to an ending time of the first appointment entry. A tra el time entry corresponding to a travel time between the first geographic location associated with the first appointment entry and the second geographic location associated with the second appointment entry is identified, and it is determined whether a time between the ending time of the first appointment entry and the starting time of the secc Ld appointment entry is more than a threshold greater than time required by the travel tin e entry. Conditioned on determining that the time between the ending time of the first appointment entry and the starting time of the second appointment entry is more than a th eshold greater than the time required by the travel time entry, unscheduled time, other tha i travel time, between the first appointment entry and the second appointment entry is idt ntified, one or more options for using the identified unscheduled time are identified, an 1 the identified one or more options are presented to the user.
Implementations may include one or more of the following features. For example, the first appointment entry in the calendar associated with the user and the second appointment entry in the calendar associated with the user may be dentified. The ending time of the first appointment entry maybe determined, the starting time of the second appointment entry may be determined, and the time between the ei ding time of the first appointment entry and the starting time of the second appointment entry may be computed. The time between the ending time of the first appointm ent entry and the starting time of the second appointment entry with the time require i by the travel time entry may be compared. Based on comparison results, it may be d ϊtermined whether the time between the ending time of the first appointment entry and the starting time of the second appointment entry is more than the threshold greater than t e time required by the travel time entry. hi some examples, information related to one or more optiφs available for using unscheduled time may be accessed, and a time associated with eac ofthe one or more options may be determined based on the accessed information rela ed to the one or more options available for using unscheduled time. The determined tim associated with each of the one or more options may be compared with the identified un scheduled time, and, based on comparison results, options for which the determined tim : is less than or equal to the identified unscheduled time may be identified. In these exar lples, information related to interests of the user may be accessed and one or more op ions may be selected from among the identified options for which the determined time is less than or equal to the identified unscheduled time based on the information related to the interests of the user.
Also, an option to spend more time at the first geographic 1 cation subsequent to the first appointment may be identified, an option to spend more tii ie at the second geographic location prior to the second appointment may be identified , and/or an option to visit a point of interest located proximate to the first geographic ocation may be identified. In addition, an option to visit a point of interest located )roximate to the second geographic location may be identified, an option to visit a p )int of interest located along a route between the first geographic location and the second geographic location may be identified, and an option to reschedule at least one of the first and second appointments to minimize the identified unscheduled time may be dentified.
In a further aspect, time associated with modality-specific i icidentals to travel is included in determining a travel time for scheduling calendar appo ntments. A first appointment associated with a calendar of a user is identified, and ; . second appointment associated with the calendar of the user is identified. The first app< intment corresponds to a first geographic location, and the second appointment corresponds to a second geographic location that is different than the first geographic locati >n. A route between the first geographic location and the second geographic location is dentified, and a modality of travel for traveling the route between the first geograp ic location and the second geographic location is determined. A modality-based trave time associated with traveling the route between the first geographic location and the se ;ond geographic location using the determined modality of travel is determined, anc at least one incidental travel time associated with traveling the route between the first gee graphic location and the second geographic location using the determined modality of ti ivel is determined. A total travel time for traveling the route between the first geographic location and the second geographic location is determined based on the determined nodality-based travel time and the determined at least one incidental travel time, and scheduling of the first appointment and the second appointment is handled based on the determined total travel time.
Implementations may include one or more of the following features. An automobile may be determined as the modality of travel for travelir g the route between the first geographic location and the second geographic location, ai:.d a mapping device may be used to determine an automobile travel time associated witi traveling the route between the first geographic location and the second geographic Io ation using the automobile. A walking travel time associated with walking from a building to the automobile prior or subsequent to traveling the route between the first geographic location and the second geographic location using the automobile may be determined, and the walking travel time may be added to the automobile travel time
In some implementations, an airplane may be determined as the modality of travel for traveling the route between the first geographic location and the second geographic location, and an air travel time associated with traveling the route h rtween the first geographic location and the second geographic location using the airplane may be determined. A security travel time associated with going through se< cunty prior to boarding the airplane may be determined, and the security travel ti ιm: < e may be added to the air travel time.
In some examples, electronic data associated with the first ppointment may be accessed, electronic data associated with the second appointment may be accessed, and information associated with a distance between the first geography location and the second geographic location may be accessed. The electronic data issociated with the first appointment, the electronic data associated with the second appoin|ment , and the information associated with the distance between the first geograp ic location and the second geographic location may be analyzed. Based on the analysj s, the modality of travel that provides the shortest travel time for traveling the route ;tween the first geographic location and the second geographic location may be automatically determined.
Further, at least one of content associated with the first appointment and a geographic location field associated with the first appointment ma] be accessed, and a driving map associated with traveling between the first geographic location and the second geographic location may be accessed. The driving map may account for potential driving routes between the first geographic location and the second geographic location.
A walking map associated with traveling between the first geographic location and the second geographic location may be accessed. The walking map may account for potential walking routes between the first geographic location and the second geographic location.
The user may be able to select the modality of travel for traveling the route between the first geographic location and the second geographic location, m addition, multiple, different modalities of travel for traveling the route between the first geographic location and the second geographic location may be determined, arid a modality-based travel time associated with traveling the route between the first gee graphic location and the second geographic location using the determined multiple, different modalities of travel may be determined. At least one incidental travel time associated with transitioning from a first modality of travel to a second modality oJ travel may be determined.
In one aspect, an appointment in a calendar application is ic entified, and a geographic location of the appointment is identified. An appointm ;nt time at which the appointment is due to start and a current time are identified, and an amount of time remaining between the current time and the appointment time at wl ich the appointment is due to start is identified. At least a first participant of the appointn ;nt is identified, and a geographic location of the first participant of the appointment is id mtified at the current time. A route extending from the geographic location of the first p aticipant to the geographic location of the appointment is identified, a travel time i isociated with the route is identified, and it is determined whether the travel time exc ;eds the amount of time remaining until the appointment time. If it is determined that he travel time exceeds the amount of time remaining, a communication is sent.
Implementations may include one or more of the following features. For example, the travel time may be identified based on a current road condition or traffic flow, or the travel time may be identified based on a historic traffic flow. A mi dality of travel of the first participant to the geographic location of the appointment may >e identified, and, based on the modality of travel, the travel time associated with the oute may be identified.
Also, a time threshold at which travel could be completed b y adding the travel time to the current time may be identified, and a later time to schec lie the appointment may be determined based on the time threshold. The later time ma be the same as or later than the time threshold. The appointment time may be postpo aed to the later time to thereby enable the first participant to arrive at the geographic locat: on of the appointment.
Based on the postponed appointment time, updated appointment in ormation may be sent to at least one participant of the appointment or another designee.
In some implementations, the first participant may be alerte 1 that the first participant will be late to the appointment, and/or a second particip mt, other than the first participant, may be alerted that the first participant will be late to tl appointment. In these implementations, the second participant may be informed of ie geographic location of the first participant and the travel time of the first participant to ie geographic location of the appointment, and the second participant may be informed th< t the appointment is being changed to account for the travel time.
In some examples, the calendar application of the first and s ;cond participants may be accessed, and time availability of the first and second parti( ipants may be identified. In these examples, a mutually convenient time for the fi st and second participants to participate in a rescheduled version of the appointm nt may be determined based on the time availability of the first and second participants, a id the appointment may be automatically rescheduled at the mutually convenient time or the first and second participants. Further, in these examples, travel time may be accoui ted for in each of the first and second participants' schedules, and the mutually convenie it time may be selected from among multiple mutually convenient times based on, among other factors, temporal proximity to geographic locations associated with adjacei t appointments in one or both of the first and second participants' calendars. Also, one or more suggestions may be provided to the first articipant to respond to the alert message. The one or more suggestions may include a s ggestion to change the modality of travel used to compute the travel time associated w th the route, and/or a suggestion to send a message to the second participant informing tl ) second participant of an estimated arrival time. Telephone contact information may b accessed for the second participant, and a suggestion may be provided to the first p; ticipant to call the second participant. The suggestion may include a telephone numbs r for the second participant determined based on the accessed telephone contact infi rmation for the second participant.
In some implementations, a current geographic location of the first participant may be identified. In these implementations, the current geographi location of the first participant may be identified based on a location-based technology utilized by a client device of the first participant. The client device may utilize a glob positioning system, Further, a notification window may be displayed at a specified time that precedes the appointment time by at least the travel time to the geographic locat Dn of the appointment if it is determined that the travel time does not exceed the amount o time remaining until the appointment time.
In another aspect, appointment information within a calend; r application is dynamically updated. An appointment within a calendar applicatio i is identified, and appointment times at which the appointment is due to start and due ;o end are identified. It is identified that the appointment has been delayed for a certain a nount of time, and at least one remaining appointment within the calendar application is dentified. A need to reschedule at least one remaining appointment is determined based >n the certain amount of time that the appointment has been delayed, it is confirmed with it least one participant of the appointment that the remaining appointment should be reschi duled. The remaining appointment is dynamically rescheduled within the calendar applies tion such that a starting time of the remaining appointment is postponed by the cert iin amount of time.
Implementations may include one or more of the following features. For instance, participants of the remaining appointment maybe informed of the i scheduling of the remaining appointment. Availability of participants of the appointi ient at the postponed starting time may be confirmed, and the participants of the appoint nent may be notified when conflicts with the postponed starting time exist. hi a further aspect, travel conditions are monitored and chaj ges to travel conditions associated with one or more participants traveling to an φpointment are dynamically processed. An amount of time remaining until an app ήntment time at which an appointment is due to start is identified, and a travel time corres >< onding to a route of travel associated with one or more participants traveling to the app intment is identified.
Based on the identified amount of time remaining until the appoint nent time ; and the identified travel time corresponding to the route, it is determined it at the one or more participants traveling to the appointment are estimated to arrive at 1 ie appointment on time. Travel conditions for the route of travel associated with the e nd or more participants traveling to the appointment are monitored and a change in travel conditions is detected for the route of travel associated with the one or more participants traveling to the appointment. In response to detecting the change in travel conditions, an updated amount of time remaining until the appointment time at which the ppointment is due to start is determined, and a current location of the one or more partic pants is determined.
Based on the current location of the one or more participants, an up dated travel time corresponding to the route of travel associated with the one or mon participants traveling to the appointment is determined. Based on the updated amount of time remaining until the appointment time and the updated travel time corresponding to I he route of travel, it is determined that the one or more participants traveling to the appoir :ment are estimated to arrive at the appointment late based on the changed travel conditions. In response to determining that the one or more participants traveling to the appointment are estimated to arrive at the appointment late based on the changed travel conditions, a communication is sent.
Implementations may include one or more of the following features. For example, one or more alternative routes may be identified for the one or mor: participants traveling to the appointment, one or more alternative travel times associated vith each of the identified one or more alternative routes of travel may be determined, and it may be determined whether at least one of the one or more alternative trave times is less than the updated travel time. Conditioned on determining that at least one o the one or more alternative travel times is less than the updated travel time, at least ne of the one or more alternative routes of travel for which the one or more alternative tra el times is lowest is selected, and the one or more participants are alerted about the selected at least one of the one or more alternative routes of travel. Conditioned on determining that at least one of the one or more alternative travel times is not less than the updated travel time, the one or more participants are alerted about current travel conditions and an informed that the route of travel remains most efficient.
In some examples, an alert message may be sent to at least me of the participants of the appointment. The alert message may indicate that the one or more participants traveling to the appointment are estimated to arrive at the appointrr ent late based on the changed travel conditions. Also, the appointment may be dynamic illy rescheduled based on the updated travel time, and the participants of the appointment nay be notified that the appointment has been dynamically rescheduled. One or more s αbsequent appointments in a calendar of at least one of the participants of the appointment may be identified, and the one or more subsequent appointments may be d] namically rescheduled based on the dynamically rescheduled appointment.
In yet another aspect, a participant is assisted with a calendar appointment when the participant diverges from a suggested route for traveling to the alendar appointment.
A current geographic location of a participant traveling to an appointment scheduled in a calendar application used by the participant is determined, and info mation indicative of the suggested route of travel is accessed. The geographic location f the participant is compared to one or more geographic locations associated with the i oute of travel suggested for the participant, and, based on comparison results, it i determined whether the current geographic location of the participant traveling to the appointment differs more than a threshold from the one or more geographic locations associated with the route of travel suggested for the participant.
Conditioned on determining that the current geographic loc; lion of the participant traveling to the appointment differs more than the threshold from e one or more geographic locations associated with the route of travel suggested ff pr the participant, an updated route of travel to the appointment is determined based on the current geographic location of the participant, and a travel time associated with the upd lated route of travel to the appointment is determined. Based on the travel time associatec with the updated route of travel, it is determined whether the participant traveling ak ng the updated route is estimated to arrive at the appointment on time. Conditioned oonn de :termining that the participant traveling along the updated route is estimated to arrive it the appointment on time, the participant is provided with information related to the updited route of travel. Conditioned on determining that the participant traveling along the updated route is not estimated to arrive at the appointment on time, the participant is provided with information related to the updated route of travel, and a communic kion is sent.
Conditioned on determining that the current geographic loc ;ation of the participant traveling to the appointment does not differ more than the threshol .ii from the one or more geographic locations associated with the route of travel suggested or the participant, it is determined whether the current geographic location of the participant is on the route.
Conditioned on determining that the current geographic location o the participant is not on the route, information is provided to the participant related to h<j w to return to the route.
Implementations may include one or more of the following features. For example, an alert message may be sent to at least one of the participants oft e appointment. The alert message may indicate that the participant traveling to the app< intment is not estimated to arrive at the appointment on time. The appointment nj ay be dynamically rescheduled based on the travel time associated with the updated re ute of travel to the appointment, and the participants of the appointment may be notifis;d that the appointment has been dynamically rescheduled. One or more subs juent appointments in a calendar of at least one of the participants of the appointment ma be identified, and the one or more subsequent appointments may be dynamically resche J< iled based on the dynamically rescheduled appointment. hi another aspect, time associated with modality-specific incidentals to travel is accounted for in dynamically assisting a participant in handling an appointment. An appointment in a calendar associated with a participant of the appointment is identified, and an appointment time at which the appointment is due to start ar d a current time are identified. An amount of time remaining between the appointment time at which the appointment is due to start and the current time is identified, and a geographic location of the appointment is identified. A current geographic location of the participant of the appointment is identified, and a route extending from the current g< ographic location of the participant to the geographic location of the appointment is iden ittified. A modality of travel for traveling the route extending from the geographic location of the participant to the geographic location of the appointment is determined, and a mo dality-based travel time associated with traveling the route extending from the geographic location of the participant to the geographic location of the appointment using the determined modality of travel is determined. Based on the determined modality of trave , at least one incidental travel time associated with traveling the route extending from the geographic location of the participant to the geographic location of the appointment is determined, and a total travel time for traveling the route extending from the geographic location of the participant to the geographic location of the appointment is det< rmined based on the determined modality-based travel time and the determined at least me incidental travel time. It is determined whether the total travel time exceeds the am unt of time remaining until the appointment time. Conditioned on determining that the to al travel time exceeds the amount of time remaining until the appointment time, the partic ipant is dynamically assisted in handling the appointment.
Implementations may include one or more of the following features. For instance, an automobile may be determined as the modality of travel for trav ling the route extending from the geographic location of the participant to the gee graphic location of the appointment, and a mapping device may be used to compute an aui mobile travel time associated with traveling the route extending from the geographic 1 >cation of the participant to the geographic location of the appointment using the lutomobile. A walking travel time associated with walking from a building to the iutomobile prior or subsequent to traveling the route extending from the geographic lo< ation of the participant to the geographic location of the appointment using the iutomobile may be determined, and the walking travel time may be added to the autorr obile travel time,
In some examples, an airplane may be determined as the m( dality of travel for traveling the route extending from the geographic location of the pp;i rticipant to the geographic location of the appointment, and an air travel time asso' iated with traveling the route extending from the geographic location of the participant o the geographic location of the appointment using the airplane may be determined, A security travel time associated with going through security prior to boarding the airplar may be determined, and the security travel time maybe added to the air travel time.
Also, content associated with the appointment may be accei sed, and information associated with a distance extending from the geographic location c f the participant to the geographic location of the appointment may be accessed. The cont ;nt associated with the appointment and the information associated with the distance ex terj ling from the geographic location of the participant to the geographic location of :he appointment may be analyzed, and, based on the analysis, the modality of travel for t aveling the route extending from the geographic location of the participant to the ge< graphic location of the appointment may be automatically determined.
Figure imgf000023_0001
Figure imgf000024_0001
FIG. 13 illustrates an exemplary process used for alerting oi e or more users who are scheduled to participate in an appointment of possible delay of ,t least one of the participants to the appointment.
FIG. 14 illustrates an exemplary process for identifying a to vel time based on modality of travel.
FIG 15 illustrates an exemplary UI that is used to solicit, fb m a participant of an appointment, information regarding a modality of travel.
FIG. 16 illustrates an exemplary alert interface used for alerting a participant of an appointment that he or she is not likely to arrive at the appointment location on time.
FIG. 17 illustrates an exemplary alert interface showing opti ms that are presented to a participant of an appointment to avoid a scheduling conflict.
FIG. 18 illustrates an exemplary process used for rescheduling subsequent appointments of a user based on the determination that one of the a] •pointments of the user has been delayed.
DETAILED DESCRIPTION
It is contemplated that an electronic calendar may be configured to provide appointment-to-appointment directions (e.g., directions from a first appointment to a second appointment and from the second appointment to a third appointment), and/or to account for the travel time between appointments. As such, the use may be alerted when the timing of an appointment presents a potential conflict with anot ier appointment due to the travel time between the two appointments.
Along these lines, a user who maintains a calendar with app ήntments that take place at various locations may find it difficult or cumbersome to ids ntify a travel route through the locations of the user's appointments. Particularly, the u >er may find it time- consuming to manually look-up and print out directions for segmen s ofa travel route before leaving, for example, the user's home or work place.
To reduce the user's burden in identifying a travel route thrc ugh the geographic locations of the user's appointments, in one implementation describ ϊd generally with respect to FIGS. 1A-1B and 2-4, a calendar application is configure 1 to allow the user to automatically generate appointment-to-appointment directions and o reserve a time block between user's appointments to account for the travel time associate d with a route extending from one appointment to the next. To this end, the calenc ar application includes a navigation component and further includes a control opti m, manifested by an icon or a "setting," selection of which results in generation a travel route between multiple appointments and further results in reservation of a time block within the user's calendar to account for the travel time associated with the travel route.
To illustrate, assume that a user has two appointments withi i a calendar application (e.g., a first appointment and a second appointment) an< that the user selects, from within the calendar application, the control icon. In response the calendar application automatically (1) identifies a travel route extending froi i a geographic location of the first appointment to a geographic location of the sec md appointment, (2) identifies a travel time associated with the travel route, and (3) plac :s a hold on the user's calendar to account for such travel time. Additionally, the calenda application may provide the user with a reminder about the user's second appointment, taking into account the travel time associated with the calculated route extending from he geographic location of the first appointment to the geographic location of the s« cond appointment.
As such, depending on the required travel time, the user ma be presented with an option of selecting to travel immediately following the first appoint nent or just prior to the second appointment. Li the absence of sufficient time between he first and second appointments, the user is provided with an alert message at the timi of scheduling the first and/or the second appointment, informing the user of the same, as i lore fully described below with respect to FIGS. 9A-9C. The alert message may be in ε veral forms. Li one example, the alert message is in the form of automatic e-mail to the user (or a person to whom the user delegates the task of keeping the user's calendar), in forming the user of the conflict, hi another example, the alert message is provided as a user interface ("UI") within the calendar application. In either case, the alert message pr ivides the user with several options to allow the user (or a person to whom the user dele ζates the task of keeping the user's calendar) to account for such a conflict.
For instance, the alert message indicates to the user the anticipated need to leave the first appointment earlier than its scheduled ending time or arrivi ig at the second appointment later than its scheduled starting time. Alternatively, th alert message may provide the user with an option to reschedule the first and/or the second appointment. To this end and as described with respect to FIG. 9C, the calendar appl: iation may attempt to identify the availability of the participants of the first appointment i nd/or the second appointment for rescheduling either of the first and/or second appoi ltments. hi this manner, the user is presented with several options to resolve the coi flict (e.g., absence of sufficient travel time) between the first and second appointments. In another implementation described generally with respect o FIG. 5, after taking into the account the travel time associated with the travel route betw een the first and second appointments, the calendar application identifies that there i: an unscheduled time period in the user's calendar, and the calendar application informs the user of the same.
Along these lines, the calendar application may provide the user wi h suggestions as to how the user should fill in the identified gap between the user's firs and second appointments. This may help the user to more efficiently manage tt. ! unscheduled times within the user's daily calendar. hi one example, the calendar application presents to the useij a UI, allowing the user to identify a point of interest at which the user is interested in spending the unscheduled time, hi response, the user identifies a point of interesi (e.g., a coffee shop or a book store) and a geographic location associated therewith. Th geographic location may include a specific address associated with the point of interest, Alternatively, the geographic location may include a geographic area/proximity within which the point of interest should be located, hi either case, this implementation allow s the user to perform a geographically limited search for a particular point of interest to fi l in the identified gap between the user's appointments.
In another implementation described generally with respect a FIGS. 11 and 12A-
12D, instead of generating appointment-to-appointment directions and reserving a time block to account for the travel time between appointments after the ppointments are scheduled, the calendar application generates appointment-to-appoii tment directions and reserves a time block to account for the travel time between the app intments at the time of scheduling an appointment. To illustrate, assume that the user ha ■; scheduled a first appointment within the user's calendar and the user wishes to sched.ile a second appointment within the user's calendar. Upon indicating a desire t<: schedule the second appointment, the calendar notes the proposed time and location of tb e second appointment.
Thereafter, the calendar application automatically identifies . route extending between the first appointment and the second appointment and identifies the travel time associated with the route. If the travel time exceeds the time gap be een the first and second appointments, the calendar application alerts the user of the ame before accepting the second appointment at the requested time. As such, the user immediately realizes the conflict (e.g., absence of sufficient travel time between the first and ;econd appointments) and is allowed to schedule the second appointment at another time t avoid such conflict.
Figure imgf000028_0001
Figure imgf000029_0001
Figure imgf000030_0001
Similarly, the process 200 includes the calendar application dentifying a second appointment in the calendar application (220) and identifying the gi ographic location of the second appointment (225). Identifying the second appointment may include identifying an existing appointment already scheduled within a cale idar application, Alternatively or additionally, identifying the second appointment m iy include receiving a request to schedule a second appointment within a calendar applica ion . The calendar application uses the above-described techniques to identify the geoj raphiic location of the second appointment 120. In doing so, the calendar application real] zes that the geographic location of the second appointment 120 is U.S. Patent a d Trademark Office without a specific address. As such, the calendar application identi: ies a need for identifying an address associated with the U.S. Patent and Tradema k Office. To this end, the calendar application may use an exemplary process 300A ϊ lustrated by FIG. 3 A and an exemplary UI 300B illustrated by FIG. 3B to determine the ddress associated with the U.S. Patent and Trademark Office.
Process 300A begins with determining that the user has not pecified an address corresponding to an appointment location (310). To do so, in one ii lplementation, the calendar application searches the calendar application for the addrei s associated with the appointment. For example and as noted above, the calendar applies tion may reference a location field associated with the second appointment 120 to deterrr ine the address for the second appointment 120. Alternatively or additionally, the calendai application may reference other fields associated with the second appointment 120 a id may search for key words (e.g., a zip code, city, and/or state name) identifying an addrc ss. In the absence of such information, the calendar application concludes that the user h is not specified an address for the appointment location.
Upon identifying that the user has not specified an address f r the appointment location, the calendar application attempts to determine the address associated with the appointment location (320). To do so, the calendar application ma) solicit the user for such information, hi one example, the calendar application present; the UI 300B to the user, which includes an "address" icon, allowing the user to specify an address for the appointment location (e.g., U.S. Patent and Trademark Office). In me example, the selection of the "address" icon launches another UI, allowing the us ;r to specify the address for the appointment. The user may manually enter the addr !ss in the UI or may import the address into the UI from the user's profile. For example, the user's profile may include an entry for "U.S. Patent and Trademark Office" that s] (ecifies the address for "U.S. Patent and Trademark Office." The profile may include t e user s contact/address list. Alternatively, the calendar application may au omatically determine the address for the U.S. Patent and Trademark Office without havin the user to interact with the UI 300B. For example, the calendar application automatically obtains the address for U.S. Patent and Trademark Office from the user's profil
Alternatively, the calendar application may access an online resource (e.g., Internet) to perform a web search or a database search to determine ;he address for the U.S. Patent and Trademark Office. In this manner and in one speci:: c example, after performing the search, the calendar application identifies multiple addresses associated with the appointment.
To ensure the correct address is used, the calendar applicatiob may present another
UI to the user and may request that the user selects from among the multiple addresses associated with the appointment location. Upon identifying the address, the calendar application allows the user to obtain directions to the appointment location (320). To this end, the calendar application includes a directions/mapping selectio L portion 325 in the UI 300B, selection of which provides the user with directions and/o maps to the geographic location of the second appointment 120 from the geographic location of the first appointment 115.
Along these lines, the process 200 includes the calendar application identifying a route extending from the geographic location of the first appomtmei Lt to the geographic location of the second appointment (230). To do so, in one implem mtation, the calendar application has a built in navigation component, allowing it to genei ate directions from the geographic location of the first appointment 115 to the geo graph %c location of the second appointment 120. hi another implementation and as noted a] bove, the calendar application communicates the location information for each appointment to a navigation application that is physically or logically distinct from the calendar Application and requests, from the navigation application, that it identifies the travel route and the travel time associated therewith. The U.S. Patent Application Serial Number 11/618,069, filed on December 29, 2006 and entitled "Communicating Appointment uid/Or Mapping rnformation Among A Calendar Application And A Navigation Ap] lication, describes in detail concepts that effect communications of appointment inforn ation from a calendar application to a navigation application for generating a travel route nd a travel time associated therewith. The entire content of this application is incorporated herein by reference.
Figure imgf000033_0001
Figure imgf000034_0001
(not shown) that displays a travel route extending from the geograplic location of the first appointment to the geographic location of the second appointment, identifies the geographic locations associated with the point of interest along the route, and requests, from the user, to select, from among the identified geographic locations, a location for the point of interest.
Referring again to FIG. 2, if it is determined that the travel time exceeds the amount of unscheduled time (250, no), the calendar application alerts the user of the conflict and provides the user with one or more suggestions to resob re the conflict. In one example, the calendar application presents to the user a UI, providin g one or more suggestions to make able the user to respond to the alert message, The process associated with generating an alert message is more fully described below witit respect to FIG. 9A and the UI providing the user with one or more suggestions is more fully described below with respect to FIG. 9B.
In one implementation, the calendar application is configure I to allow the user to set a travel time reminder, reminding the user to leave the user's current location at a specified time that precedes the starting time of the appointment by it least the travel time to the appointment. In keeping with the previous example describe* with respect to FIGS. IA and IB, the calendar application is configured to allow th : user to set a travel time reminder, reminding the user to leave at a specified time that p ecedes the starting time (e.g., 1 :00 pm) of the second appointment 120 by at least the tr ivel time (e.g., 60 minutes) to the second appointment 120.
FIG. 6 illustrates an exemplary UI 600 that makes able the ui er to set such reminders within a calendar application. The UI 600 includes a rem nder selection portion 610. The reminder selection portion 610 includes one or me re options selection of which instruct the calendar application to remind the user at a "sp icified time" in advance of the allocated travel time block to arrive at a geographic ideation of the second appointment on time, hi one example, the user's selection of the reminder selection portion 610 launches another UI (not shown), allowing the user to S' t the "specified time." For example, the user may request to be reminded about an < ppointment 10 minutes before the time the user should leave the user's present loc; ion to arrive at the appointment location on time. The reminder selection portion 610 so allows the user to specify the manner in which the reminder should be sent to the user. As shown in FIG. 6, the user may choose to receive the reminder via, for example, via ar audio call placed to a telephone, an email, an instant message, and/or "other" options, suα as short message service ("SMS").
The calendar application may be configured to allow the usei to set alert messages, alerting the user about different events, hi one specific e: ample, the user may wish to set an alert message, alerting the user if the travel time assoc ated with the calculated route between the first appointment and the second appointment changes due to a change in the current road conditions, hi another example, the u ser may wish to set an alert message, alerting the user about conflicting appointments. I i keeping with the previous example, the timing of the first and second appointments th it previously did not conflict with each other even after taking into account travel time frc tn the first appointment to the second appointment, may now present a conflict iue to the new calculated travel time and the alert message informs the user of the s, ϊime e. hi yet another example, the user may set an alert message, alerting the user of an unscheduled within the user's calendar application, hi yet another example, the user may se an alert message, providing the user with updated directions and an updated travel timέ if the user deviates from the previously calculated route.
FIG. 7 illustrates an exemplary UI 700 used to allow the user to set an alert message, alerting the user of certain pre-defined conditions/events. The UI 700 includes an alert selection portion 710. As shown, the alert selection portion 10 includes four user-selectable alert options. The first alert option, described below in more detail with respect to FIGS. 8A and 8B, alerts the user if current road conditions change and may suggest an alternate route to the user that avoids problematic routes associated with the change in the road conditions. The second alert option, described below in more detail with respect to FIGS. 9A-9C, alerts the user about conflicting appointments (e.g., absence of sufficient travel time between the appointments) and may suggest possible options to help the user avoid the conflicting appointments.
The third alert option, described above in more detail with respect to FIG. 5, alerts the user about a time period that is unscheduled between the user's appointments and may suggest an alternate schedule to help the user to more efficiently use pe unscheduled time slot. The fourth alert option, described below with respect to FIGS. IOA and 1OB, alerts the user if the user deviates from the previously calculated route and provides the user with new directions based on the user's present location. More particularly, the user's selection of the fourth alert option instructs the calendar application to update the calculated route based on real time information, such that a user deviating from the original route may receive an updated route (an updated effect on a calendar of appointments) to the user's next appointment location.
FIG. 8A illustrates an exemplary process 800A that a calendar application uses to alert a user about a change in current road conditions. In keeping with the previous example and for convenience, the calendar application described witti respect to FIGS.
IA and IB is referenced as performing the process 800A. In particu ar, the process 800A involves the first appointment 115, the second appointment 120, the ;ontrol icon 125, and the travel time block 130. Although the process 800A is described b :low as being performed by the calendar application, it should be understood that i can be performed by a navigation application. Alternatively or additionally, some of t ie actions within the process 800A may be performed by the calendar application and oth :rs may be performed by the navigation application. Alternatively or additionally, the process 800A may be performed by an application that acts as an interface between the na igation and calendar applications.
Moving forward with the calendar application performing the actions of the process 800A, the calendar application may use the process 800A, fc r example, in response to the user's selection of the first alert option in the alert sej ection portion 710 illustrated by FIG. 7. Alternatively or additionally, the calendar app ication may use the process 800A in response to the user's selection of the control icon 125.. hi either case, the process 800A includes the calendar application monitoring the n ad conditions between the user's appointment locations (805). For example, the calendar application monitors the road conditions associated with the previously calculated travel route extending from the geographic location of the first appointment 115 :o the geographic location of the second appointment 120. To do so, in one implementation, the calendar application regularly contacts a server that includes traffic data to obtain current road conditions between the user's appointments. To minimize the burden on the server initially, the calendar application may contact the server less frequently and, as it gets closer to the time the user has to leave the geographic location of the first appointment 115 to arrive on time at the geographic location of the second appointment 120, the calendar application contacts the server more often to obtain more up to date information. Regardless, the calendar application determines that there is a change in the road conditions (810). The change in the road conditions may include events such as traffic, accidents, rush hours, construction, road blocks, and/or adverse weat> ier conditions resulting in a slower recommended speed limit. The calendar application identifies the
Figure imgf000038_0001
alternative routes, from among the identified alternative routes, with! the two lowest travel times). In response to identifying the at least one alternative route with a travel time that is lowest, the calendar application alerts the user of the change in the current road conditions and displays to the user the one or more identified alternaj ive routes, informing the user that the alternative routes will result in an increase in travel iime compared to the initial travel schedule, but also informing the user that they will decrease travel time compared to travel time on the current route under the current road conditions (860).
To alert the user, the calendar application may display to the user a UI informing the user of the time, present location, and the adverse condition, and suggesting that the user takes a different route to the user's next appointment location. iVlternatively or additionally, the calendar application may store the directions associ ited with the new route in the travel time block 130 for later access by the user and ma/ update the travel time associated with the new route.
FIG. 8B illustrates an exemplary UI 800B the calendar application uses to alert a user about a change in current road conditions. The UI 800B inform 3 the user of the present time (e.g., 11 :00 am), the user's present location (e.g., the ft 3t appointment location), and the user's next destination (e.g., the second appointment location). As shown in FIG. 8B, the UI 800B also informs the user that if the user were able to travel under normal conditions, the user could expect to arrive at the Seconal appointment location in 60 minutes. However, problematic conditions adversely Effect the ability of the user to achieve that estimated travel time. In particular, the alert message indicates that "[fjhere is heavy traffic due to an accident on the 1-60" and now it will take the user 3 hours to arrive at the second appointment location.
In one implementation, to estimate the new travel time, the calendar application compares the travel time of the original route under the current road conditions with the travel time of an alternative route and suggests to the user the route vdth the minimum travel time. For example and as shown in FIG. 8B, the calendar application determines the alternative route has the minimum travel time (e.g., 2 hours) and suggests taking the alternative route. The calendar application also communicates to the user to leave immediately if the user wishes to arrive at the second appointment L ation on time. The
UI 800B also makes able the user to view the alternative route via, f Tcr example, selecting the "view" icon. Alternatively or additionally, the user can view the alternative route via, for example, selecting the travel time block 130. It is to be understood that other alternative may be presented to the user. For example, the user may 3e presented with an option to postpone and/or cancel the second appointment and inform the participants of the second appointment of the same.
FIG. 9A illustrates an exemplary process 900A used for generating an alert message informing the user of conflicting appointments. The action- performed by the process 900A are similar to some of the actions performed by the process 200 illustrated by FIG. 2. In keeping with the previous example and for convenienc e, the calendar application described with respect to FIGS. IA and IB is referenced as performing the process 900A. hi particular, the process 900A involves the first appc intment 115, the second appointment 120, the control icon 125, and the travel time block 130. Although the process 900A is described below as being performed by the calendar application, it should be understood that it can be performed by a navigation appli ition. Alternatively or additionally, some of the actions within the process 900A may be performed by . the calendar application and others may be performed by the navigation ipplication.
Alternatively or additionally, the process 900A may be performed by an application that acts as an interface between the navigation and calendar applications
The process 900A may be used, for example, in response to tfte user's selection of the control icon 125. Alternatively or additionally, the process 900A may be used, for example, in response to the user's selection of the second alert option in the alert selection portion 710 illustrated by FIG. 7. In either case, the process 900A iri :ludes the calendar application determining the amount of unscheduled time between the first appointment
115 and the second appointment 120 (910A). The action (910A) is sj milar to action
(240). To this end and as more fully described above with respect to process 400 illustrated by FIG. 4, the calendar application identifies that the amotnt of unscheduled time is about 2 hours. The calendar application then identifies the travel time for the route extending from the geographic location of the first appointment 115 to the geographic location of the second appointment 120 (915A). The actόn (915A) is similar to action (235). For example, the calendar application identifies that the travel time is 2 hours and 30 minutes.
The calendar application then compares the travel time with Ae amount of unscheduled time (920A) and based on the comparison, determines if the travel time exceeds the amount of unscheduled time (925A). The actions (920Aι and (925A) illustrate action (245) in more detail, hi keeping with the above-desc ibed example, the calendar application identifies that the travel time exceeds the amoun of unscheduled time by 30 minutes. Accordingly, the calendar application alerts the iser of the conflict
Figure imgf000041_0001
Figure imgf000042_0001
the host that is used to derive location information. For example, th host may derive location information based on how the client device is accessing the network (e.g., as identified by source IP address or another packet identifier).
In yet another alternative, the present location of the user is a an tomatically determined from the user's profile. For example, the user has associ il . ited profile or contact information indicating a predetermined home and/or office ldcat ion. In one specific example, the user of a client office computer has previously tored the location of the user's office in the user's profile. Thus, the navigation applicatiq: i uses the user's profile to determine the office location.
Upon determining the current location, the calendar application references the originally calculated route (1010) and checks to determine whether tl e current location of the user differs more than a threshold amount from the originally-cal iMilated route (1015).
If not (1015, no), the calendar application checks to determine wheth :r the current location is on the route (1020) and if so (1020, yes), the calendar app ication continues to monitor the current location of the user to account for the possible departure of the user from the route. If, however, the current location of the user is nnoott oonn the route (1020, no), the calendar application shows the user how to return to the originally -calculated route (1025). FIG. 1OC illustrates a UI IOOOC that may be used to help the user to return to the originally-calculated route. After showing the user how to return to tie originally- calculated route, the calendar application waits a period of time (e.g., a predetermined and configurable period of time, a time determined based on the distance from the originally- calculated route, etc.) or until the user has returned to the originally-calculated route, and continues to monitor the current location of the user to account for departure of the user from the originally-calculated route (1028).
If the current location of the user does differ more than a threi ihold amount from the originally-calculated route (1015, yes), the calendar application at erts the user (1030).
In one example, the threshold is 1 mile from the originally calculated route. If the current location of the client device differs more than the threshold amount from the originally calculated route, the calendar application alerts the user (1030) and p! ovides the user with directions to the user's next appointment location from the current location of the client device (1035). Although FIG. 1OA illustrates that actions (1030 and 035) are performed serially, it is possible that actions (1030 and 1035) can be performed simultaneously.
The calendar application may use a UI, such as the one showr in FIG. 1OB, to alert the user and provide the user with updated directions. As desc: bed further below with respect to FIG. 1OB, the alert message also informs the user of the time and location of the user's next appointment and the travel time to the next appoin ment location based on the user's present location.
FIG. 1OB illustrates an exemplary UI IOOOB used to alert a u; ier that the user has deviated from an original route. In particular, the alert message note s to the user that "it is currently 11 :00 am, and it seems you have deviated from the original route. You are presently located at 1100 F St., NW, Washington D.C. 20005."
The alert message also informs the user of the time and locat on of the user's next appointment (e.g., the second appointment 120) and the travel time ( :g., 30 minutes) to the next appointment location based on the present location of the u: :r. The alert message also allows the user to view directions from the present loc tion to the next appointment, hi one implementation, the calendar application deterr iiinnes whether the user arrives on time at the user's next appointment based on the new travel time and informs the user in either case. If the user is going to be late to the a jpointment based on the new travel time, the calendar application may present the user w: th one or more suggestions to avoid such conflict. For example, the calendar applic ition may present the user with options similar to those described with respect to FIG. 9B.
FIG. 1OC illustrates an exemplary UI IOOOC used to alert the user that the user has deviated from the originally-calculated route by less than a threshold amount and helps the user to get back on the originally-calculated route, hi particular, the alert message notes to the user that "it is currently 11:00 am, and it seems you have deviated from the originally calculated route by less than a threshold amount." In keep ing with the example described with respect to FIG. 1OA, the user who is presented with tl e UI lOOOC may have deviated from the route by less than a threshold amount (e.g., 1 mile). Regardless, the alert message IOOOC allows the user to view directions in order t get back on the originally-calculated route.
Other implementations are also contemplated. For example, instead of or in addition to allowing the user to a reserve, within a calendar applicati )n, a time block for the travel time between multiple appointments after the multiple appointments have already been scheduled, as described with respect to FIG. 2, the user is allowed to reserve, within the calendar application, a time block for such travel ime during scheduling of an appointment. As such, in this implementation, the ser immediately realizes the conflict (e.g., absence of sufficient travel time between appointments) at the time of scheduling an appointment, and the user is allowed to sched Ie the appointment at another time to avoid such conflict. This minimizes the hassle of later recognizing such conflict and having to reschedule the already scheduled appointment at that time.
FIG. 11 illustrates an exemplary process 1100 used to make a Die a user to determine presence or absence of a conflict (e.g., absence of sufficient travel time) between an already scheduled first appointment and a second and nejy appointment that the user wishes to schedule at a particular time. In keeping with the previous example and for convenience, the calendar application described with respect :o FIGS. IA and IB is referenced as performing the process 1100. In particular, the process 1100 involves the calendar application interface 110, the first appointment 115, the second appointment 120, the control icon 125, and the travel time block 130.
Although the process 1100 is described below as being perfoiimed by the calendar application, it should be understood that it can be performed by a na-s igation application. Alternatively or additionally, some of the actions within the process 100 may be performed by the calendar application and others may be performed iy the navigation application. Alternatively or additionally, the process 1100 may be p erformed by an application that acts as an interface between the navigation and calendar applications.
The process 1100 includes many of the actions described witi respect to the process 200. As such, for the sake brevity, only the actions that are different is described here in more detail. These actions include actions (1110, 1150, 1155 and 1160). To illustrate, the process 1100 includes the calendar application receivin I, from a user, a request to schedule, within a calendar application, a new (second) ap; ointment 120 at a particular time (1110). To formulate such a request, in one implemertation, the user clicks on the time windows appearing on the calendar application int ;rface 1110. This results in generation of a UI, similar to the one shown and described below with respect to FIG. 12C, soliciting, from the user, to specify the time, date, subje< ;t, and location of the second appointment 120. After identifying this information, the use may save the second appointment 120 within the calendar application by selecting the "save and close" icon.
Before saving the second appointment 120 into the calendar pplication, however, the calendar application may first determine whether the proposed se :ond appointment present a conflict (e.g., absence of sufficient travel time) with an already scheduled first appointment 115. If not (1145, yes), the calendar application schedu !S the second appointment 120 at the proposed particular time (1150). Additional!? r, the calendar application also reserves a travel time block within the calendar appϊ: cation to account for the travel time (1155). In one implementation, the calendar applicati n places the travel time block immediately before the starting time of the second appointment, hi another implementation, the calendar application places the travel time block immediately after the ending time of the first appointment. In yet another implementation, the calendar application presents to a user a UI (not shown), allowing the user to :lect where the time block should be located between the first and second appointments. In either case, the user may have the option of removing and/or adjusting the travel tim block placed between the first and second appointments.
However, if it is determined that the amount of travel time exceeds the amount of unscheduled time (1145, no), the calendar application alerts the user i f the conflict and provides the user with suggestions before or at the time of saving the second appointment 120 into the calendar application at the particular time (1160). In one example, the calendar application presents to the user a UI, providing the user witr one or more suggestions in resolving the conflict, as described above in more deta 1 with respect to FIGS. 9A-9C. hi response, the user may simply select to schedule the second appointment at another time that does not present such a conflict.
FIGS. 12A-12D illustrate, within the UIs 1200A-1200D, an ώ emplary sequence of interactions between a calendar application and a user wishing to s Jiedule an appointment using the process 1100 described with respect to FIG 1 FIG. 12A illustrates an exemplary UI 1200A enabling a user to perceive, within the calendar application, an already scheduled appointment and to schedule a new appointment in the absence of a conflict (e.g., absence of sufficient travel time) between :he already scheduled appointment and the new appointment.
The UI 1200A includes a calendar application interface 1210. The calendar application interface 1210 includes, within a particular day (e.g., Mor day, April 23, 2002), an already scheduled first appointment 1215. As shown, the first appointment 1215 is with "patent attorney Karl Renner at 1425 K Street, NW, Washington D.C.
20005." Thereafter, the calendar application receives, from the user, a request to schedule a second and a new appointment 1220, which appears to be with "a patent examiner Joe Smith at U.S. Patent and Trademark Office." As show] , in one implementation, the request is in the form of drag and drop operation. hi particular, the user drags, from another application and into the calendar application interface 1210, the information about the second appointrijient 1220 and drops, within the calendar application interface 1210, the information about he second
Figure imgf000047_0001
The subject field 1235 allows the user to identify the subject ssociated with the third appointment. For example, as shown, the subject associated wi h the third appointment includes "appointment with Dr. Jones." The location fi :ld 1240 allows the user to identifying the geographic location of the third appointment. ΌΓ example, as shown, the geographic location of the new appointment is at "11208 !amp Rd. Bethesda, Maryland, 20854." The starting time and ending time fields 1245, 1 50, identify the starting date/time and ending date/time associated with the third appi intment, respectively. For example, as shown, the starting date/time of the thi d appointment is on Thursday, April 23, 2002 at 11 :00am and the ending date/time of the third appointment is on Thursday April 23, 2003 at 11 :30am. The reminder field 1255 all )ws the user to set a reminder for the appointment. For example, as shown, the user has ecified a reminder 15 minutes in advance of the appointment time.
To schedule the appointment, the user may click on "save anc close" icon 1260.
This causes the appointment information to be saved within the calendar application, and the appointment information to be presented on the calendar applicat on interface 1210 between the first and second appointments 1215 and 1220, as shown n FIG. 12D. However, before or at the time of scheduling the third appointment 1 65, the calendar application again uses the process 1100 to determine whether the tim ng of the third appointment 1265 present a conflict (e.g., absence of sufficient travel time) with the already scheduled first and second appointments 1215, 1220.
To this end, the calendar application automatically identifies first route extending from the geographic location of the first appointment 1215 to the geographic location of the third appointment 1265 and identifies a first travel tim e associated with the first route. Similarly, the calendar application automatically identifie a second route extending from the geographic location of the third appointment 126 to the geographic location of the second appointment 1220 and identifies a second trav 1 time associated with the second route. The calendar application then compares the fi: st travel time with the time gap between the first and third appointments 1215, 1265 anc similarly compares the second travel time with the time gap between the third and seconi appointments 1265, 1220.
If the first travel time exceeds the time gap between the first snd third appointments 1215, 1265 or the second travel time exceeds the time ;ap between the third and the second appointments 1265, 1220, the calendar application akrts the user before or at the time of accepting the third appointment 1265 at the requested t me. As such, the user immediately realizes the conflict and is permitted to schedule U e third appointment 1265 at another time to avoid the conflict. For example, and as shov [αi, the calendar application generates a pop-up window 1270 informing the user of tljie conflict.
Alternatively, if the first travel time does not exceed the time gap between the first and third appointments 1215, 1265 and the second travel time also d :>es not exceed the time gap between the third and second appointments 1265, 1220, the calendar application schedules the third appointment 1265 at the requested time.
Although FIG. 9B illustrates some of the suggestions that may be offered to the user to avoid the conflict between two appointments, other suggestions also are possible. For example, upon determining that two appointments are conflicting (e.g., there is an absence of sufficient travel time from the first appointment location [to the second appointment location), the calendar application may offer to the usei to default to a telephone or video conference to avoid the conflict, hi keeping with the example described about with respect to FIG. 9B, upon realizing that the amount of unscheduled time between the first appointment and the second appointment is Ie s than the travel time between the two, the calendar application may offer to the user to co: duct either the first appointment or the second appointment via telephone.
Along these lines, at a time of scheduling an appointment, thb user may be presented with an option to specify whether an appointment is to be conducted via a teleconference or a video conference. If so, the calendar application does not take into account that appointment for purposes of reserving a time block to account for the travel time. To illustrate, assume that the user has three appointments wi i the user's calendar on a particular day. The first appointment is to be conducted live at 0:00am, the second appointment is to be conducted via a telephone conference at 11 :00; and the third appointment is to be conducted live at 12:00pm. The calendar applic ation realizes that the second appointment is a teleconference or a video conference appointment, and, as such, the calendar application does not reserve a time block for travel time between the first appointment and the second appointment and similarly between the second appointment and the third appointment.
Instead, the calendar application reserves a time block to account for travel time from the first appointment to the third appointment. That is the calendar application intentionally disregards the second appointment for purposes of reserving a time block to account for the travel time, hi one implementation, the user is informed that the travel time between the first and third appointment impinges on the schedu ied second appointment that takes place via a teleconference, for example. And, the user is presented with an option to schedule the travel before, during, or after the intervening teleconference appointment. hi a slightly different implementation, instead of the user explicitly specifying that the appointment is a teleconference one, the calendar application inf :rs such conclusion from the information associated with the appointment. Li one example, if there is a dial- in number and/or a pin number associated with the appointment and thus, is location independent, the calendar application concludes that the appointme is to be conducted via a telephone, and, as such, does not take into account the appointment for purposes of identifying a travel time, hi one implementation, the calendar appliication confirms with the user as to whether the appointment is indeed to be conducted vi a telephone to reduce errors.
Similar to the notion of recognizing and accounting for telephone and/or video conference appointments, the calendar application also may recogni: ;e certain keywords (e.g., airports, flights) or locations (e.g., airports) associated with a calendar event, and may have a particular setting to set aside time in addition to the travd time to account for certain routine activities (e.g., going through security). Similarly, thj calendar application may set aside time to account for other factors, such as, for example, time needed to get from the car to a meeting. In keeping with the example described above with respect to FIG. 9B, the calendar application notifies the user that the travel time : between two appointments is 130 minutes (120 minutes of travel time plus an additional 10 minutes to get from the car to the meeting). As such, the calendar application reserves a time block for 130 to account for the time needed for the user to get from the ca r to the meeting,
In another implementation, the calendar application cancels or modifies the already scheduled travel time block upon determining that the user yishes to cancel an appointment used for the estimation of the travel time block. FIG. 1 E illustrates an exemplary process 1200E used by the calendar application to cancel and/or modify the travel time block upon receiving an indication from the user to cancel an appointment that is used to estimate the travel time block.
The process 1200E includes receiving a notification of an appointment cancellation (1210E). In keeping with the example described with n iSpect to FIG 12D, the calendar application may receive a notification that the first appointment 1215 with the patent attorney Karl Rentier should be canceled. Upon receiving such an indication, the calendar application identifies the travel time block that is based on the canceled appointment (1215E). Toward this end, the calendar application identifies the travel time block 1230 that is reserved for the travel time between the first appointment 1215 and the second appointment 1220. And, the calendar application either cancels or modifies the travel time block (1220E).
In one example, if the only remaining appointment is the second appointment 1220, the calendar application cancels the travel time block 1230. However, and as shown in FIG 12D, if there is a third appointment 1265, the calendar application modifies the travel time block such that it is based on the third appointment 1265 . Although, the third appointment 1265 is shown in FIG. 12D to take place after the first appointment 1215, it is to be understood that the third appointment 1265 can take place before the first appointment 1215. In either case, the calendar application identifies the new travel time block and informs the user of the same (1225E).
Other implementations are contemplated. For example, in an Dther general aspect and as described in more detail below with respect to FIG. 13, the concept :s described herein also relate to a system that dynamically updates appointment i nformation within a calendar application based on the current location of the user scheduled to participant in an appointment. The system identifies the current location of the user ., and based on the current location of the user the system approximates the arrival of th : user to the geographic location of the user's next appointment. To do so, the syi tem may take into account the user's modality of travel. The modality of travel may include driving, walking, public transportation, and/or other means of traveling, such as, bicycling. Based on the estimated arrival time, the system may inform the user that the user is running late to the meeting. Similarly, the system may inform other participants of the appointment, thereby saving the remaining participants of waiting for the user.
By way of example, GPS or other location-based information about at least one of the participants in the appointment can be used to automatically (e.g on the fly) update the appointment in the participant's electronic calendar application (e .g., Microsoft Exchange). To this end, if the participant is 20 minutes walk or drive away from and just underway to an appointment that is due to start now, the appointmem can be rescheduled to start in 20 minutes, saving the remaining participants from waiting . In one implementation, to determine the travel time of the participant to the geographic location of the appointment real time traffic and travel data can be leveraged to account for the participant's travel time to a distant meeting. Similarly, this information can be used to alarm the participant as to when he/she needs to depart in order to arrive at the geographic location of the appointment on time.
In another general aspect and as described in more detail with : respect to FIG. 18, the concepts described herein also relate to a system for identifying hat a user's appointment has been delayed and dynamically rescheduling the use r's subsequent appointments to account for the delay. To illustrate, assume that the doctor is running late to his or her first patient meeting and as such the first appointment that is due to start at 9:00am and last until 9:15am actually starts at 9:15am. The system realizes this delay, identifies subsequent appointments within the doctor's calendar, and automatically reschedules the remaining appointments. For example, the system postpones each appointment by 15 minutes. As such the next appointment that was iue to start at 9:15am and end at 9:30am will be postponed such that it will start at 9:30am and end at 9:45am.
The system also may inform other participants of the appointment, thereby saving the remaining participants of waiting for the user. This scenario can be Useful in, for example, allowing patients to delay their arrivals at doctor's offices i :r doctors are running late.
FIG. 13 illustrates an exemplary process 1300 used for alerting one or more users who are scheduled to participate in an appointment of possible delay of the at least one of the participants to the appointment, hi keeping with the previous example and for convenience, the calendar application described with respect to FIGS . IA and IB is referenced as performing the process 1300. hi particular, the proces 1300 involves the calendar application interface 110, the first appointment 115, and the second appointment
120.
Although the process 1300 is described below as being performed by the calendar application, it should be understood that it can be performed by a naΛ igation application.
Alternatively or additionally, some of the actions within the process 1300 may be performed by the calendar application and others may be performed by the navigation application. Alternatively or additionally, the process 1100 may be performed by an application that acts as an interface between the navigation and calendar applications.
The process 1300 may be activated either manually or auto: .tically. The manual activation may be through a setting (e.g., an icon) appearing in the calendar application or a navigation application. The process 1300 includes the calendar application identifying an appointment within a calendar application (1305) and identifying ii geographic location of the appointment and the time at which the appointment is due to start (1310). To identify the geographic location of the appointment, in one implementation, the calendar application references a location field associated with the appointment.
Alternatively or additionally, the calendar application may reference other fields associated with the appointment and may search for keywords identifying an address. In one example, the calendar application searches for a zip code, city, alnd/or state name to identify an address, hi this manner, the calendar application identifi 3S that the geographic location of, for example, the first appointment 115 is at "1425 K Stn :et, NW, Washington D.C. 20005."
To identify the time associated with the appointment, in one implementation, the calendar application references a time field within the calendar appli cation to identify the time during which the appointment is scheduled to take place. Alter datively or additionally, the calendar application may reference other fields associated with the appointment and may search for keywords identifying time of each <. Appointment, hi one example, the calendar application searches for key words, such as ": tarting time," "ending time," "from 10:00am to 11 :00am," and other possible texts indicative of the time of the appointment, hi this manner, the calendar application id ϊntifies that the time associated with, for example, the first appointment 115 is from "10:00 am to 11 :00 am."
The process 1300 also includes the calendar application identifying participants of the appointment (1315). m one example, the calendar application searches participant field to identify the participants of the appointment. To this end, the calendar application identifies at least two participants (e.g., a first participant and a second participant). The first participant may be the owner of the calendar application referer bed in FIGS. IA and IB, for example.
After identifying the participants of the appointment, the calendar application identifies, at a time before the appointment time, a geographic location of one of the identified participants (1320). For example, the calendar applicatior identifies the geographic location of the first participant (e.g., the owner of the calendar application referenced in FIGS. IA and IB).
In some configurations, the calendar application automatical y identifies a geographic location of one of the identified participants at a predetermined time before the appointment. For instance, the predetermined time may be immediately preceding the appointment time or may be, for example, fifteen minutes prior to th e appointment. The predetermined time may be at a user-specified or a system-specified time in advance of the appointment time, hi other configurations, the calendar application identifies a geographic location of one of the identified participants in response to a user requesting the calendar application to identify the geographic location. An administrator, an appointment participant, an organizer of the appointment, or anothei j user related to the appointment may inspire the calendar application to identify the geographic location. For example, a first appointment participant may contact an assistant of a second appointment participant to determine whether the second appointment participan will be attending the appointment in person, by telephone, or whether a need exists to re; diedule the appointment. In this example, the assistant of the second appointment participant may inspire the calendar application to identify the geographic location of the second appointment participant to obtain the information requested by the first appointment participant.
In one implementation, the calendar application automatical y determines the present location of the first participant using location providing techjnology implemented in the client device of the first participant. If the client device is equipped with multiple location providing technologies, the calendar application may use : the technology that provides the more accurate information about the present location. JB o' ne example, the client device includes a mobile device that is GPS-enabled, and the i alendar application automatically determines the present location of the first participant based on the GPS position of the client device. In another example, the present location of the first participant is automatically determined by registering the client device with a host (e.g., a Session Initiation Protocol ("SIP")) server. The client device may p: fovide information to the host that is used to derive location information. For example, th host may derive location information based on how the client device is accessing the network (e.g., as identified by source IP address or another packet identifier).
In yet another alternative, the present location of the first participant is automatically determined from a profile associated with the first participant. The profile and/or contact information may indicate a predetermined home and/ar office location. In one specific example, the user of a client office computer has previously stored in his/her profile the location of the first participant's office. Thus, the calendar application uses the profile to determine the office location.
After identifying the geographic location of the first participant, the calendar application identifies a route extending from the geographic locatior of the first participant to the geographic location of the appointment (1325). Tc this end, in one example, the calendar application is equipped with navigation capabilities. Alternatively
Figure imgf000055_0001
FIG. 14 illustrates an exemplary process for identifying a travel time based on modality of travel. The calendar application identifies a modality o travel of the participant to the geographic location of the appointment (1410). Tc do so, in one implementation, the calendar application presents a UI to solicit, from the first participant, such information.
FIG. 15 illustrates an exemplary UI 1500 that is used to solicit, from the participant of the appointment, information regarding the modality cf travel. The UI 1500 requests that the first participant specifies or confirms the modality of travel and to this end presents to the user several options. The several options include walking, driving, public transportation, and others. The "others" option may be selected if the first participant's choice of travel does not appear among one of the walking, driving, or public transportation. For example, the user choice of travel may be via a bicycle. To this end, the selection of the "others" option generates another UI allowing the first participant to specify the modality of travel (e.g., a bicycle).
Referring again to FIG. 14, based on the modality of travel, tie calendar application identifies travel time associated with the route (1420). Ii identifying the travel time, the calendar application may take into account the speec of traveling. The speed of traveling may include an average speed based on the s i;pecified modality of travel or actual speed of travel. The calendar application may determine trjat actual speed of traveling by soliciting it from the user or automatically gleaning it from the client device.
To identify the travel time, the calendar application also may take into account traffic conditions. The traffic conditions may include current traffic flow or historic traffic flow. The current traffic flow maybe determined by contacting a server that includes traffic data to obtain current road conditions between the us er 's appointments,
Referring again to FIG. 13, the calendar application also identifies the amount of time remaining until the appointment time at which the appointment is due to start (1340).
The time remaining may be determined by identifying a present or current time and subtracting the present or current time from the starting time of the ppointment. Unless the present or current time is after the appointment time, the amount of time remaining until the appointment time is a positive number and may be used to determine whether the first participant is likely to arrive at the appointment on time.
Based on the time remaining until the appointment, the calendar application determines whether the travel time exceeds the amount of time remaining until the appointment (1345). For example, the calendar application may compare the travel time
Figure imgf000057_0001
potential conflict.
Figure imgf000058_0001
participant to change the current travel mode to a different one. Foi example, the first participant may be instructed to change the travel mode from public transportation to driving.
In a slightly different implementation, instead of the first participant having to select one of the options presented in the UI 1700, the calendar application automatically selects one of the options based on the user preferences. For examp Ie, upon determining that the first participant is running late to the appointment, the calenjdar application automatically sends a message to the other participants informing them that the first participant is running late along with the estimated arrival time. Fo: another example, upon determining that the first participant is running late to the appointment :, the calendar application automatically reschedules the appointment at a convenient time for the attending users. In yet another example, upon determining that the :jirst participant is running late to the appointment, the calendar application automa attiically informs the first participant to change the modality of travel and/or travel faster usin; the current modality of travel to timely arrive at the appointment location.
In some implementations, if it is determined that the travel time does not exceed the amount of time remaining until the appointment, further processing may be performed. For example, the calendar application may subtract travel time from the amount of time remaining until the appointment to determine the amount of time by which the first participant should leave to arrive at the appointment an time. The calendar application may compare the amount of time by which the first parti cipant should leave to arrive at the appointment on time to a threshold and, if the amount of time by which the first participant should leave to arrive at the appointment on time is ess than the threshold, the calendar application may send a reminder to the first articipant to remind the first participant to leave for the appointment. The reminder maj include the amount of time by which the first participant should leave to arrive at the ap iointment on time. hi some implementations, techniques described above with respect to FIG. 13 may be repeated. For instance, the techniques described with respect to TG. 13 maybe periodically repeated as the first participant travels to the appointment . In this example, updated information regarding the first participant's current location and the current time may be used.
In another implementation and as noted above, the concepts described herein also relate to a process for identifying that a user's appointment has been delayed and also for dynamically rescheduling the user's subsequent appointments to ac ount for such a delay.
FIG. 18 provides an example of such a process.
FIG. 18 illustrates an exemplary process 1800 used for dynamically rescheduling subsequent appointments of the user (e.g., the first participant) based on the determination that one of the appointments of the user (e.g., the first participant) h is been delayed. Some of the actions performed by the process 1800 are similar to th ; actions performed by the process 1300. As such and for purposes of brevity, these acti ms are not described here in more detail.
The process 1800 includes the calendar application identifyi: g an appointment within a calendar application (1805) and identifying an appointmen time at which the appointment is due to start and due to end (1810). The actions (180 > and 1810) are similar to those (1305 and 1310) described above with respect to th process 1300, and, as such, they are not described here in more detail.
The process 1800 also includes the calendar application iden tifying that the appointment has been delayed for a certain fixed amount of time (1 ! 15). For example, the calendar application identifies that the starting time of the appoi Ltment has been delayed due to one of the participants running late to the appointment. Alternatively or additionally, the calendar application may identify that the duration f the appointment has been extended beyond the scheduled ending time by a certain fh ed amount of time, For instance, in one implementation, one of the participants of the a] pointment notifies the calendar application of such delay. In another implementation, ttie calendar application determines such delay based on the locations of the part: ipants. For example, if the participant appears to still be at the location of the appointment instead of on the road traveling to the next appointment, the calendar applicati n determines that the appointment has lasted longer than previously scheduled.
Along these lines, the calendar application identifies the amc unt of time the appointment has been delayed and also identifies the subsequent apj ointments within the calendar application (1820). Based on the amount of time the appointment has been delayed and the timing of the subsequent appointments, the calendai application determines that a need for rescheduling other appointments exists ar d confirms with the participant the desire to reschedule the other appointments (1825). r[he calendar application then automatically reschedules the subsequent appointments within the calendar application such that the starting time of each of the subseqμent appointments is postponed to account for the delay associated with the current appointment (1830). The calendar application also may notify the participants of each of the subsequent appointments and inform them of such change, so that they can change their schedule according.
Other implementations are also contemplated.

Claims

WHAT IS CLAIMED IS:
1. A computer-implemented method for identifying a tra fel time between appointments and reserving a time block on a calendar application to account for such travel time, the method comprising: identifying a first appointment in a calendar application; identifying a geographic location of the first appointment; identifying a second appointment that occurs later in time tharji the tirst appointment
Figure imgf000062_0001
threshold amount, providing a message that informs a user of the unscheduled time.
4. The computer-implemented method of claim 1 furtherj compri .sing: automatically setting, without user input, a reminder for the cond appointment, the reminder being set for a specified time that precedes the starting time of the second appointment time by at least the travel time to the second appomtmeijt ; and displaying a notification window at the specified time that precede es the starting time of the second appointment time by at least the travel time to the seco D:il Iid appointment, the notification window structured and arranged to remind the user aboul the second appointment.
5. The computer-implemented method of claim 1 further ;ompπsmg: determining whether the travel time exceeds the amount of unscheduled time; and if it is determined that travel time exceeds the amount of unscheduled time, providing an alert message, to inform the user that, based on the current scheduling of the first and second appointments, the user would not have enough time to arrive at the second appointment location.
6. The computer-implemented method of claim 5 further omprising providing one or more suggestions to enable the user to respond to the alert mes sage, wherein the one or more suggestions includes a suggestion for at least one of: (1) leav the first appointment sooner than the scheduled ending time of the first appointment, (2) cancel, one or both of the first or second appointments, (3) reschedule the first or second appoir tment, and (4) notify the other attendees of the second appointment, or another designee, tr at the user will arrive late.
7. The computer-implemented method of claim 5 further comprising: identifying people attending the second appointment; identifying time availability of the people attending the second appointment; and based on the time availability of the people attending the seco: id appointment, taking steps to reschedule the second appointment at a mutually convenient lime for people attending the second appointment.
Figure imgf000064_0001
interfaces between the calendar application and a navigation application.
13. The computer-implemented method of claim 11 where in accessing the calendar application includes accessing the calendar application in response to activation of a transferring control tool within the client device.
14. The computer-implemented method of claim 13 further comprising communicating the ending time and the geographic location of the first appointment and the starting time and the geographic location of the second appointment tji) the navigation application in response to the activation of the transferring control.
15. The computer-implemented method of claim 1 further comprising: monitoring the current location of a user; identifying a change in the current location of the user; referencing the route extending from the geographic location φf the first appointment to the geographic location of the second appointment; determining whether the current location of the user exceeds a threshold amount from the route; and if it is determined that the current location of the user exceeds pie threshold amount from the route, providing the user with direction to the second appointment from the current location of the user.
16. A computer-implemented method for identifying a trai el time between appointments and reserving a time block on a calendar application to account for such travel time, the method comprising: identifying a first appointment in a calendar application; identifying a geographic location of the first appointment; identifying a time of the first appointment; receiving, from a user, a request to schedule a second appointijnent at a requested time; identifying a geographic location of the second appointment; identifying a route extending between the geographic location of the first appointment and the geographic location of the second appointment; identifying a travel time associated with the route; determining an amount of unscheduled time between the first appointment and the second appointment; determining whether the amount of unscheduled time exceeds the travel time; and if it is determined that the amount of unscheduled time exceecs the travel time: scheduling the second appointment at the requested tip ιe; and reserving a time block on the calendar application to a count for the travel time.
17. The computer-implemented method of claim 16 further comprising alerting the user, before scheduling the second appointment at the first particu ar time, about a possible conflict if it is determined that the travel time exceeds the antiount of unscheduled time.
18. The computer-implemented method of claim 17 furthe : comprising: in response to alerting the user, receiving, from the user, a second request to schedule the second appointment at an updated requested time; determining an amount of unscheduled time between the first appointment and the second appointment based on the updated requested time for the second appointment; if it is determined that the amount of unscheduled time exceeds the travel time: scheduling the second appointment at the updated reqv ested time; and reserving a time block on the calendar application to account for the travel time.
19. A computer-implemented method for monitoring trave conditions and alerting a user when changes to travel conditions impact a travel time entry scheduled in a calendar application associated with the user, the method comprising: monitoring travel conditions for a route of travel associated w th a travel time entry scheduled in a calendar application associated with a user, the travel tpne entry corresponding to an estimated travel time needed for the user to, usin the route of travel, arrive at a geographic location of an appointment scheduled in the cal :ndar application associated with the user; detecting a change in travel conditions for the route of travel associated with the travel time block; in response to detecting the change in travel conditions, determining an updated travel time needed for the user to, using the route of travel, arrive at the geographic location of the appointment scheduled in the calendar application associated with the user; comparing the updated travel time with time required by the uavel time entry; based on comparison results, determining whether the updated travel time is greater than the time required by the travel time entry by more than a threshold; conditioned on determining that the updated travel time is mo e than the threshold greater than the time required by the travel time entry, alerting the us T about the updated travel time; and conditioned on determining that the updated travel time is not more than the threshold greater than the time required by the travel time entry, maintaining th ; travel time entry.
20. The computer-implemented method of claim 19 further comprising: conditioned on determining that the updated travel time is mo re than the threshold greater than the time required by the travel time entry: identifying one or more alternative routes of travel to the geographic location of the appointment scheduled in the calendar application asso ;iated with the user; determining one or more alternative travel times assoc iated with each of the identified one or more alternative routes of travel; determining whether at least one of the one or more al ternative travel times is less than the updated travel time; conditioned on determining that at least one of the one or more alternative travel times is less than the updated travel time: selecting at least one of the one or more alterm rive routes of travel for which the one or more alternative travel times is lowe; t, and alerting the user about the selected at least one ofthe one or more alternative routes of travel; and conditioned on determining that at least one of the one or more alternative travel times is not less than the updated travel time, alerting the user about current travel conditions and informing the user that the route of travel remains most efficient.
21. The computer-implemented method of claim 19 wheretm the travel time entry corresponds to an estimated travel time needed for the user to, using he route of travel, travel from a first geographic location of a first appointment to a second go 'graphic location of a second appointment, further comprising: conditioned on determining that the updated travel time is mo: e than the threshold greater than the time required by the travel time entry: determining a time between an ending time of the first appointment and a starting time of the second appointment; comparing the updated travel time with the time between the ending time of the first appointment and the starting time of the second appointment; based on comparison results, determining whether the updated travel time is greater than the time between the ending time of the first appc ntment and the starting time of the second appointment; conditioned on determining that the updated travel tim : is greater than the time between the ending time of the first appointment and the starting time of the second appointment, alerting the user that at least one of the fi first appointment and the second appointment needs to be modified to account for the u] dated travel time; and conditioned on determining that the updated travel tim is not greater than the time between the ending time of the first appointment and the starting time of the second appointment: updating the travel time entry to correspond to the updated travel time; and alerting the user of the updated travel time entry.
22. The computer-implemented method of claim 21 where n alerting the user of the updated travel time entry includes alerting the user that the user n eds to leave the first geographic location of the first appointment earlier than previously scheduled
23. The computer-implemented method of claim 21 furthe comprising: conditioned on determining that the updated travel time is mop than the threshold greater than the time required by the travel time entry: identifying one or more alternative routes of travel from the first geographic location of the first appointment to the second geographic location of the second appointment; determining one or more alternative travel times associated with each of the identified one or more alternative routes of travel; determining whether at least one of the one or more al iernative travel times is less than the updated travel time; conditioned on determining that at least one of the one or more alternative travel times is less than the updated travel time: selecting one of the one or more alternative routes of travel for which the one or more alternative travel times is lowest; comparing the time between the ending time o the first appointment and the starting time of the second appointment with the alternative travel time associated with the selected alternative route of tiavel; based on comparison results, determining whether the time between the ending time of the first appointment and the starting time of the second appointment is greater than the alternative travel time associated with the selected alternative route of travel; conditioned on determining that the time between the ending time of the first appointment and the starting time of the second appointment is greater than the alternative travel time associated with the selected alternative route of travel: updating the travel time entry to correspond to the alternative travel time associated with the selected alternative route of travel; and alerting the user of the updated travel time entry and the selected alternative route of travel, wherein alerting the user that at least one of the first appointment and m ue second appointment needs to be modified to account for the updated travel time is also conditioned on determining that the time between the ending time of the first appointment and the starting time of the second appointment is not greater than the alternative travel time associated with the selected alternative route of travel; and updating the travel time entry to correspond to the updated tra1 vel time and alerting the user of the updated travel time entry are also conditioned on determining that at least one of the one or more alternative travel times is not less than the updated travel time.
24. The computer-implemented method of claim 21 further comprising: conditioned on determining that the updated travel time is greater than the time between the ending time of the first appointment and the starting time of the second appointment, alerting attendees of the second appointment, or another designee, that the user may arrive late to the second appointment.
25. A computer-implemented method for automatically modifying a travel time entry in a calendar associated with a user in response to cancellation <f>f a corresponding appointment entry in the calendar associated with the user, the metho)i i comprising: detecting cancellation of an appointment entry in a calendar ; associated with a user; in response to detecting cancellation of the appointment entry : in the calendar associated with the user, determining whether the appointment entry : s related to a travel time entry in the calendar associated with the user; conditioned on determining that the appointment entry is relaφd to a travel time entry in the calendar associated with the user: identifying the travel time entry related to the appointrhent ; < entry; modifying the travel time entry to account for cancellation i of the appointment entry.
26. The computer-implemented method of claim 25 furthejr comprising informing the user of the modification of the travel time entry as a consequence of the cancellation of the appointment entry.
27. The computer-implemented method of claim 25 further comprising: determining that the travel time entry is near a beginning or ar. end of a calendar day; identifying one or more default travel locations corresponding to typical travel by the user at the beginning or the end of the calendar day; and analyzing the travel time entry and the identified one or more default travel locations, wherein modifying the travel time entry to account for cancel ation ofthe appointment entry includes modifying the travel time entry to accounjt for cancellation of the appointment entry based on the analysis.
28. The computer-implemented method of claim 25 further comprising: identifying one or more calendar entries scheduled prior or subsequent to the travel time entry; and analyzing the travel time entry and the identified one or more ;alendar entries scheduled prior or subsequent to the travel time entry, wherein modifying the travel time entry to account for cancel ation of the appointment entry includes modifying the travel time entry to accoun for cancellation of the appointment entry based on the analysis.
29. The computer-implemented method of claim 28 where in: the appointment entry is a first appointment entry; identifying one or more calendar entries scheduled prior or subsequent to the travel time entry includes: identifying a second appointment entry scheduled imn iediately prior to the travel time entry, and determining that, after cancellation of the first appointjnent entry, no calendar entries are scheduled more than a threshold amount of time subsequent to the travel time entry; modifying the travel time entry to account for cancellation of j;he appointment entry includes canceling the travel time entry; and informing the user of the modification of the travel time entry as a consequence of the cancellation of the appointment entry includes informing the user of ψ.e cancellation of the travel time entry.
30. The computer-implemented method of claim 28 wherejin: the appointment entry is a first appointment entry; identifying one or more calendar entries scheduled prior or subsequent to the travel time entry includes: identifying a second appointment entry scheduled imn ediately subsequent to the travel time entry, and determining that, after cancellation of the first appoint nent entry, no calendar entries are scheduled more than a threshold amount of time prior to the travel time entry; modifying the travel time entry to account for cancellation of he appointment entry includes canceling the travel time entry; and informing the user of the modification of the travel time entry as a consequence of the cancellation of the appointment entry includes informing the user of tie cancellation of the travel time entry.
31. The computer-implemented method of claim 28 wherejm: the appointment entry is a first appointment entry; identifying one or more calendar entries scheduled prior or subsequent to the travel time entry includes: identifying a second appointment entry scheduled prio to the travel time entry, and identifying a third appointment entry scheduled subsequent to the travel time entry; analyzing the travel time entry and the identified one or more ;alendar entries scheduled prior or subsequent to the travel time entry includes determining whether travel time is needed between the second appointment entry and the third appointment entry; and modifying the travel time entry to account for cancellation of he appointment entry includes: conditioned on determining that travel time is not needed between the second appointment entry and the third appointment entry, canceling he travel time entry, and conditioned on determining that travel time is needed between the second appointment entry and the third appointment entry: determining the travel time needed between thέ second appointment entry and the third appointment entry, and modifying the travel time entry to correspond to the travel time needed between the second appointment entry and the third appointment entry.
32. The computer-implemented method of claim 31 where in modifying the travel time entry to correspond to the travel time needed between the second appointment entry and the third appointment entry includes at least one of lengthening the tr| vel time entry, shortening the travel time entry, adjusting a start time of the travel tinjie entry, and adjusting an end time of the travel time entry.
33. The computer-implemented method of claim 28 where in: the appointment entry is a first appointment entry and the trav :1 time entry is a first travel time entry; identifying one or more calendar entries scheduled prior or subsequent to the travel time entry includes: identifying a second appointment entry scheduled immediately prior to the first travel time entry, identifying a second travel time entry scheduled immediately subsequent to the first appointment entry, and identifying a third appointment entry scheduled immediately subsequent to the second travel time entry; analyzing the travel time entry and the identified one or more calendar entries scheduled prior or subsequent to the travel time entry includes analyzing the first travel time entry, the second appointment entry, the second travel time entry, and] the third appointment entry; and modifying the travel time entry to account for cancellation of he appointment entry includes: determining a travel time needed to travel between the second appointment and the third appointment; and modifying the first travel time entry and the second travel time entry to produce a single travel time entry that corresponds to the travel time needed to travel between the second appointment and the third appointment.
34. A computer-implemented method for accounting for telephone or video conference calls in scheduling travel time corresponding to appointments in a calendar associated with a user, the method comprising: receiving a request to schedule, in a calendar associated with i user, a first appointment at a first time, the first appointment corresponding to a frst geographic location; identifying, in the calendar associated with the user, a second appointment that follows the first appointment; determining whether the second appointment is an appointment for a telephone or video conference call; conditioned on determining that the second appointment is an appointment for a telephone or video conference call: accounting for travel time associated with the first appointment without regard for the second appointment by: identifying, in the calendar associated with the user, a third appointment that follows the second appointment; determining that the third appointment corresponds to a third geographic location; in response to determining that the third appointment corresponds to the third geographic location: identifying the third geographic locatioiji corresponding to the third appointment; determining a first travel time associate! with traveling from the first geographic location to the third geographic location; determining a time between an ending time of the first appointment and a starting time of the third appointment; comparing the first travel time with the time between the ending time of the first appointment and the starting time of the third appointment; based on comparison results, determining whether the first travel time is greater than the time between the ending time of the first appointment and the starting time of the third appointment; conditioned on determining that the first travel time is not greater than the time between the ending time of the first appointment and the starting time of the third appointment: granting the request to schedule the first appointment; and adding, in the calendar associated with the user, a travel time entry corresponding to the first travel time associated with traveling from the first geographic local ion to the third geographic location; conditioned on determining that the first travel time is greater than the time between the ending time of the first appointment and the starting time of the third appointment, alerting ;he user that insufficient travel time exists for scheduling the first appointment at the first time; conditioned on determining that the second appointment is no an appointment for a telephone or video conference call: identifying a second geographic location associated wijth the second appointment; determining a second travel time associated with trave! ing from the first geographic location to the second geographic location; determining a time between an ending time of the first appointment and a starting time of the second appointment; comparing the second travel time with the time between the ending time of the first appointment and the starting time of the second appointment; based on comparison results, determining whether the second travel time is greater than the time between the ending time of the first appointment and the starting time of the second appointment; conditioned on determining that the second travel time is not greater than the time between the ending time of the first appointment and the starting time of the second appointment: granting the request to schedule the first appointment; and adding, in the calendar associated with the usei, a travel time entry corresponding to the second travel time associated wit i traveling from the first geographic location to the second geographic loci tion; and conditioned on determining that the second travel time is greater than the time between the ending time of the first appointment and the starting time of the second appointment, alerting the user that insufficient travel time exii ts for scheduling the first appointment at the first time.
35. The computer-implemented method of claim 34 whereli inn the first appointment identifies the first geographic location corresponding to the first appo ntment.
36. The computer-implemented method of claim 34 wherejin determining whether the second appointment is an appointment for a telephone or video cobference call includes at least one of determining whether the second appointment identifies a geographic location and determining whether the second appointment identifies a telephone or video conference call number.
37. The computer-implemented method of claim 34 where|in adding, in the calendar associated with the user, the travel time entry corresponding to the first travel time associated with traveling from the first geographic location to the third geographic location includes adding the travel time entry corresponding to the second travel time during the second appointment.
38. The computer-implemented method of claim 34 wherein the adding, in the calendar associated with the user, the travel time entry corresponding to the first travel time associated with traveling from the first geographic location to the thir i geographic location includes enabling the user to determine whether to add the travel time entry corresponding to the first travel time before the second appointment, after the second appointment, or during the second appointment.
39. The computer-implemented method of claim 34 whereliinn determining whether the second appointment is an appointment for a telephone or video conference call includes: accessing content included in a calendar entry corresponding o the second appointment; analyzing the content included in the calendar entry corresporjding to the second appointment; and based on the analysis, automatically determining whether the second appointment is an appointment for a telephone or video conference call.
40. The computer-implemented method of claim 34 further comprising: conditioned on determining that the second appointment is an appointment for a telephone or video conference call: enabling the user to determine whether to allow travel time to be scheduled during the second appointment; conditioned on the user determining to allow travel tin e to be scheduled during the second appointment, accounting for travel time ass< jciated with the first appointment without regard for the second appointment; and conditioned on the user determining not to allow travel time to be scheduled during the second appointment: identifying, in the calendar associated with the user, the third appointment that follows the second appointment; determining that the third appointment is not an appointment for a telephone or video conference call; in response to determining that the third appoir tment is not an appointment for a telephone or video conference call: identifying the third geographic locatio] i associated with the third appointment; determining the first travel time associa ;ed with traveling from the first geographic location to the third geographic location; determining a time between an ending time of the second appointment and a starting time of the third appointment; comparing the first travel time with the time between the ending time of the second appointment and the starting time of the third appointment; based on comparison results, determiniiig whether the first travel time is greater than the time between the ending time of the second appointment and the starting time of tb third appointment conditioned on determining that the firstt travel time is not greater than the time between the ending time of the second appointment and the starting time of the third appointment granting the request to schedule the first appointment; and adding, in the calendar associated with the user, a travel time entry corresponding to the first tra el time associated with traveling from the first geographic loca ion to the third geographic location; conditioned on determining that the first travel time is greater than the time between the ending time of the second appointment and the starting time of the third appointment, alert: ng the user that insufficient travel time exists for scheduling thi first appointment at the first time.
41. The computer-implemented method of claim 40 where n enabling the user to determine whether to allow travel time to be scheduled during the secpnd appointment includes: enabling the user to set a default parameter, the default param ter indicating whether or not the user wishes to allow travel time to be scheduled during tele hone or video conference call appointments.
42. The computer-implemented method of claim 40 wherein enabling the user to determine whether to open the second appointment for travel time inc udes: asking the user whether the user wishes to allow travel time to be scheduled during the second appointment; and receiving an answer from the user indicating whether the user wishes to allow travel time to be scheduled during the second appointment.
43. A computer-implemented method for identifying unsc ieduled time between two appointment entries in a calendar other than travel time and presenting options to a user for using the unscheduled time, the method comprising: identifying at least one of a first appointment entry in a calendar associated with a user and a second appointment entry in the calendar associated with ie user, the first appointment entry being associated with a first geographic location, ie second appointment entry being associated with a second geographic location that is different than the first geographic location, and a starting time of the second appointment en try being subsequent to an ending time of the first appointment entry; identifying a travel time entry corresponding to a travel time between the first geographic location associated with the first appointment entry and the second geographic location associated with the second appointment entry; determining whether a time between the ending time of the : first appointment entry and the starting time of the second appointment entry is more than a threshold greater than time required by the travel time entry; and conditioned on determining that the time between the ending time of the first appointment entry and the starting time of the second appointment ; enτy is more than a threshold greater than the time required by the travel time entry: identifying unscheduled time, other than travel time, b ϊtween the first appointment entry and the second appointment entry; identifying one or more options for using the identifiec I unscheduled time; and presenting the identified one or more options to the usi :r.
44. The computer-implemented method of claim 43 where n: identifying at least one of a first appointment entry in the calendar associated with the user and a second appointment entry in the calendar associated with the user includes identifying the first appointment entry in the calendar associated with the user and the second appointment entry in the calendar associated with the user; and determining whether a time between an ending time of the first appointment entry and a starting time of the second appointment entry is more than a threshc Id greater than the time required by the travel time entry includes: determining the ending time of the first appointment e:itry; determining the starting time of the second appointment entry; computing the time between the ending time of the first appointment entry and the starting time of the second appointment entry; comparing the time between the ending time of the firέt appointment entry and the starting time of the second appointment entry with the tim required by the travel time entry; based on comparison results, determining whether the time between the ending time of the first appointment entry and the starting tim ϊ of the second appointment entry is more than the threshold greater than the ime required by the travel time entry.
45. The computer-implemented method of claim 43 wherein identifying one or more options for using the identified unscheduled time includes: accessing information related to one or more options availal for using unscheduled time; determining a time associated with each of the one or more opjtions based on the accessed information related to the one or more options available for αsing unscheduled time; comparing the determined time associated with each of the on or more options with the identified unscheduled time; based on comparison results, identifying options for which the determined time is less than or equal to the identified unscheduled time.
46. The computer-implemented method of claim 45 further comprising: accessing information related to interests of the user, wherein identifying one or more options for using the identified unscheduled time includes selecting, from among the identified options for which the determined time is less than or equal to the identified unscheduled time, one or more options based on the information related to the interests of the user.
47. The computer-implemented method of claim 43 where in identifying one or more options for using the identified unsch ;duled time includes identifying at least one of: an option to spend more time at the first geographic location subsequent to the first appointment; an option to spend more time at the second geographic locatio|n prior to the second appointment; an option to visit a point of interest located proximate to the first geographic location; an option to visit a point of interest located proximate to the s cond geographic location; an option to visit a point of interest located along a route betw een the first geographic location and the second geographic location; and an option to reschedule at least one of the first and second appointments to minimize the identified unscheduled time.
48. A computer-implemented method for including time associated with modality-specific incidentals to travel in determining a travel time foi scheduling calendar appointments, the method comprising: identifying a first appointment associated with a calendar of a user, the first appointment corresponding to a first geographic location; identifying a second appointment associated with the calendar of the user, the second appointment corresponding to a second geographic location that is dilferent than the first geographic location; identifying a route between the first geographic location and tjie second geographic location; determining a modality of travel for traveling the route between the first geographic location and the second geographic location; determining a modality-based travel time associated with traveling the route between the first geographic location and the second geographic location usinj; the determined modality of travel;
Figure imgf000082_0001
of travel for traveling the route between the first geographic location bnd the second geographic location; determining a modality-based travel time associated with trav sling the route between the first geographic location and the second geographic location using the determined modality of travel includes determining an air travel time associated λjvith traveling the route between the first geographic location and the second geographic local ion using the airplane; determining at least one incidental travel time associated with traveling the route between the first geographic location and the second geographic local ion using the determined modality of travel includes determining a security travel time associated with going through security prior to boarding the airplane, and determining a total travel time for traveling the route between the first geographic location and the second geographic location based on the determined modality-based travel time and the determined at least one incidental travel time includes ac ding the security travel time to the air travel time.
51. The computer-implemented method of claim 48 where in determining a modality of travel for traveling the route between the first geographic location and the second geographic location includes: accessing electronic data associated with the first appointment; accessing electronic data associated with the second appointment; accessing information associated with a distance between the ϊrst geographic location and the second geographic location; analyzing the electronic data associated with the first appointriient, the electronic data associated with the second appointment, and the information associat d with the distance between the first geographic location and the second geographic location; and based on the analysis, automatically determining the modality of travel that provides the shortest travel time for traveling the route between the first geographic location and the second geographic location.
52. The computer-implemented method of claim 51 wherein:
Figure imgf000084_0001
determined modality of travel includes determining at least one incidental travel time associated with transitioning from a first modality of travel to a secor d modality of travel.
55. A method for a meeting notification and automatic modification service, the method comprising: identifying an appointment in a calendar application; identifying a geographic location of the appointment; identifying an appointment time at which the appointment is cue to start and a current time; identifying an amount of time remaining between the current ime and the appointment time at which the appointment is due to start; identifying at least a first participant of the appointment; identifying, at the current time, a geographic location of the fi-st participant of the appointment; identifying a route extending from the geographic location of |the first participant to the geographic location of the appointment; identifying a travel time associated with the route; determining whether the travel time exceeds the amount of tiriie remaining until the appointment time; and if it is determined that the travel time exceeds the amount of time remaining, sending a communication.
56. The method of claim 55 wherein identifying the travel time associated with the route includes identifying the travel time based on a current road condition or traffic flow.
57. The method of claim 55 wherein identifying the travel time associated with the route includes identifying the travel time based on a historic traffi flow.
58. The method of claim 55 wherein identifying the travel time associated with the route includes: identifying a modality of travel of the first participant to the geographic location of the appointment; and based on the modality of travel, identifying the travel time associated with the route
59. The method of claim 55 wherein sending the communicat tiioonn includes: identifying a time threshold at which travel could be completejd by add liinngg the travel time to the current time; determining a later time to schedule the appointment based on the time threshold, the later time being the same as or later than the time threshold; postponing the appointment time to the later time to thereby ehable the first participant to arrive at the geographic location of the appointment; an|d based on the postponed appointment time, sending updated appointment information to at least one participant of the appointment or another designee.
60. The method of claim 55 wherein sending the commun: cation includes alerting the first participant that the first participant will be late to the appoint nent.
61. The method of claim 60 wherein sending the communication includes alerting a second participant, other than the first participant, that the first parti cipant will be late to the appointment.
62. The method of claim 61 wherein alerting the first and econd participants includes: informing the second participant of the geographic location off the first participant and the travel time of the first participant to the geographic location of the appointment; and informing the second participant that the appointment is being changed to account for the travel time.
63. The method of claim 61 further comprising: accessing the calendar application of the first and second participants; identifying time availability of the first and second participants; determining a mutually convenient time for the first and secor d participants to participate in a rescheduled version of the appointment based on the t: me availability of the first and second participants; and
Figure imgf000087_0001
determining a need to reschedule at least one remaining appointment based on the certain amount of time that the appointment has been delayed; confirming with at least one participant of the appointment that the remaining appointment should be rescheduled; and dynamically rescheduling the remaining appointment within the calendar application such that a starting time of the remaining appointment is postponed b Y the certain amount of time.
70. The method of claim 69 further comprising informing participants of the remaining appointment of the rescheduling of the remaining appointn lent.
71. The method of claim 69 wherein dynamically reschedi iling the remaining appointment within the calendar application includes: confirming availability of participants of the appointment at the postponed starting time; and notifying the participants of the appointment when conflicts with the postponed starting time exist.
PCT/US2007/089039 2006-12-29 2007-12-28 Accounting for travel time between geographic locations of appointments Ceased WO2008083273A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP07866078A EP2118734A4 (en) 2006-12-29 2007-12-28 Accounting for travel time between geographic locations of appointments
CA002674031A CA2674031A1 (en) 2006-12-29 2007-12-28 Accounting for travel time between geographic locations of appointments

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US11/618,069 2006-12-29
US11/618,069 US7941753B2 (en) 2006-03-31 2006-12-29 Communicating appointment and/or mapping information among a calendar application and a navigation application
US88885007P 2007-02-08 2007-02-08
US60/888,850 2007-02-08
US93814507P 2007-05-15 2007-05-15
US60/938,145 2007-05-15
US94580507P 2007-06-22 2007-06-22
US60/945,805 2007-06-22
US94727807P 2007-06-29 2007-06-29
US60/947,278 2007-06-29

Publications (3)

Publication Number Publication Date
WO2008083273A2 WO2008083273A2 (en) 2008-07-10
WO2008083273A9 true WO2008083273A9 (en) 2008-10-02
WO2008083273A3 WO2008083273A3 (en) 2008-11-20

Family

ID=39589212

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/089039 Ceased WO2008083273A2 (en) 2006-12-29 2007-12-28 Accounting for travel time between geographic locations of appointments

Country Status (3)

Country Link
EP (1) EP2118734A4 (en)
CA (1) CA2674031A1 (en)
WO (1) WO2008083273A2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4389987B2 (en) 2007-09-12 2009-12-24 ソニー株式会社 Information distribution device, information reception device, information distribution method, information reception method, and information distribution system
JP2009070064A (en) * 2007-09-12 2009-04-02 Sony Corp Information distribution device, information reception device, information distribution method, information reception method, and information distribution system
KR101482120B1 (en) 2008-08-01 2015-01-21 엘지전자 주식회사 Mobile terminal capable of schedule management and control method thereof
US8145417B1 (en) 2008-12-31 2012-03-27 Cellco Partnership Enabling a first mobile device to navigate to a location associated with a second mobile device
US8457888B2 (en) 2009-03-08 2013-06-04 Mitac International Corp. Method for reminding users about future appointments while taking into account traveling time to the appointment location
EP2256462A1 (en) * 2009-05-29 2010-12-01 Alcatel Lucent A context-aware route selection reminder
US20120203457A1 (en) * 2011-02-04 2012-08-09 The Casey Group Systems and methods for visualizing events together with points of interest on a map and routes there between
CN103727945B (en) * 2012-10-16 2017-03-01 阿尔派株式会社 Board information terminal and information providing method
US11397925B2 (en) 2018-08-28 2022-07-26 Shurpa, Inc. Appointment optimization engine
JP7604846B2 (en) * 2020-11-11 2024-12-24 富士フイルムビジネスイノベーション株式会社 Information processing device and information processing program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6437743B1 (en) * 1992-12-04 2002-08-20 Yosef Mintz Method and system for mapping and tracking information from a plurality of remote stations
US5790974A (en) * 1996-04-29 1998-08-04 Sun Microsystems, Inc. Portable calendaring device having perceptual agent managing calendar entries
DE10028660A1 (en) * 2000-06-09 2001-12-13 Nokia Mobile Phones Ltd Electronic appointment planner
US7139722B2 (en) * 2001-06-27 2006-11-21 Bellsouth Intellectual Property Corporation Location and time sensitive wireless calendaring
US20050096946A1 (en) * 2003-10-30 2005-05-05 International Business Machines Corporation System and method for dynamically resolving travel arrangement problems based on changes in travel conditions

Also Published As

Publication number Publication date
EP2118734A4 (en) 2011-11-23
CA2674031A1 (en) 2008-07-10
WO2008083273A2 (en) 2008-07-10
EP2118734A2 (en) 2009-11-18
WO2008083273A3 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
US9243911B2 (en) Meeting notification and modification service
WO2008083273A9 (en) Accounting for travel time between geographic locations of appointments
US20080167938A1 (en) Reserving a time block in a calendar application to account for a travel time between geographic locations of appointments
US20180107981A1 (en) Calendaring location-based events and associated travel
Wirnitzer et al. Patient-based nurse rostering in home care
CN107180268B (en) Method, device and system for pushing and reminding medical information
US7990266B2 (en) Location- and direction-enhanced automatic reminders of appointments
US20190122760A1 (en) Method and system for customized scheduling of home health care services
US9372090B2 (en) Computer-implemented system and method for dynamically coordinating travel
US20140067455A1 (en) Method and apparatus for automatically managing user activities using contextual information
US20130096813A1 (en) Location enhanced meetings and collaboration
KR20100053149A (en) Apparatus and method for scheduling considering each attendees&#39; context in mobile communicatiion terminal
US20100332282A1 (en) Orchestrating the arrival of attendees to a scheduled event
US20120271676A1 (en) System and method for an intelligent personal timeline assistant
US8965972B2 (en) Method and system for the automated planning of a meeting between at least two participants
JP2019537166A (en) System and method for customizable pre-planned dispatch for transportation services
JP2012164125A (en) Reservation management system
JP2003130660A (en) Facility information providing device
JP2009205311A (en) Schedule sharing management system, server unit, and schedule sharing management method therefor
US11514787B2 (en) Information processing device, information processing method, and recording medium
Titov et al. Prototyping an automatic and context-adaptive acquisition method for mobility preferences of passengers in public transport–using the contextual inquiring evaluation method
US20210053583A1 (en) Consideration of Driving Time Periods for Automated Driving in a Digital Appointment Calendar
US20040260580A1 (en) Facility reservation system, facility reservation apparatus, and facility reservation method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07866078

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2674031

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 3937/CHENP/2009

Country of ref document: IN

REEP Request for entry into the european phase

Ref document number: 2007866078

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007866078

Country of ref document: EP