# Meeting types in Nylas Scheduler

Source: https://developer.nylas.com/docs/v3/scheduler/meeting-types/

Scheduler supports several meeting types to fit different workflows. This page explains each type and how to enable them.

## One-on-one meetings

One-on-one meetings let you book sessions with a single organizer and a single guest. This is the simplest option Scheduler offers, and is ideal for interviews, customer calls, or support sessions.

To enable one-on-one meetings using the Scheduler API, make a [Create Configuration](/docs/reference/api/configurations/post-configurations/) or [Update Configuration](/docs/reference/api/configurations/put-configurations-id/) request that includes a single organizer in the `participants` array.

To enable one-on-one bookings in the Scheduler Editor Component, set `enableEventTypes.one_on_one` to `true`. If you want users to only be able to book one-on-one meetings using this Configuration, set all other event types to `false`.

## Collective meetings

Collective meetings let you book sessions with a guest and one or more teammates. Scheduler automatically finds times when the organizer and all participants are available. This meeting type is useful for any event that all participants must attend, like a weekly scrum.

> **Warn:** 
> **For performance reasons, we recommend you limit participants lists to 10 people**. If you need to book an event with a larger team, reduce the time window that Nylas will evaluate for availability.

To enable collective meetings using the Scheduler API, make a [Create Configuration](/docs/reference/api/configurations/post-configurations/) or [Update Configuration](/docs/reference/api/configurations/put-configurations-id/) request with multiple participants and only one organizer. Nylas automatically checks availability for all participants to find a time that works for everyone.

To enable collective meetings in the Scheduler Editor Component, set `enableEventTypes.collective` to `true` and add teammates to the `additionalParticipants` list. When a user books a collective meeting, Nylas automatically sets them as the organizer.

## Round-robin meetings

Scheduler supports two types of round-robin meetings: one that uses a [max-fairness](#max-fairness-round-robin-meetings) distribution method, and one that uses [max-availability](#max-availability-round-robin-meetings).

> **Warn:** 
> **For performance reasons, we recommend you limit participants lists for round-robin meetings to 10 people**.

### Max-fairness round-robin meetings

The max-fairness method distributes meeting attendance evenly across team members over time. When you use max-fairness, Nylas prioritizes the participant who was booked the least recently for the same meeting type.

To enable max-fairness round-robin meetings using the Scheduler API, make a [Create Configuration](/docs/reference/api/configurations/post-configurations/) or [Update Configuration](/docs/reference/api/configurations/put-configurations-id/) request and set the `availability_method` to `max-fairness`. Nylas evaluates the users in the `participants` array to determine who should attend the event.

> **Success:** 
> **You can use the [**`key5` metadata field**](/docs/dev-guide/metadata/#reserved-metadata-keys) to tag events that should count towards fairness calculations**.

```bash {10}
curl --request PUT \
  --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations/<CONFIGURATION_ID>" \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <NYLAS_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "availability": {
      "duration_minutes": 60,
      "availability_rules": {
        "availability_method": "max-fairness"
      }
    },
    "event_booking": {
      "title": "Monthly demos",
      "location": "Room 104",
      "hide_participants": false
    },
    "participants": [
      {
        "name": "Nyla",
        "email": "nyla@example.com",
        "availability": {
          "calendar_ids": ["primary"]
        },
        "booking": {
          "calendar_id": "primary"
        }
      },
      {
        "name": "Leyah Miller",
        "email": "leyah@example.com",
        "availability": {
          "calendar_ids": ["primary"]
        },
        "booking" : {
          "calendar_id": "primary"
        }
      }
    ]
  }'
```

To enable max-fairness round-robin meetings using the Scheduler Editor Component, set `enableEventTypes.max_fairness` to `true` and add some people to the `additionalParticipants` list. Nylas rotates through the participants to determine who should attend the event.

### Max-availability round-robin meetings

The max-availability method distributes meeting invitations to participants who have the most availability on their calendar. This is useful when you need to present guests with the greatest possible number of available time slots for the booking.

To enable max-availability round-robin meetings using the Scheduler API, make a [Create Configuration](/docs/reference/api/configurations/post-configurations/) or [Update Configuration](/docs/reference/api/configurations/put-configurations-id/) request and set the `availability_method` to `max-availability`. Nylas evaluates the users in the `participants` array to determine who should attend the event.

```bash {10}
curl --request PUT \
  --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations/<CONFIGURATION_ID>" \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <NYLAS_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "availability": {
      "duration_minutes": 60,
      "availability_rules": {
        "availability_method": "max-availability"
      }
    },
    "event_booking": {
      "title": "Monthly demos",
      "location": "Room 104",
      "hide_participants": false
    },
    "participants": [
      {
        "name": "Nyla",
        "email": "nyla@example.com",
        "availability": {
          "calendar_ids": ["primary"]
        },
        "booking": {
          "calendar_id": "primary"
        }
      },
      {
        "name": "Leyah Miller",
        "email": "leyah@example.com",
        "availability": {
          "calendar_ids": ["primary"]
        },
        "booking" : {
          "calendar_id": "primary"
        }
      }
    ]
  }'
```

To enable max-availability round-robin meetings using the Scheduler Editor Component, set `enableEventTypes.max_availability` to `true` and add some people to the `additionalParticipants` list. Nylas evaluates the participants' calendars to determine who should attend the event.

## Group meetings

Group meetings let you book sessions with a large number of guests. You can define the capacity for each event and its recurrence schedule, if necessary. This is useful for classes or webinars.

To enable group meetings using the Scheduler API, make a [Create Configuration request](/docs/reference/api/configurations/post-configurations/) and set the `type` to `group`. After you have a Group Configuration, you can create group event instances using the [Group Events endpoints](/docs/reference/api/group-events/).

> **Info:** 
> **The default capacity for group events is 10**. You can increase or decrease it as necessary by setting `capacity` in your Group Events requests.

```bash
curl --request POST \
  --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations" \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <NYLAS_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Learn how to bind a book",
    "type": "group",
    "group_booking": {
      "booking_type": "booking",
      "disable_emails": false,
      "calendar_id": "primary",
      "reminders": [{
        "type": "email",
        "minutes_before_event": 30,
        "recipient": "guest"
      }]
    },
    "scheduler": {
      "available_days_in_future": 260,
      "hide_cancellation_options": false,
      "hide_reschedule_options": true,
      "min_booking_notice": 0,
      "min_cancellation_notice": 480
    }
  }'
```

To enable group events using the Scheduler Editor Component, set `enableEventTypes.group` to `true`.

## Keep in mind

- If you're using Zoom conferencing for round-robin events under a single grant, restrictive Zoom settings might prevent participants from joining. See our [Zoom troubleshooting documentation](/docs/provider-guides/zoom-meetings/troubleshoot-zoom/#participants-can-t-join-round-robin-meetings) for more information.
- For large teams, we recommend keeping participant pools small or narrowing the availability window to maintain performance.