---
title: "Get booking availability for a meeting type"
method: GET
path: "/v4/booking-availability"
tags: ["Booking Availability V4"]
---

# Get booking availability for a meeting type

`GET /v4/booking-availability`

## Request

- Base URL: `https://developer.meetergo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://developer.meetergo.com/v4/booking-availability`
- Auth: none declared

## Query parameters

- `meetingTypeId` string, required
- `meetingDuration` number
- `start` string, required
- `end` string, required
- `hostIds` string[]
- `queueId` string
- `existingAppointmentId` string
- `calculationMethod` 'everyone' | 'anyone'
- `timezone` string
- `hideGroupAppointments` boolean
- `skipEarliestBookingCalculation` boolean
- `troubleshoot` boolean
- `refreshCache` boolean
- `resourceChannelIds` string[]
- `channel` 'local' | 'local-attendee' | 'google' | 'zoom' | 'phone' | 'phone-incoming' | 'whatsapp' | 'connect' | 'webex' | 'skypeForConsumer' | 'skypeForBusiness' | 'teamsForBusiness' | 'teamsForBusiness2' | 'teamsForExchange' | 'teams2ForExchange' | 'custom' | 'resource' | 'whereby' | 'kmeet' | 'zava' | 'jitsi' | 'nextcloudTalk' | 'openTalk' | 'alfaview': Meeting channel/location type
- `attendeeEmail` string
- `bookingTargetToken` string
- `oneTimeLinkId` string
- `bookingProposalId` string, uuid

## Headers

- `x-location-selection-context` string

## Response `200`

