# US 2020/0402020 A1 · Focus time auto booking

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0402020 A1
- Document ID: US20200402020A1
- Status: Published application
- Kind: A1
- Application number: 16/444,163
- Filed: 2019-06-18
- Published: 2020-12-24
- Earliest claimed: 2019-06-18
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Peter Burton Bergen; Wendy Guo; Noelle Renee Beaujon; Charu Kwatra
- Web page: https://patentgrep.com/patent/US20200402020A1

## CPC

- G06Q 10/1093: Calendar-based scheduling for persons or groups
- G06F 16/2477: {Temporal data queries}
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06Q: INFORMATION 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
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for updating calendar data is described. A server accesses calendar data for a user account and parses the calendar data for a plurality of available time slots within an upcoming timeframe. The server schedules a focus time session for a corresponding available time slot of the plurality of available time slots within the upcoming timeframe in the calendar data. A confirmation of the scheduled focus time sessions is provided to the user account.

## Claims

### Claim 1

A computer-implemented method comprising:
accessing, at a server, calendar data for a user account;
parsing the calendar data for a plurality of available time slots within an upcoming timeframe;
scheduling a focus time session for a corresponding available time slot of the plurality of available time slots within the upcoming timeframe in the calendar data; and
providing a confirmation of the scheduled focus time sessions to the user account.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
detecting a meeting request for the user account;
detecting that the meeting request conflicts with the scheduled focus time sessions;
generating a confirmation query that indicates the conflicts to the user account;
receiving a confirmation response in response to the confirmation query; and
updating the calendar data for the user account based on the confirmation response.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the confirmation query indicates an option to reschedule a meeting request that conflicts with a scheduled focus time session to another available time slot from the calendar data of the user account,
wherein the confirmation response indicates a confirmation to reschedule the meeting request that conflicts with the scheduled focus time session to another available time slot from the calendar data of the user account.

### Claim 4 (depends on 2)

The computer-implemented method of claim 2, wherein the confirmation query indicates an option to reschedule a scheduled focus time session that conflicts with the meeting request to another available time slot from the calendar data of the user account,
wherein the confirmation response indicates a confirmation to reschedule the scheduled focus time session that conflicts with the meeting request to another available time slot from the calendar data of the user account.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein parsing the calendar data further comprises:
identifying a plurality of contiguous available time slots within a preset time range and within a preset date range of the upcoming timeframe, each contiguous available time slot having a duration of at least a preset number of minimum consecutive hours and a preset number of maximum consecutive hours.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, further comprising:
adjusting the preset number of minimum consecutive hours based on a minimum available duration preference for the user account; and
adjusting the preset number of maximum consecutive hours based on a maximum available duration preference for the user account.

### Claim 7 (depends on 5)

The computer-implemented method of claim 5, wherein the preset time range corresponds to a morning time range.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the parsing further comprises:
periodically parsing the calendar data after the upcoming timeframe has elapsed.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein providing the confirmation of the scheduled focus time sessions further comprises:
causing a graphical representation of the scheduled focus time sessions in a graphical display of a weekly calendar provided by a calendar application corresponding to the user account.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining whether any of the scheduled focus time sessions have been canceled or rescheduled; and
generating a weekly report that indicates whether any of the scheduled focus time sessions have been canceled or rescheduled and whether the user has operated an email application on a client device of the calendar application during the scheduled focus time sessions, after the upcoming timeframe has elapsed.

### Claim 11

A computing apparatus, the computing apparatus comprising:
a processor; and
a memory storing instructions that, when executed by the processor, configure the apparatus to:
access, at a server, calendar data for a user account;
parse the calendar data for a plurality of available time slots within an upcoming timeframe;
schedule a focus time session for a corresponding available time slot of the plurality of available time slots within the upcoming timeframe in the calendar data; and
provide a confirmation of the scheduled focus time sessions to the user account.

### Claim 12 (depends on 11)

The computing apparatus of claim 11, wherein the instructions further configure the apparatus to:
detect a meeting request for the user account;
detect that the meeting request conflicts with the scheduled focus time sessions;
generate a confirmation query that indicates the conflicts to the user account;
receive a confirmation response in response to the confirmation query; and
update the calendar data for the user account based on the confirmation response.

### Claim 13 (depends on 12)

The computing apparatus of claim 12, wherein the confirmation query indicates an option to reschedule a meeting request that conflicts with a scheduled focus time session to another available time slot from the calendar data of the user account,
wherein the confirmation response indicates a confirmation to reschedule the meeting request that conflicts with the scheduled focus time session to another available time slot from the calendar data of the user account.

### Claim 14 (depends on 12)

The computing apparatus of claim 12, wherein the confirmation query indicates an option to reschedule a scheduled focus time session that conflicts with the meeting request to another available time slot from the calendar data of the user account,
wherein the confirmation response indicates a confirmation to reschedule the scheduled focus time session that conflicts with the meeting request to another available time slot from the calendar data of the user account.

### Claim 15 (depends on 11)

The computing apparatus of claim 11, wherein parsing the calendar data further comprises:
identify a plurality of contiguous available time slots within a preset time range and within a preset date range of the upcoming timeframe, each contiguous available time slot having a duration of at least a preset number of minimum consecutive hours and a preset number of maximum consecutive hours.

### Claim 16 (depends on 15)

The computing apparatus of claim 15, wherein the instructions further configure the apparatus to:
adjust the preset number of minimum consecutive hours based on a minimum available duration preference for the user account; and
adjust the preset number of maximum consecutive hours based on a maximum available duration preference for the user account.

### Claim 17 (depends on 15)

The computing apparatus of claim 15, wherein the preset time range corresponds to a morning time range.

### Claim 18 (depends on 11)

The computing apparatus of claim 11, wherein the parsing further comprises:
periodically parse the calendar data after the upcoming timeframe has elapsed.

### Claim 19 (depends on 11)

The computing apparatus of claim 11, wherein providing the confirmation of the scheduled focus time sessions further comprises:
cause a graphical representation of the scheduled focus time sessions in a graphical display of a weekly calendar provided by a calendar application corresponding to the user account.

### Claim 20

A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:
access, at a server, calendar data for a user account;
parse the calendar data for a plurality of available time slots within an upcoming timeframe;
schedule a focus time session for a corresponding available time slot of the plurality of available time slots within the upcoming timeframe in the calendar data; and
provide a confirmation of the scheduled focus time sessions to the user account.
