Scheduling Recurring Calendar Events

US 2011 54 976A1

drawing #0

Show all 11 drawings

Methods, systems, and computer-readable media for scheduling a recurring event are disclosed. When a calendar application receives an invitation from an organizer to an invite, the calendar application expands the recurring event into a plurality of occurrences, and detects any scheduling conflicts that can be caused by each of the plurality of occurrences. The calendar application notifies the invitee of the detected scheduling conflicts before the invitee makes a decision regarding the invitation. An invitee is provided an opportunity to accept only the non-conflicting occurrences of the recurring event. If the invitee chooses to accept only the non-conflicting occurrences, the invitee is given opportunities to respond to each of the conflicting occurrences separately. The organizer is notified of the invitee's responses regarding the non-conflicting occurrences and the conflicting occurrences.

PatentSwarm provides a collaborative workspace to search, highlight, annotate, and monitor patent data.

Start free trial Sign in

Tip: Select text to highlight, annotate, search, or share the selection.

Claims

1. A computer-implemented method, comprising:
presenting an invitation for a recurring event, the recurring event comprising a plurality of occurrences;
detecting scheduling conflicts for one or more of the plurality of occurrences with one or more existing events in a calendar; and
requesting, by a processor, a user to select between a first option to accept all occurrences and a second option to accept only non-conflicting occurrences of the recurring event, the non-conflicting occurrences being the occurrences that cause no scheduling conflicts in the calendar.

Show 9 dependent claims

11. A computer-implemented method, comprising:
sending an invitation for a recurring event, the recurring event comprising a plurality of occurrences;
receiving a first response accepting a proper subset of all occurrences of the recurring event;
receiving a second response for one of the remaining occurrences of the recurring event, the second response being one of accepting the occurrence, rejecting the occurrence, or holding the occurrence for further consideration; and
presenting, by a processor, the first and the second responses in a calendar including the recurring event.
12. A computer-implemented method, comprising:
receiving an invitation for a recurring event from an organizer to an invite, the invitation specifying a recurrence frequency of the recurring event;
expanding the recurring event into a plurality of occurrences according to the specified recurrence frequency;
detecting, by a processor, scheduling conflicts for one or more of the plurality of occurrences with one or more existing events in a calendar of the invitee;
sending the invitation for the recurring event to the invitee; and
notifying the invitee of the scheduling conflicts for the one or more occurrences.

Show 6 dependent claims

19. A computer-readable medium having instructions stored thereon, which, when executed by a processor, cause the processor to perform operations comprising:
receiving an invitation for a recurring event from an organizer to an invite, the invitation specifying a recurrence frequency of the recurring event;
expanding the recurring event into a plurality of occurrences according to the specified recurrence frequency;
detecting scheduling conflicts for one or more of the plurality of occurrences with one or more existing events in a calendar of the invitee;
sending the invitation for the recurring event to the invitee; and
notifying the invitee of the scheduling conflicts for the one or more occurrences.
20. A system, comprising:
one or more processors;
memory coupled to the one or more processors and operable for storing instructions, which, when executed by the one or more processors, cause the one or more processors to perform operations, comprising:
receiving an invitation for a recurring event from an organizer to an invite, the invitation specifying a recurrence frequency of the recurring event;
expanding the recurring event into a plurality of occurrences according to the specified recurrence frequency;
detecting scheduling conflicts for one or more of the plurality of occurrences with one or more existing events in a calendar of the invitee
sending the invitation for the recurring event to the invitee and
notifying the invitee of the scheduling conflicts for the one or more occurrences.

Description

TECHNICAL FIELD

This subject matter is generally related to electronic calendars.

BACKGROUND

Electronic calendars are becoming an indispensible tool for modern life. Users enter calendar items such as meetings, appointments, and important dates into their electronic calendars to remind themselves of these various engagements at specific times. An organizer of an event can send out electronic invitations for the event to multiple invitees via emails, calendar tools, instant messages, or other communication interfaces. The invitees can accept or decline these invitations based on their availability and inclinations. An accepted invitation is automatically entered into the invitee's electronic calendar as a calendar item for the event. A notification of the acceptance can be sent to the organizer. A reminder can be generated for the organizer and the invitees close to the date and time of event.

A calendar tool can also be utilized to manage reservations for event venues by administrators of the event venues. Each event venue can be assigned a respective calendar, and reservation requests for the event venue can be sent to the calendar in the form of an event invitation. An administrator of the event venue can accept or decline the reservation request based on the availability and suitability of the event venue.

