Electronic scheduling assistant utilizing participant categories
By categorizing participants into multiple groups and generating independent aggregated schedules, the problem of determining meeting times for multiple selectable participants in electronic scheduling assistants is solved, resulting in more efficient meeting scheduling and a simplified user interface.
Patent Information
- Application Number
- CN202080049827.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-09
- Filing Date
- 2020-05-21
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2040-05-21
AI Technical Summary
In electronic scheduling assistants, it is difficult to determine whether all participants are available for a meeting with multiple optional attendees, especially when attendee attendance is optional, making it difficult for organizers to effectively schedule meeting times.
Participants are divided into multiple categories, and an independent aggregated schedule is generated for each category. An electronic scheduling assistant generates a user interface that displays the aggregated schedule for each category, allowing organizers to easily determine when participants in the required categories are available.
It improves the efficiency of meeting scheduling and simplifies the user interface, helping organizers quickly determine the best time and simplifying the use and scheduling of resources.
Smart Images

Figure CN114127756B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments described herein relate to electronic scheduling assistants, and in particular to methods and systems for separately displaying different categories of participants for a calendar event, such as a meeting, within a scheduling assistant. SUMMARY
[0002] Some electronic calendar applications present one or more user interfaces, commonly referred to as electronic scheduling assistants, that help a user schedule a calendar event, such as a meeting. For example, when a user (organizer) creates a meeting and selects a plurality of participants to invite to the meeting, the electronic scheduling assistant can aggregate a schedule of each of the plurality of participants and display the aggregated schedules to the organizer so that the organizer can select a time for the meeting that is suitable for each of the participants invited to the meeting. However, in situations where the meeting attendance of one or more of the participants is optional, displaying the aggregated schedule of each participant in the electronic scheduling assistant makes it difficult for the organizer to determine whether there is a time available for each participant that needs to attend the meeting regardless of whether other participants with optional attendance are free.
[0003] Accordingly, embodiments described herein provide an electronic scheduling assistant within an electronic calendar application that generates an aggregated schedule for each category of participants in a plurality of categories of participants that identifies the schedules of the participants included in the category. Thus, using separate aggregated schedules, an organizer can easily determine, for example, when all participants associated with one category (e.g., a "mandatory category") can attend a certain event regardless of whether participants in other categories are available. Partitioning participants into multiple categories and generating an aggregated schedule for each of the categories allows an organizer to schedule events more quickly and easily. Furthermore, in some embodiments, the electronic scheduling assistant described herein collapses the aggregated schedule for a particular category to provide a single schedule entry, which further simplifies the user interface provided via the electronic scheduling assistant and improves user efficiency and resource usage.
[0004] In particular, one embodiment provides a system for providing electronic scheduling assistance. The system includes an electronic computing device including an electronic processor. The electronic processor is configured to retrieve categories assigned to each of a plurality of participants associated with a calendar event from a plurality of categories, and retrieve schedules associated with each of the plurality of participants associated with the calendar event. The electronic processor is further configured to aggregate the schedules of each of the plurality of participants assigned to each of the plurality of categories to create an aggregated schedule associated with each of the plurality of categories, and generate and output a user interface for display on a display device, the user interface including the aggregated schedule of each of the plurality of categories in separate areas of the user interface.
[0005] Another embodiment provides a method for providing electronic scheduling assistance. The method includes retrieving, using an electronic processor, categories assigned to each of a plurality of participants associated with a calendar event from a plurality of categories, and retrieving, using the electronic processor, schedules associated with each of the plurality of participants associated with the calendar event. The method further includes aggregating, using the electronic processor, the schedules of each of the plurality of participants assigned to each of the plurality of categories to create an aggregated schedule associated with each of the plurality of categories, the aggregated schedule for each of the plurality of categories including a sub-area for each of the plurality of participants assigned to the category, the sub-area representing schedules over a period of time, and generating and outputting a user interface for display on a display device, the user interface including the aggregated schedule of each of the plurality of categories in separate areas of the user interface.
[0006] Another embodiment provides a non-transitory computer readable medium including instructions executable by an electronic processor to perform a set of functions. The set of functions includes retrieving categories assigned to each of a plurality of participants associated with a calendar event from a plurality of categories, the plurality of categories including a required category and an optional category, and retrieving schedules associated with each of the participants associated with the calendar event. The set of functions further includes aggregating the schedules of each of the plurality of participants assigned to each of the plurality of categories to create an aggregated schedule associated with each of the plurality of categories, and generating and outputting a user interface for display on a display device, the user interface including the aggregated schedule of each of the plurality of categories in separate areas of the user interface. BRIEF DESCRIPTION OF DRAWINGS
[0007] Figure 1 A system for providing electronic scheduling assistance is schematically illustrated in accordance with some embodiments.
[0008] Figure 2a user device included in a system of Figure 1
[0009] Figure 3 a server included in a system of Figure 1
[0010] Figure 4 is a flowchart illustrating a method performed by a system of Figure 1
[0011] Figures 5-6 illustrates a user interface of an electronic scheduling assistant, according to some embodiments. DETAILED DESCRIPTION
[0012] One or more embodiments are described and illustrated in the following description and accompanying drawings. These embodiments are not limited to the specific details provided herein and can be modified in various ways. Additionally, other embodiments can exist that are not described herein. Further, the functionality described as being performed by one component can be performed by multiple components in a distributed manner. Likewise, functionality performed by multiple components can be consolidated and performed by a single component. Similarly, a component described as performing particular functionality can also perform additional functionality that is not described herein. For example, a device or structure that is "configured" in a certain way is configured in at least that way, but can also be configured in ways that are not listed. Furthermore, some embodiments described herein can include one or more electronic processors that are configured to perform the described functionality by executing instructions stored in non-transitory computer- readable media. Similarly, embodiments described herein can be implemented as non-transitory computer-readable media storing instructions that can be executed by one or more electronic processors to perform the described functionality. As used in this application, "non-transitory computer- readable media" includes all computer-readable media, but excludes transitory propagating signals. Thus, non-transitory computer-readable media can include, for example, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (Read Only Memory), a RAM (Random Access Memory), a register memory, a processor cache, or any combination thereof.
[0013] Moreover, the language and terminology used herein is for the purpose of description and should not be regarded as limiting. For example, the use of "including," "comprising," "having" and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. The terms "connected" and "coupled" are used broadly and encompass both direct and indirect connections and couplings. In addition, "connected" and "coupled" are not restricted to physical or mechanical connections or couplings. Furthermore, "connected" and "coupled" can include electronic communication, whether direct or indirect, and whether through the use of wires, wireless connectivity, or any combination thereof. Also, electronic communications and notifications can be performed using a wire, wireless, or a combination thereof, and can be transmitted directly or through one or more intermediary devices over various types of networks, communication channels, and connections. Moreover, the terms "first," "second," "top," "bottom," and the like can be used to denote various orientations or positions of a entity or action, but do not necessarily require that the entity or action be in that orientation or position, and are not necessarily required to be in any particular order.
[0014] As described above, in situations where attendance by some participants in a calendar event, such as a meeting, is optional, displaying an aggregated schedule for each participant of the event makes it difficult for an organizer to determine whether there is a time when each participant who needs to attend the event is free, even if other participants who do not need to attend the event are not free. Accordingly, embodiments described herein provide an electronic scheduling assistant that allows participants to be assigned a category (e.g., a mandatory category or an optional category) and generates separate aggregated schedules for each category using such category assignments. The separate aggregated schedules allow an organizer to easily and efficiently determine, for example, when all participants associated with a mandatory category are free to attend a meeting. Moreover, by collapsing the aggregated schedule of a particular category, the user interface described herein provides a more efficient user interface that allows an organizer to quickly navigate to an event and select a time for the event.
[0015] Figure 1 An example system 100 for providing electronic scheduling assistance is schematically illustrated. Figure 1 The system 100 illustrated in FIG. 1 includes a server 105 and one or more user devices 110, 115, 120, 125. The server 105 communicates with the user devices 110, 115, 120, 125 over one or more wired or wireless communication networks 130. Portions of the wireless communication networks 130 can be implemented using a wide area network such as the Internet, a local area network such as Bluetooth TM network or Wi-Fi, and combinations or derivatives thereof. It should be understood that the server 105 can communicate with any number of user devices, and Figure 1The four user devices 110, 115, 120, and 125 illustrated are for illustrative purposes only. Similarly, it should be understood that system 100 may include any number of servers, and Figure 1 The single server 105 illustrated herein is for illustrative purposes only. Furthermore, in some embodiments, one of the user devices 110, 115, 120, and 125 may communicate with server 105 via one or more intermediate devices (not shown).
[0016] Figure 2 A user equipment 110 according to some embodiments is schematically illustrated. User equipment 110 is an electronic computing device, such as a desktop computer or terminal, a laptop computer, a tablet computer, a smartphone, a smart TV, a smart whiteboard, a smart wearable, etc. Figure 2 As illustrated, the user equipment includes an electronic processor 200 (e.g., a microprocessor, application-specific integrated circuit (ASIC), or other suitable electronic device), a memory 205 (a non-transitory computer-readable storage medium), and a communication interface 210, such as a transceiver, for communicating via communication networks(s) 130 and optionally one or more additional communication networks or connections. The communication interface 210 allows the user equipment 110 to communicate with the server 105 via communication networks(s) 130.
[0017] User equipment 110 also includes an input device 215 and a display device 220. The display device 220 may include, for example, a touchscreen, a liquid crystal display (“LCD”), a light-emitting diode (“LED”), an LED display, an organic LED (“OLED”) display, an electroluminescent display (“ELD”), etc. The input device 215 may include, for example, a keyboard, a mouse, a touchscreen (e.g., as part of the display device 220), a microphone, a camera, etc. (not shown). The electronic processor 200, memory 205, communication interface 210, input device 215, and display device 220 communicate wirelessly via one or more communication lines or buses, or combinations thereof.
[0018] The electronic processor 200 is configured to execute instructions (e.g., stored in memory 205) to perform various functions. For example, in Figure 2 In the embodiment illustrated herein, memory 205 includes client application 225 that allows user device 110 to communicate with server 105, and in particular, to access electronic scheduling assistance provided via server 105, as described herein. For example, in some embodiments, client application 225 includes a browser application, such as an Internet application provided by Microsoft Corporation. It is configured to access the electronic scheduling assistance described herein. In other embodiments, the client application includes an electronic calendar application, such as those provided by Microsoft Corporation. configured to access the electronic scheduling aid described herein.
[0019] It should be appreciated that the user device 110 can include additional components in various configurations beyond those illustrated in Figure 2 and can perform additional functions beyond those described herein. For example, in some embodiments, the user device 110 includes multiple electronic processors, multiple memories, multiple communication interfaces, multiple input devices, multiple output devices, or a combination thereof. Moreover, it should be appreciated that although not described or illustrated herein, the user devices 115, 120, 125 can include similar components to the user device 110 and perform similar functions. Furthermore, although the following embodiments are described with respect to the user device 110, the embodiments described below can similarly be performed by any of the user devices included in the system 100.
[0020] Figure 3 A server 105 according to some embodiments is schematically illustrated. As Figure 3 illustrated in FIG. 3, the server 105 is an electronic computing device that includes an electronic processor 300 (e.g., a microprocessor, an application-specific integrated circuit (ASIC), or other suitable electronic device), a memory 305 (a non-transitory computer-readable storage medium), and a communication interface 310, such as a transceiver, for communicating over the communication network(s) 130 and optionally one or more additional communication networks or connections. The electronic processor 300, the memory 305, and the communication interface 310 are in wireless communication over one or more communication lines or buses or a combination thereof. It should be appreciated that the server 105 can include additional components in various configurations beyond those illustrated in Figure 3 and can perform additional functions beyond those described herein. Moreover, the functions described herein as being performed by the server 105 can be performed in a distributed nature, such as via multiple servers or similar devices included in a cloud computing environment.
[0021] The electronic processor 300 is configured to execute instructions (e.g., stored in the memory 305) to perform various functions. For example, in Figure 3In the illustrated embodiment, the memory 305 includes an electronic scheduling assistant 315 that is configured to perform the functions described herein when executed by the electronic processor 300. For example, as described in greater detail below, the electronic scheduling assistant 315 generates and outputs a user interface that includes an aggregated schedule of participants assigned to a particular category of calendar events. As used in this application, a "calendar event" can include a meeting, a conference call, a conference or presentation, a task, or any other type of event that is associated with a time (e.g., a date and time and possibly a duration) and a plurality of participants. Further, as used in this application, a "participant" of a calendar event can include an individual, a group such as a department in an organization, a location such as a conference room, or another resource associated with the event such as, for example, audio / video equipment, catering services, etc. In some embodiments, the electronic scheduling assistant 315 is a standalone software application, and in other embodiments, the electronic scheduling assistant is integrated in a larger software application, for example, an electronic calendar application (e.g., Microsoft® Outlook® provided by the Microsoft Corporation).
[0022] As illustrated in Figure 3 , in some embodiments, the memory 305 also stores one or more schedules 320, where each schedule 320 is associated with a participant. It should be appreciated that, in some embodiments, the schedules 320 are stored in memory separate from the electronic scheduling assistant 315; or in some embodiments, the schedules 320 are stored in a computing device separate from the server 105.
[0023] Each schedule 320 represents one or more events associated with a participant, including, for example, a date, a time, and a duration of each event. The schedule 320 can also include other information for the events, such as a location, a title, or a description, etc. It should be appreciated that the schedules 320 can be organized in various ways. For example, in some embodiments, each participant can be associated with a set of events (resulting in a separate set of events stored for each participant). However, alternatively or additionally, a set of events can be stored, where each event is associated with one or more participants (resulting in a single set of events stored).
[0024] Based on the information stored in the schedules 320, the electronic scheduling assistant 315 generates a user interface that displays a schedule for one or more participants. For example, in some embodiments, the displayed schedule includes a plurality of time slots, such as a plurality of minutes, hours, days, etc., and each of the displayed time slots (or portions of the displayed time slots) can be labeled as an available time slot or an unavailable time slot. Generally, a time slot can be labeled as an available time slot when there is currently (or temporarily) no event scheduled for the participant during the time slot (during any portion of the time slot or for the entire time slot), or if such an event is scheduled, the event is labeled as not affecting the user’s availability for other events. Similarly, a time slot can be labeled as an unavailable time slot when there is currently (or temporarily) an event scheduled for the participant during the time slot (during any portion of the time slot or for the entire time slot). The available time slots and the unavailable time slots can be labeled or distinguished in various ways in the user interface, including using different fonts, colors, fill patterns, etc. Further, it should be appreciated that other time slot classifications can be used, such as allowing more than just two classifications (available or unavailable). For example, in some embodiments, a time slot can be labeled as available, unavailable, temporarily available, not in office, do not disturb, etc.
[0025] As calendar events are created, accepted, declined, etc., the schedules 320 are updated. For example, when a new calendar event is created by an organizer and sent to a participant, the organizer’s schedule 320 can be updated to label the time associated with the new calendar event as unavailable, and the participant’s schedule 320 can be updated to label the time associated with the new calendar event as unavailable. In some embodiments, the time associated with the new calendar event in the participant’s schedule can initially be labeled as temporarily unavailable, and can subsequently be labeled as unavailable or available depending on whether the participant accepts or declines the event. In some embodiments, the electronic scheduling assistant 315 is configured to update and manage the schedules 320. However, alternatively or additionally, a separate application or service can be configured to update and manage the schedules 320 while the electronic scheduling assistant 315 accesses the schedules to generate the user interfaces and associated functionality described herein.
[0026] Figure 4An example method 400 of providing electronic scheduling assistance is illustrated. The method 400 is described as being performed by the electronic scheduling assistant 315 (as performed by the electronic processor 300). However, it should be appreciated that the method 400, or portions thereof, can be performed by other applications or devices. For example, in some embodiments, the method 400, or portions thereof, are performed by the client application 225, as performed by the electronic processor 200 included in the user device 110 configured to communicate with the server 105. The method 400 is also described as being performed as part of an organizer scheduling a new calendar event, where the organizer has specified a plurality of participants for the calendar event, and optionally a time or time range for the calendar event. However, it should be appreciated that the method 400 is also applicable during updating of an existing, scheduled calendar event.
[0027] As Figure 4 illustrated in FIG. 4, the method 400 includes, for each participant of a plurality of participants associated with a calendar event, retrieving a category assigned to the participant from a plurality of available categories (at block 405) and retrieving a schedule associated with the participant (at block 410). In some embodiments, the plurality of available categories includes a required category and an optional category. However, it should be appreciated that other categories can be used, and in some embodiments, more than two categories can be used. For example, the categories can include a required category, an optional category, and a location category, which indicates a participant represents a location or other resource, such as a conference room, equipment, services, etc. Similarly, other categories can be used, such as a speaker or presenter category, which can indicate a participant needs to speak or present at the calendar event (as opposed to merely attending the event).
[0028] In some embodiments, as part of specifying participants for a new calendar event, the organizer selects a category for one or more participants of the new calendar event. For example, as part of creating the calendar event, the organizer can select a category for one or more participants of the event (via the input device 215 of the user device 110). The selection can be performed via a drop-down selection menu or other mechanism, such as by dragging a representation (e.g., an icon) of the participant and dropping it into a region of the user interface associated with the particular category. Further, as described below with reference to FIG. 5, the organizer can select a category for a participant by adding the participant to a different portion of the displayed user interface. Figure 5
[0029] Alternatively or additionally, categories can be automatically selected for participants. For example, the required category can be automatically selected for an organizer of an event. Similarly, user roles (e.g., whether a participant is a manager of a project), location, or historical selections can be used to automatically select categories for participants. The automatically selected categories can be presented to the organizer for confirmation and updating as needed. For example, in some embodiments, a user can update selected categories (whether initially selected by an organizer or automatically selected) within the user interfaces described herein.
[0030] In some embodiments, the schedule 320 retrieved for a particular participant (at block 410) can include the participant's entire schedule (all events currently existing and occurring in the future). Alternatively, the schedule 320 retrieved for a particular participant for a new calendar event can include time slots and any associated events representing a particular duration. For example, when an organizer specifies a time for a new calendar event, a predetermined period of time before the specified time, after the specified time, or both can be retrieved from the schedule 320. Alternatively, as part of creating a new calendar event, a duration can be specified by the organizer. Further, in some embodiments, the duration can vary based on details of the new event (e.g., duration, location, number of participants, etc.), or can include a static duration, such as the next day, week, or month.
[0031] As Figure 4 illustrated in FIG. 4B, the method 400 further includes aggregating the schedule of each participant assigned to each of the plurality of categories to create an aggregated schedule associated with each of the plurality of categories (at block 415), and generating and outputting a user interface for display on a display device, the user interface including the aggregated schedule of each of the plurality of categories in separate areas of the user interface (at block 420).
[0032] For example, Figure 5 FIG. 5 illustrates a user interface 500 including an aggregated schedule for each of a plurality of categories, according to some embodiments. In particular, as Figure 5 illustrated in FIG. 5A, the user interface 500 includes an aggregated schedule 502 for a required category and an aggregated schedule 504 for an optional category. Each aggregated schedule 502, 504 is displayed in a separate area of the user interface 500. For example, as Figure 5 illustrated in FIG. 5B, in some embodiments, the aggregated schedules 502, 504 are displayed in a horizontal stacked orientation, with time slots included in each aggregated schedule aligned such that time slots representing the same time in each aggregated schedule are horizontally aligned. It will be appreciated that Figure 5One example orientation of the aggregated schedules is illustrated, and other orientations and configurations are possible, including, for example, a vertical stack orientation.
[0033] As Figure 5 illustrated in FIG. 5, each aggregated schedule 502, 504 includes a sub-region for each participant assigned to the category, where the sub-region represents the participant’s schedule over a period of time. In particular, the aggregated schedule 502 includes a sub-region 515 displaying John Smith’s schedule, a sub-region 520 displaying Joe Cool’s schedule, a sub-region 525 displaying Jane Smith’s schedule, a sub-region 530 displaying Dave Smith’s schedule, and a sub-region 535 displaying Jane Smith’s schedule, all of whom have been set as required participants.
[0034] As Figure 5 illustrated in FIG. 5, in some embodiments, the user interface 500 can be used to add participants to the multiple participants associated with a category. For example, the user interface 500 includes a selectable Add Required Attendee option 550 that a user can select to enter an identifier for a participant, such as a name from a drop-down menu populated with the organizer’s contacts, a user directory associated with an entity, and the like. When a participant is added using the Add Required Attendee option 550, the added participant is automatically set as a required participant (without the user having to select this separately). Similarly, the user interface 500 also includes a selectable Add Optional Attendee option 555 that a user can select to add an additional potential participant to the new calendar event. Accordingly, in some embodiments, after entering a potential date and time for a new calendar event, an organizer can use the user interface 500 to add participants for the new calendar event and categorize them. When participants are added using these options 550, 555, the aggregated schedules 502, 504 can be updated to add sub-regions for the added participants. In some embodiments, an organizer can also drag-and-drop one or more participants (particular sub-regions) from one category or another within the user interface 500. Similarly, in some embodiments, an organizer can drag-and-drop an entire category of participants to another category, such as by dragging multiple sub-regions within the aggregated schedule for a category or a single combined sub-region for a category, as described below with reference to FIG. 6. Figure 6
[0035] In some embodiments, the electronic scheduling assistant 315 is also configured to individually collapse the aggregated schedule for a category into a single sub-region that represents a combined schedule for all participants assigned to one of the multiple categories. For example, as Figure 5 As illustrated, the user interface 500 includes a user-selectable collapse option 505 associated with the aggregated schedule 502 (required category) and a user-selectable collapse option 510 associated with the aggregated schedule 504 (optional category). When the user-selectable collapse option 505 is selected, the electronic scheduling assistant 315 replaces the aggregated schedule 502 with a single sub-area representing the combined schedules of all required participants. Specifically, instead of displaying as shown... Figure 5 The diagram shows separate sub-regions 515, 520, 525, 530, and 535. The electronic dispatch assistant 315 displays the following: Figure 6 The single sub-region 605 is illustrated in the user interface 600. Although not described herein, the selection of user-selectable collapse options 510 similarly utilizes a single sub-region for optional categories to replace the aggregated schedule 504, as described herein for required categories.
[0036] For example, such as Figure 5 As illustrated in the diagram, sub-regions 515, 520, 525, 530, and 535 indicate that the required participants Joe Smith, Joe Cool, Jane Smith, Dave Smith, and Deb Smith are only available from 12:30 PM to 1:00 PM. Therefore, for the required category... Figure 6 The single sub-region 605 illustrated indicates that the participants associated with the required category have free time between 12:30 PM and 1:00 PM (the time slot associated with this duration is marked as available). Similarly, since at least one required participant is not free during other time slots (including being temporarily unavailable), the remaining time slots included in sub-region 605 are marked as unavailable. Thus, the collapsed single sub-region 605 represents multiple time slots similar to the aggregated schedule 502, but each time slot included in the multiple time slots in sub-region 605 is marked as an available or unavailable time slot based on whether all required participants are collectively free or not. In other words, a time slot included in sub-region 605 is marked as an available time slot in response to a schedule retrieved for each participant assigned to the required category; and alternatively, one of the multiple time slots is marked as an unavailable time slot in response to a schedule retrieved for at least one participant assigned to the required category. It should be understood that the schedules of a single sub-area 605 can be combined in other ways, such as by taking into account whether most participants have free time or not, or by marking a time slot as temporarily unavailable if any participant marks it as temporarily unavailable.
[0037] The electronic scheduling assistant 315 can also be configured to individually expand a single sub-region representing a combined schedule for all participants assigned to a category back into an aggregated schedule for that category. For example, in some embodiments, such as Figure 6 As illustrated, when displaying a single sub-region for a category, the user-selectable collapse option can be converted into a user-selectable expand option. However, in other embodiments, separate options (selection mechanisms) can be used.
[0038] like Figure 6 As illustrated, in some embodiments, only a maximum number of individual participants from a category may be allowed for a calendar event. For example, a location category may include a set of potential locations for an event, and aggregated and combined (collapsed) schedules may be provided to such participants. However, to schedule an event, only one location may be selected, and the user may make this selection via user interface 600 using, for example, the radio buttons shown. However, in other embodiments, the organizer may select a single location on a separate user interface (such as a pop-up window) when a new calendar event is saved or approved. Alternatively or additionally, a location may be automatically selected for an event when only one location in a location category is available for a specified time of the event (without requiring organizer selection). Furthermore, in some embodiments, a location may be automatically selected based on various factors, such as, for example, size, proximity to one or more participants, event duration, location history, etc. Furthermore, in some embodiments, radio buttons provided for participants within a specific category may be used to include and exclude participants from the category (without completely removing and subsequently re-adding participants). Accordingly, organizers can use such buttons to view aggregated or combined schedules based on different subsets of various categories to identify the best time for the event.
[0039] For example Figure 5 and Figure 6 As illustrated in the figures, in some embodiments, one or more participants associated with an event may not be associated with a category. For example, in example user interfaces 500 and 600, the participant NorthwindTraders is not associated with a category. These participants may be displayed as part of a default “unassigned” category and may be associated with aggregated schedules and collapsed individual sub-regions (combined schedules) as described above for other categories.
[0040] For example Figure 5 and Figure 6As illustrated in the middle, in some embodiments, the user can selectively enable and disable the separation of participants by category by selecting the All Attendees option 545. Specifically, when this option 545 is selected, the separate aggregated schedules for each category are removed and a separate sub-area for each participant can be provided as described herein without grouping or other categorization of the participants.
[0041] It should be appreciated that while the electronic scheduling assistant 315 is described herein as being executed and provided via the server 105 as part of a hosted service or application, in some embodiments, the functionality described herein with respect to the assistant 315 (or portions thereof) can be executed by the client application 225 executed via the electronic processor 200 of the user device 110. For example, in some embodiments, the client application 225 can be configured to generate and output the user interfaces described herein, but can communicate with the server 105 (or other server or device) to access the schedule 320 for generating the user interfaces. Further, in some embodiments, the schedule 320 or portions thereof can be stored locally at the user device 110, which can allow the user device 110 to generate and output the user interfaces and associated functionality described herein without accessing an external device, such as the server 105.
[0042] Various features and advantages of some embodiments are set forth in the following claims.
Claims
1. A system for providing electronic scheduling assistance within an electronic calendar application, the system comprising: an electronic computing device comprising an electronic processor configured to: for each participant of a plurality of participants associated with a calendar event: retrieve data indicating a category assigned to the participant for the calendar event from a plurality of categories comprising a required category and an optional category, and retrieve a schedule of the participant; generate a first aggregated schedule for the required category, the first aggregated schedule based on the schedule of each participant included in a first subset of the plurality of participants, each participant included in the first subset of the plurality of participants assigned to the required category; generate a second aggregated schedule for the optional category, the second aggregated schedule based on the schedule of each participant included in a second subset of the plurality of participants, each participant included in the second subset of the plurality of participants assigned to the optional category; generate and output a user interface within the electronic calendar application, the user interface comprising a first region and a second region, the first region associated with the required category and comprising: the first aggregated schedule, and a graphical user interface control element, the second region associated with the optional category and comprising: the second aggregated schedule; and in response to receiving a selection of the graphical user interface control element included in the first region of the user interface associated with the required category: prompt a user for an identifier of a new participant associated with the calendar event; retrieve a schedule associated with the new participant; automatically assign the new participant to the required category for the calendar event based on inclusion of the graphical user interface control element in the first region associated with the required category; and update the first aggregated schedule within the first region of the user interface based on the schedule associated with the new participant, wherein the first aggregated schedule and the second aggregated schedule included in the user interface each comprise a plurality of sub-regions, wherein each sub-region of the plurality of sub-regions included in the first aggregated schedule represents a schedule of one of the participants included in the first subset of the plurality of participants, and each sub-region of the plurality of sub-regions included in the second aggregated schedule represents a schedule of one of the participants included in the second subset of the plurality of participants, and wherein the electronic processor is further configured to: collapse the plurality of sub-regions included in the first aggregated schedule into a single sub-region, the single sub-region representing a combined schedule of all participants included in the first subset of the plurality of participants.
2. The system of claim 1, wherein the electronic processor is configured to collapse the plurality of sub-regions included in the first aggregated schedule in response to user input.
3. The system of claim 1, wherein the combined schedule represents a plurality of time slots, and wherein each time slot of the plurality of time slots is labeled as an available time slot or an unavailable time slot.
4. The system of claim 3, wherein a time slot of the plurality of time slots is labeled as an available time slot in response to the schedule retrieved for each participant included in the first subset of the plurality of participants labeling the time slot of the plurality of time slots as an available time slot.
5. The system of claim 3, wherein a time slot of the plurality of time slots is labeled as an unavailable time slot in response to the schedule retrieved for at least one participant included in the first subset of the plurality of participants labeling the time slot of the plurality of time slots as an unavailable time slot.
6. The system of claim 1, wherein the electronic processor is further configured to expand the single sub-region into the plurality of sub-regions in response to a user input.
7. A method for providing electronic scheduling assistance within an electronic calendar application, the method comprising: for each participant of a plurality of participants associated with a calendar event: retrieving, with an electronic processor, data indicating a category assigned to the participant for the calendar event from a plurality of categories including a required category and an optional category, and retrieving, with the electronic processor, a schedule of the participant; generating, with the electronic processor, a plurality of sub-regions, each sub-region of the plurality of sub-regions including: an identifier of one participant of the plurality of participants, and a plurality of time slots representing availability of the one participant of the plurality of participants over a common time period based on the schedule retrieved for the one participant of the plurality of participants; generating and outputting, within the electronic calendar application, a user interface including: the plurality of sub-regions in a stacked orientation to form a grid, and a graphical user interface control element, wherein a first subset of the plurality of sub-regions associated with a first subset of the plurality of participants is presented as a first contiguous group within the grid and a second subset of the plurality of sub-regions associated with a second subset of the plurality of participants is presented as a second contiguous group within the grid, wherein each participant included in the first subset of the plurality of participants is assigned to the required category, wherein each participant included in the second subset of the plurality of participants is assigned to the optional category, and wherein the graphical user interface control element is associated with the first contiguous group within the user interface; and in response to receiving a selection of the graphical user interface control element included in the user interface: prompting a user for an identifier of a new participant associated with the calendar event; retrieving a schedule associated with the new participant; automatically assigning the new participant to the required category for the calendar event based on the association of the graphical user interface control element with the first contiguous group within the user interface; and updating the first contiguous group within the grid to include a sub-region associated with the new participant.
8. The method of claim 7, further comprising: in response to receiving a user input, collapsing the first subset of the plurality of sub-regions into a single sub-region, the single sub-region representing a combined schedule for all participants included in the first subset of the plurality of participants, the single sub-region including a plurality of combined time slots over the common time period, and wherein each combined time slot included in the single sub-region is labeled as an available time slot or an unavailable time slot.
9. The method of claim 8, further comprising: in response to one of the plurality of combined time slots included in the single sub-region being labeled as an available time slot, the schedule retrieved for each of the plurality of participants included in the first subset of the plurality of participants labeling a time associated with the one of the plurality of combined time slots as available.
10. The method of claim 8, further comprising: in response to one of the plurality of combined time slots included in the single sub-region being labeled as an unavailable time slot, the schedule retrieved for at least one of the plurality of participants included in the first subset of the plurality of participants labeling a time associated with the one of the plurality of combined time slots as unavailable.
11. A non-transitory computer-readable medium storing instructions that, when executed by an electronic processor, perform a set of functions comprising: retrieving a schedule associated with a first participant associated with a calendar event, the first participant being assigned to a required category for the calendar event; retrieving a schedule associated with a second participant associated with the calendar event, the second participant being assigned to an optional category for the calendar event; generating a first sub-region, the first sub-region including: an identifier of the first participant, and a plurality of time slots representing availability of the first participant over a common time period based on the schedule retrieved for the first participant; generating a second sub-region, the second sub-region including: an identifier of the first participant, and a plurality of time slots representing availability of the second participant over the common time period based on the schedule retrieved for the second participant; generating and outputting, within an electronic calendar application, a user interface, the user interface including: a first region associated with the required category, the first region including: the first sub-region, and a graphical user interface control element, and a second region associated with the optional category, the second region including: the second sub-region; and in response to receiving a selection of the graphical user interface control element included in the first region: prompting a user for an identifier of a third participant associated with the calendar event; retrieving a schedule associated with the third participant; automatically assigning the third participant to the required category for the calendar event based on inclusion of the graphical user interface control element in the first region associated with the required category; and updating the first region within the user interface to include a third sub-region associated with a third participant.
12. The non-transitory computer-readable medium of claim 11, the set of functions further comprising: responsive to receiving a user input, collapsing the first sub-region and the third sub-region into a single sub-region included in the first region, the single sub-region representing a combined schedule for the required category of the calendar event.
13. The non-transitory computer-readable medium of claim 12, wherein the single sub-region includes a plurality of combined time slots over the common time period, and wherein each combined time slot of the plurality of combined time slots included in the single sub-region is labeled as an available time slot or an unavailable time slot.
14. The non-transitory computer-readable medium of claim 13, wherein a combined time slot of the plurality of combined time slots included in the single sub-region is labeled as an available time slot in response to the schedule retrieved for the first participant and the schedule retrieved for the third participant labeling a time associated with the combined time slot of the plurality of combined time slots as an available time.
15. The non-transitory computer-readable medium of claim 13, wherein a combined time slot of the plurality of combined time slots included in the single sub-region is labeled as an unavailable time slot in response to the schedule retrieved for the first participant and the schedule retrieved for the third participant labeling a time associated with the combined time slot of the plurality of combined time slots as unavailable.
16. The non-transitory computer-readable medium of claim 11, the set of functions further comprising: automatically selecting the required category for the first participant based on at least one selected from a group consisting of: a user role of the first participant, a location of the calendar event, and a historical selection of a category for the first participant.
17. The non-transitory computer-readable medium of claim 11, the set of functions further comprising, in response to receiving a drag-and-drop of the first sub-region from the first region to the second region: assigning the first participant to the selectable category.
Citation Information
Patent Citations
Device, method, and graphical user interface for meeting space management and interaction
CN109313747A
Method and user interface for computer-assisted schedule coordination
US20080015922A1