Skip to content

mufeez-amjad/avail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

avail CI

avail is a cli tool that helps you find available times between all your calendars.

Features

  • Search for availabilities:
    • with a specific duration (e.g. one hour)
    • within a search window (e.g. between start and end date, or 1 week out)
    • during specific hours of the day (e.g. 12pm onwards)
    • across any number of calendars associated with a Google or Microsoft account
  • Create hold events so you don't double book yourself
  • Copies formatted availability to system clipboard

Installation

The easiest way to install avail is by running the following command:

curl -fsSL https://raw.githubusercontent.com/mufeez-amjad/avail/master/install.sh | sh -

Alternatively, you can install avail by building from source or installing a pre-built binary.

After installing, you will then need to retrieve OAuth credentials for Microsoft Outlook, Google Calendar, or both. Instructions can be found here.

Usage

Usage: avail [OPTIONS] [COMMAND]

Commands:
  accounts   Manages OAuth accounts (Microsoft Outlook and Google Calendar)
  calendars  Allows specifying which calendars to use when querying, refreshes calendar cache for added accounts
  help       Print this message or the help of the given subcommand(s)

Options:
      --start <START>        Start of search window in the form of MM/DD/YYYY (default now)
      --end <END>            End of search window in the form of MM/DD/YYYY (default start + 7 days)
      --min <MIN>            Minimum time for availability in the form of <int>:<int>am/pm (default 9:00am)
      --max <MAX>            Maximum time for availability in the form of <int>:<int>am/pm (default 5:00pm)
  -w, --window <WINDOW>      Duration of search window, specify with <int>(w|d|h|m) (default 1w)
      --include-weekends     Option to include weekends in availability search (default false)
  -d, --duration <DURATION>  Duration of availability window, specify with <int>(w|d|h|m) (default 30m)
  -c, --create-hold-event    Create a hold event (default false)
  -h, --help                 Print help information
  -V, --version              Print version information

More information on the commands is available in the wiki.

Examples

Find 30 minute blocks of availability between 9:00am and 5:00pm from now until one week from now:

avail

Find 1 hour blocks of availability between 10:00am and 4:00pm from 01/01/2022 until 01/31/2022:

avail --start 01/01/2022 --end 01/31/2022 --min 10:00am --max 4:00pm --duration 1h

Find 2 hour blocks of availability between 9:00am and 5:00pm including weekends from now until 2 weeks from now:

avail --window 2w --include-weekends --duration 2h

Contributing

Feel free to open a PR!

License

avail is licensed under the MIT License.