A calendar invitation usually specifies a time window for an event. An invitee can look in his/her own calendar(s) to see if another event has already been scheduled for that time window before accepting the invitation. Some events are recurring events having multiple occurrences. The multiple occurrences can be specified in the invitation using a recurrence frequency or a formula (e.g., every third Monday of the month for six months, starting Jan. 1, 2009, except for Mondays that fall on a holiday). For a recurring event having many occurrences over a long period of time, it is time consuming and cumbersome for an invitee to figure out the exact time windows for each occurrence of the recurring event and to investigate whether an existing calendar item already occupies the time window.

Conventionally, an invitee is only given a choice to either accept or decline an invitation for a recurring event as a whole. This wholesale acceptance or rejection of a recurring event makes it very difficult for an organizer to schedule a recurring event. In one scenario, the organizer is challenged to find a recurrence frequency that would accommodate every invitee's schedule because an invitee has to reject the entire invitation if just one occurrence of the event conflicts with an existing calendar event of the invitee. In the alternative scenario, an invitee can accept a recurring event as a whole despite a known scheduling conflict for an event occurrence, and the organizer does not become aware of this conflict until being faced with the absence of the invitee on the date of that event occurrence.

In many instances, a user accepts an invitation to a recurring event without being aware of the scheduling conflicts that exist in the future, because it was not practical for the user to verify his/her availability for each occurrence in the recurring event. In such cases, the user has to subsequently deal with a double booking situation and reschedule events with a short notice.

In cases for venue reservation, an administrator who unknowingly accepted conflicting reservation requests would face the particular troublesome and difficult task of managing a double booking situation and annoyed venue users. Double booking also causes disruption of work flow and wastes valuable time in an organization.

SUMMARY

Systems, methods, and computer-readable media for collecting scheduling recurring calendar events are disclosed.

In one aspect, a computer-implemented method is disclosed. The computer-implemented method includes: presenting an invitation for a recurring event, the recurring event comprising a plurality of occurrences; detecting scheduling conflicts for one or more of the plurality of occurrences with one or more existing events in a calendar; and requesting a user to select between a first option to accept all occurrences and a second option to accept only non-conflicting occurrences of the recurring event, the non-conflicting occurrences being the occurrences that cause no scheduling conflicts in the calendar.

In some implementations, the method further includes: upon receiving the user's selection of the first option, inserting all occurrences of the recurring event into the calendar. In some implementations, the method further includes: prior to inserting all occurrences of the recurring event into the calendar, presenting a preview of the detected scheduling conflicts.

In some implementations, the method further includes: upon the user's selection of the second option, inserting only the non-conflicting occurrences of the recurring event into the calendar. In some implementations, the method further includes: sending a response to an organizer of the recurring event, the response indicating that only the non-conflicting occurrences of the recurring event have been accepted. In some implementations, the method further includes: presenting a respective notification for each of the one or more occurrences that cause scheduling conflicts in the calendar, where the notification presents a preview of a respective schedule conflict for the occurrence. In some implementations, the method further includes: receiving, through the notification for one of the one or more occurrences, user input individually accepting the occurrence. In some implementations, the method further includes: receiving, through the notification for one of the one or more occurrences, user input individually rejecting the occurrence. In some implementations, the method further includes: receiving, through the notification for one of the one or more occurrences, user input individually suggesting an alternative time for the occurrence.

In some implementations, the invitation for the recurring event represents a reservation request for an event venue.

In one aspect, a method includes: sending an invitation for a recurring event, the recurring event comprising a plurality of occurrences; receiving a first response accepting a proper subset of all occurrences of the recurring event; receiving a second response for one of the remaining occurrences of the recurring event, the second response being one of accepting the occurrence, rejecting the occurrence, or holding the occurrence for further consideration; and presenting the first and the second responses in a calendar including the recurring event.

In one aspect, a method includes: receiving an invitation for a recurring event from an organizer to an invite, the invitation specifying a recurrence frequency; expanding the recurring event into a plurality of occurrences according to the specified recurrence frequency for the recurring event; detecting scheduling conflicts for one or more of the plurality of occurrences with one or more existing events in a calendar of the invitee; sending the invitation for the recurring event to the invitee; and notifying the invitee of the scheduling conflicts for the one or more occurrences.

