ExBooking. MeetingType
(ExBooking v0.1.0)
View Source
A bookable meeting template.
A meeting type defines duration, slot grid, participant mode, capacity, and
lifecycle policies. slot_interval_min is deliberately independent from
duration_min, so a 30-minute meeting can be offered every 15 minutes.
Example
iex> meeting_type = %ExBooking.MeetingType{
...> id: "intro",
...> duration_min: 30,
...> slot_interval_min: 15
...> }
...>
...> {meeting_type.duration_min, meeting_type.slot_interval_min}
{30, 15}
Summary
Types
@type participants() :: :one | :collective | :pool
Which resources must be free for a slot.
@type policy() :: %{min_notice_min: non_neg_integer(), allowed: boolean()}
Cancellation or reschedule policy.
@type t() :: %ExBooking.MeetingType{ buffers: ExBooking.AvailabilityRule.buffers() | nil, cancellation_policy: policy() | nil, capacity_required: pos_integer(), duration_min: pos_integer(), id: String.t(), meta: map() | nil, participants: participants(), reschedule_policy: policy() | nil, slot_interval_min: pos_integer() | nil }
A meeting type.