- BookingAvailabilityResponseDto
  - `timezone` string, required
  - `timeframes` Timeframe[], required
    - `start` string, required
    - `end` string, required
    - `unavailabilityEvent` UnavailabilityEvent
      - `hostId` string, required
      - `hostName` string, required
      - `picture` string
      - `type` 'event' | 'block' | 'exception' | 'googleEvent' | 'outlookEvent' | 'exchangeEvent' | 'exchangeTeamsEvent' | 'icloudEvent' | 'caldavEvent' | 'smartWeEvent' | 'icsEvent' | 'salesforceEvent' | 'calendarReadFailed' | 'bufferBefore' | 'bufferAfter' | 'bookingBeforeLimit' | 'bookingAfterLimit' | 'perDayBookingLimit' | 'perWeekBookingLimit' | 'perMonthBookingLimit' | 'perYearBookingLimit' | 'outsideHours' | 'outsideBookingBlock' | 'clusterMeetingNotAdjacent' | 'groupSlotFull', required
      - `title` string
      - `description` string
      - `location` string
      - `online` boolean
      - `meetingLink` string
      - `attendees` UnavailabilityEventAttendee[]
        - `fullname` string
        - `email` string
      - `allDay` boolean
      - `affectedSlotCount` number
      - `takenSpots` number
      - `totalSpots` number
      - `scope` 'slot' | 'day' | 'week' | 'month' | 'meetingType' | 'availability' | 'calendar'
      - `recommendedAction` 'reviewAppointment' | 'reviewConflictCalendars' | 'editAvailability' | 'editBuffers' | 'editBookingWindow' | 'editBookingLimits' | 'editBookingBlocks' | 'editClusterMeeting' | 'reconnectCalendar' | 'editGroupSpots'
      - `settingsRoute` string
      - `priority` number
  - `dates` AvailabilityDateDto[], required
    - `date` string, required
    - `spots` AvailabilitySpotDto[], required
      - `startTime` string, required
      - `unavailabilityEvents` UnavailabilityEvent[]
        - `hostId` string, required
        - `hostName` string, required
        - `picture` string
        - `type` 'event' | 'block' | 'exception' | 'googleEvent' | 'outlookEvent' | 'exchangeEvent' | 'exchangeTeamsEvent' | 'icloudEvent' | 'caldavEvent' | 'smartWeEvent' | 'icsEvent' | 'salesforceEvent' | 'calendarReadFailed' | 'bufferBefore' | 'bufferAfter' | 'bookingBeforeLimit' | 'bookingAfterLimit' | 'perDayBookingLimit' | 'perWeekBookingLimit' | 'perMonthBookingLimit' | 'perYearBookingLimit' | 'outsideHours' | 'outsideBookingBlock' | 'clusterMeetingNotAdjacent' | 'groupSlotFull', required
        - `title` string
        - `description` string
        - `location` string
        - `online` boolean
        - `meetingLink` string
        - `attendees` UnavailabilityEventAttendee[]
          - `fullname` string
          - `email` string
        - `allDay` boolean
        - `affectedSlotCount` number
        - `takenSpots` number
        - `totalSpots` number
        - `scope` 'slot' | 'day' | 'week' | 'month' | 'meetingType' | 'availability' | 'calendar'
        - `recommendedAction` 'reviewAppointment' | 'reviewConflictCalendars' | 'editAvailability' | 'editBuffers' | 'editBookingWindow' | 'editBookingLimits' | 'editBookingBlocks' | 'editClusterMeeting' | 'reconnectCalendar' | 'editGroupSpots'
        - `settingsRoute` string
        - `priority` number
      - `appointment` SpotAppointmentInfoDto
        - `id` string, required
        - `totalSpots` number, required
        - `takenSpots` number, required
  - `troubleshootSummary` AvailabilityTroubleshootSummary
    - `totalSlotCount` number, required
    - `availableSlotCount` number, required
    - `blockedSlotCount` number, required
    - `causes` AvailabilityTroubleshootCause[], required
      - `type` 'event' | 'block' | 'exception' | 'googleEvent' | 'outlookEvent' | 'exchangeEvent' | 'exchangeTeamsEvent' | 'icloudEvent' | 'caldavEvent' | 'smartWeEvent' | 'icsEvent' | 'salesforceEvent' | 'calendarReadFailed' | 'bufferBefore' | 'bufferAfter' | 'bookingBeforeLimit' | 'bookingAfterLimit' | 'perDayBookingLimit' | 'perWeekBookingLimit' | 'perMonthBookingLimit' | 'perYearBookingLimit' | 'outsideHours' | 'outsideBookingBlock' | 'clusterMeetingNotAdjacent' | 'groupSlotFull', required
      - `hostId` string, required
      - `hostName` string, required
      - `affectedSlotCount` number, required
      - `scope` 'slot' | 'day' | 'week' | 'month' | 'meetingType' | 'availability' | 'calendar', required
      - `recommendedAction` 'reviewAppointment' | 'reviewConflictCalendars' | 'editAvailability' | 'editBuffers' | 'editBookingWindow' | 'editBookingLimits' | 'editBookingBlocks' | 'editClusterMeeting' | 'reconnectCalendar' | 'editGroupSpots', required
      - `settingsRoute` string, required
      - `priority` number, required
    - `days` AvailabilityTroubleshootDaySummary[], required
      - `date` string, required
      - `totalSlotCount` number, required
      - `availableSlotCount` number, required
      - `blockedSlotCount` number, required
      - `causes` AvailabilityTroubleshootCause[], required
        - `type` 'event' | 'block' | 'exception' | 'googleEvent' | 'outlookEvent' | 'exchangeEvent' | 'exchangeTeamsEvent' | 'icloudEvent' | 'caldavEvent' | 'smartWeEvent' | 'icsEvent' | 'salesforceEvent' | 'calendarReadFailed' | 'bufferBefore' | 'bufferAfter' | 'bookingBeforeLimit' | 'bookingAfterLimit' | 'perDayBookingLimit' | 'perWeekBookingLimit' | 'perMonthBookingLimit' | 'perYearBookingLimit' | 'outsideHours' | 'outsideBookingBlock' | 'clusterMeetingNotAdjacent' | 'groupSlotFull', required
        - `hostId` string, required
        - `hostName` string, required
        - `affectedSlotCount` number, required
        - `scope` 'slot' | 'day' | 'week' | 'month' | 'meetingType' | 'availability' | 'calendar', required
        - `recommendedAction` 'reviewAppointment' | 'reviewConflictCalendars' | 'editAvailability' | 'editBuffers' | 'editBookingWindow' | 'editBookingLimits' | 'editBookingBlocks' | 'editClusterMeeting' | 'reconnectCalendar' | 'editGroupSpots', required
        - `settingsRoute` string, required
        - `priority` number, required
  - `earliestAvailableDate` string
  - `earliestMonthAvailability` BookingAvailabilityResponseDto (recursive)

## Other responses

- `400`: The request did not validate. `message` lists the constraints that failed.
- `401`: Missing, malformed, or expired credentials.
- `403`: Authenticated, but not allowed: the plan does not include this feature, or the token is scoped away from it.
- `429`: Rate limited. Back off and retry.
- `default`

---

[API](https://skmtc.dev/meetergo/apis/meetergo-platform-api.md) · [All operations](https://skmtc.dev/meetergo/apis/meetergo-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meetergo/apis/meetergo-platform-api/revisions/b5d66cd8be67?raw)