In some implementations, the method further includes: receiving a first response from the invitee accepting a proper subset of all occurrences of the recurring event, the proper subset being the occurrences that do not cause scheduling conflicts in the calendar of the invitee; and sending the first response to the organizer. In some implementations, the method further includes: sending an individual notification to the invitee for each of the one or more occurrences that cause scheduling conflicts in the calendar of the invite, where the notification presents a preview of a respective scheduling conflict for the occurrence. In some implementations, the method further includes: receiving a second response from the invitee for one of the one or more occurrences in response to the individual notification for the occurrence, the second response being one of accepting the occurrence, rejecting the occurrence and holding the occurrence for further consideration; and sending the second response to the organizer. In some implementations, the calendar of the invitee integrates multiple sources of availability information for the invitee. In some implementations, the recurrence frequency has an associated time period, and the expanding is performed for the associated time period.

In some implementations, the detecting step further includes: detecting an overlap in schedule time between one of the one or more occurrences and one of the one or more existing events in the calendar of the invitee; and determining that the occurrence of the recurring event and the existing event are incompatible with each other during the overlap in schedule time.

In various implementations, the methods and systems disclosed in this specification may offer one or more of the following advantages.

A calendar application (client or server side, or both) automatically determines if any scheduling conflicts would be caused by each occurrence of a recurring event in a calendar invitation. The calendar application automatically generates a list of occurrences that would cause scheduling conflicts with existing events in an invitee's calendar. The detection of scheduling conflicts can be based on the invitee's availability information integrated from multiple calendars or sources. The detection of scheduling conflicts can also cover a long period of time (e.g., a period of time longer than an invitee is likely to review in his/her calendar before accepting an invitation).

When the invitation for the recurring event is sent to an invitee or an administrator of an event venue, the invitee is also notified of all the scheduling conflicts that would be caused by this recurring event. So the invitee does not have to look at his/her own calendar or multiple calendars to figure out the exact time window for each occurrence of the recurring event, and to investigate whether an existing event already occupies that time window. This provides convenience and efficiency for the invitee and/or administrator to make an informed decision regarding a recurring event, rather than to accept or reject an invitation haphazardly as a whole.

In addition, the invitee or the administrator is presented with a choice to accept all occurrences of the recurring event or to accept only the occurrences of the recurring event that do not cause conflicts. The invitee or the administrator is provided with a notification for each of the conflicting occurrences apart from the notification for the entire recurring event, so that the invitee can make an individualized decision regarding each of the conflicting occurrences. The individual notifications can also provide detailed information of the scheduling conflict between the occurrence and an existing event, so the invitee or organizer can choose to keep, reschedule, or cancel the existing event based on the nature of the existing event. Because the scheduling conflict is discovered and made known to the invitee early on, the invitee or administrator can deal with the conflict more gracefully and easily.

In addition, the event organizer or requester for event venue is notified that only some of the occurrences are accepted by an invitee. So the organizer or requester for event venue is given an opportunity to schedule the remaining (unaccepted or pending) occurrences separately, rather than having to specify a new recurring frequency that is nonetheless likely to cause conflicts in some occurrences. Since rescheduling a smaller number of occurrences is an easier task than rescheduling the whole recurring event, the chance of success in finding a suitable time for each occurrence of the recurring event can be greatly improved.

The details of one or more embodiments of the subject matter described in the specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is an example user interface for an organizer to send an invitation for a recurring event.

FIG. 2 is an example user interface for notifying an invitee of an invitation for a recurring event.

FIG. 3 is an example user interface element for notifying an invitee of potential conflicts caused by a recurring event, and allowing the invitee to choose between accepting all occurrences of a recurring event or only the non-conflicting occurrences.

FIG. 4 is an example user interface for separately notifying an invitee of each conflicting occurrences for a recurring event.

FIG. 5 is an example user interface for an organizer showing the statuses of invitees for each occurrence of a recurring event.

FIG. 6 illustrates an example system for facilitating the scheduling of a recurring event between an organizer and an invitee.

FIG. 7 is a flow diagram of an example process for scheduling a recurring event by an invitee.

FIG. 8 is a flow diagram of an example process for scheduling a recurring event by an organizer.

FIG. 9 is a flow diagram of an example process for a server facilitating the scheduling of a recurring event between an organizer and an invitee of the recurring event.

FIG. 10 is a block diagram of two example computer systems.

DETAILED DESCRIPTION
Example User Interfaces for Scheduling a Recurring Event

FIG. 1 is an example user interface 102 for scheduling a recurring event by an organizer of the recurring event. The user interface 102 can be for an electronic calendar application or a web interface of a calendar server. The user interface 102 can be provided to the organizer on a computing device, such as a personal computer, a handheld computer, a personal digital assistant (PDA), a cellular telephone, a network appliance, a camera, a smart phone, an enhanced general packet radio service (EGPRS) mobile phone, a network base station, a media player, a navigation device, an email device, a game console, or a combination of any two or more of these data processing devices or other data processing devices.

