ICal.Availability (iCal v3.2.0)

View Source

An iCalendar Availability (VAVAILABILITY), defined by RFC 7953.

A VAVAILABILITY component describes when a calendar user is available to be scheduled. Within the period it covers, time defaults to the component's busytype:busy_unavailable unless stated otherwise — and each ICal.Availability.Available subcomponent carves out a period of free time within it.

The period covered is dtstart to dtend (or dtstart plus duration). Either endpoint may be absent, in which case that side is unbounded, and a component with neither covers all time.

Where two VAVAILABILITY components overlap, priority decides which applies: 1 is the highest priority and 9 the lowest, while 0 or nil means no priority was set and ranks below all of them.

Summary

Types

The kind of busy time the component asserts outside its AVAILABLE subcomponents. Tokens other than the three RFC 7953 defines are kept verbatim as a string.

t()

Types

busytype()

@type busytype() :: :busy | :busy_unavailable | :busy_tentative | String.t()

The kind of busy time the component asserts outside its AVAILABLE subcomponents. Tokens other than the three RFC 7953 defines are kept verbatim as a string.

t()

@type t() :: %ICal.Availability{
  available: [ICal.Availability.Available.t()],
  busytype: busytype(),
  categories: [String.t()],
  class: String.t() | nil,
  comments: [String.t()],
  contacts: [ICal.Contact.t()],
  created: ICal.optional_rfc5455_datetime(),
  custom_properties: ICal.custom_properties(),
  description: String.t() | nil,
  dtend: ICal.optional_rfc5455_date(),
  dtstamp: ICal.optional_rfc5455_datetime(),
  dtstart: ICal.optional_rfc5455_date(),
  duration: ICal.Duration.t() | nil,
  location: String.t() | nil,
  modified: ICal.optional_rfc5455_date(),
  organizer: String.t() | nil,
  priority: integer() | nil,
  sequence: String.t() | nil,
  summary: String.t() | nil,
  uid: String.t() | nil,
  url: String.t() | nil
}