In FIG. 1, the calendar interface is set to a week view (e.g., as indicated by the highlighted user interface element 104). Under the week view, the organizer's calendar for the current week can be displayed in the calendar interface. The name of the calendar's owner (e.g., the organizer) can be indicated on the calendar interface (e.g., Haley Allen).

The organizer can schedule an event through the calendar interface. User interface element 106 can be inserted into the calendar at the scheduled time window for the event. For example, the organizer can double click on the desired time window in the calendar and enter the event into that time window. The organizer can further specify additional information for the event in an expanded user interface element 108 (e.g., a popup window). For example, the organizer can specify the subject of the event (e.g., Daily Lunch Meeting) in user interface element 110. The organizer can also specify and/or modify the location of the event in the expanded user interface element 108, whether the event is an all-day event, the start and end time for the event (112), the time zone of the scheduled time, etc. In some implementations, the organizer of the calendar event can also include attachments (e.g., files and other information) with an invitation to send to the invitees.

In some implementations, if the organizer manages multiple calendars (e.g., home, work, school, etc.) through the same calendar application or web interface, the organizer can also specify the calendar in which the event should be inserted (e.g., in user interface element 120). In some implementations, the owner can also specify whether an alarm or reminder needs to be set for this event.

For a recurring event (e.g., a daily lunch meeting), the organizer of the recurring event can also specify a recurrence frequency (as shown by user interface elements 114a and 114b ) of the recurring event. In this particular example, the repetition rate is every day (as shown by user interface element 114a ) and the total number of occurrences is 30 (as shown by user interface element 114b ). A recurring event has at least two occurrences, while a non-recurring event has only a single occurrence.

Other ways of specifying the recurrence frequency is possible. Examples of a recurrence frequency can include a repetition rate, e.g., Every day, Every Monday of the month, Every 15th day of the month, every three days, and so on. The recurrence frequency can also specify a total number of occurrences or a date for the last recurrence. Other more sophisticated formulae can be used to specify the recurring frequency, e.g., Every Friday that is also the 13th day of the month, and so on. The recurrence frequency can also specify one or more exceptions. For example, a recurrence frequency can be specified as Every Monday unless it falls on a public holiday, or Every 15th of the month unless it is a weekend and so on. The recurrence frequency can also include alternative days, e.g., Every week, on Monday for odd number occurrences, and on Tuesday for even number occurrences. The recurrence frequency that includes exceptions can also specify an alternative date for the exceptions. For example, the recurrence frequency can be Every Monday unless it falls on a public holiday, and if the Monday falls on a public holiday, the event takes place on the first day following the holiday. Other formats for the recurrence frequency are possible. The format can be dictated by the calendar system and the organizer can specify the recurrence frequency according to the format.

The event organizer can also specify a type for the event (e.g., by indicating the event as a busy event using user interface element 118). A busy event is an event that is incompatible with another busy event, i.e., they cannot feasibly occur at the same time. For example, an appointment cannot be made at the same time as another appointment. If two busy events are scheduled for the same time, they are conflicting events to each other. On the other hand, an appointment may be feasibly scheduled during a calendar event that simply denotes an important date or a holiday (e.g., a date can be scheduled on a Valentine's Day). Other event types can be specified, such as personal, business, travel, interview, errands, vacation, holiday, available, unavailable, and so on. The calendar system can use the event type information to determine whether two events may conflict with each other.

In some implementations, the calendar system can specify the compatibility between different event types or allow a user to specify the compatibility between event types. For example, the calendar system can specify that the busy event type is incompatible with any other event types. A user can specify that the vacation event type is compatible with the personal event type, but incompatible with the business event type. In some implementations, an organizer of an event can specify in the invitation itself the event's compatibility with other types of events. The compatibility information can be used to determine whether two events may conflict with each other.

In addition to inserting an event into one's own calendar, the organizer can also specify a number of invitees to the event (e.g., using user interface element 116). In this example, the event organizer specifies an invitee (e.g., Scott Adler) for the recurring event (e.g., daily lunch meeting). The organizer can specify the invitees by selecting contacts from an address book or by specifying contact addresses (e.g., email addresses) of the invitees. In some implementations, the organizer can also view the availability of an invitee through a link, provided that the invitee allows such information to be shared with the organizer.

PatentSwarm provides a collaborative workspace to search, highlight, annotate, and monitor patent data.

Start free trial Sign in