> ## Documentation Index
> Fetch the complete documentation index at: https://developer.meetergo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get booking availability for a meeting type



## OpenAPI

````yaml /openapi.json get /v4/booking-availability
openapi: 3.0.0
info:
  title: meetergo Platform API
  description: >-
    Comprehensive scheduling API for creating users, managing availability,
    handling bookings, and connecting calendar providers. Enables seamless
    integration with external platforms and applications.
  version: 0.0.0
  contact: {}
  termsOfService: https://www.meetergo.com/tos/
servers: []
security: []
tags:
  - name: User V4
    description: Create and manage users in your workspace
  - name: Meeting Type V4
    description: Configure meeting templates with durations, buffers, and conferencing
  - name: availability
    description: Manage weekly schedules and availability settings
  - name: Booking V4
    description: Create new bookings
  - name: Booking Availability V4
    description: Query available time slots for booking
  - name: Appointment V4
    description: Manage existing appointments
  - name: Attendee V4
    description: Manage attendee details and notes
  - name: Calendar Connections V4
    description: Connect and sync external calendars
  - name: One Time Booking Link V4
    description: Create single-use booking links
  - name: availability-exception
    description: Override availability for specific dates
  - name: Booking Link V4
    description: Configure various booking page types
  - name: Personal Page V4
    description: Manage user profile pages
  - name: Handoff V4
    description: Reassign meetings to other hosts
  - name: Calendar Auth V4
    description: OAuth callbacks for calendar providers
  - name: Queue V4
    description: Round-robin and queue-based routing (Beta)
  - name: Queue User Group V4
    description: Manage queue user groups (Beta)
  - name: Meeting Type Template V4
    description: Reusable meeting type configurations (Beta)
  - name: Attendee Pending V4
    description: Manage pending attendee approvals (Beta)
  - name: Provisional Booking V4
    description: Manage provisional/unconfirmed bookings (Beta)
paths:
  /v4/booking-availability:
    get:
      tags:
        - Booking Availability V4
      summary: Get booking availability for a meeting type
      operationId: getBookingAvailability
      parameters:
        - name: meetingTypeId
          required: true
          in: query
          schema:
            type: string
        - name: meetingDuration
          required: false
          in: query
          schema:
            type: number
        - name: start
          required: true
          in: query
          schema:
            type: string
        - name: end
          required: true
          in: query
          schema:
            type: string
        - name: hostIds
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
        - name: queueId
          required: false
          in: query
          description: Queue ID of meeting type for hosts in round robin
          schema:
            type: string
        - name: existingAppointmentId
          required: false
          in: query
          description: Appointment ID of previous booking for rescheduling
          schema:
            type: string
        - name: calculationMethod
          required: false
          in: query
          schema:
            $ref: '#/components/schemas/AvailabilityCalculationMethod'
        - name: timezone
          required: false
          in: query
          schema:
            type: string
        - name: hideGroupAppointments
          required: false
          in: query
          schema:
            type: boolean
        - name: skipEarliestBookingCalculation
          required: false
          in: query
          schema:
            type: boolean
        - name: troubleshoot
          required: false
          in: query
          description: Get blocked timeslots with available slots for diagnostics
          schema:
            default: false
            type: boolean
        - name: refreshCache
          required: false
          in: query
          description: |-
            Force cache refresh (skip read, write result).
            Used after slot-occupied error to fetch fresh availability.
          schema:
            type: boolean
        - name: resourceChannelIds
          required: false
          in: query
          description: Ids of the resource channel entity
          schema:
            type: array
            items:
              type: string
        - name: channel
          required: false
          in: query
          description: Selected channel for per-channel availability lookup
          schema:
            $ref: '#/components/schemas/MeetingTypeChannel'
        - name: attendeeEmail
          required: false
          in: query
          description: |-
            Booker email used for account-owner matching on round-robin
            meeting types. When matching is enabled and an owner resolves
            to one of the meeting type's eligible hosts, availability is
            narrowed to that host. Ignored when the meeting type does not
            have account-owner matching enabled.
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingAvailabilityResponseDto'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingAvailabilityResponseDto'
components:
  schemas:
    AvailabilityCalculationMethod:
      type: string
      enum:
        - everyone
        - anyone
    MeetingTypeChannel:
      type: string
      enum:
        - local
        - local-attendee
        - google
        - zoom
        - phone
        - phone-incoming
        - whatsapp
        - connect
        - webex
        - skypeForConsumer
        - skypeForBusiness
        - teamsForBusiness
        - teamsForBusiness2
        - teamsForExchange
        - teams2ForExchange
        - custom
        - resource
        - whereby
        - kmeet
        - zava
        - jitsi
      description: Meeting channel/location type
    BookingAvailabilityResponseDto:
      type: object
      properties:
        timezone:
          type: string
        timeframes:
          type: array
          items:
            $ref: '#/components/schemas/Timeframe'
        dates:
          type: array
          items:
            $ref: '#/components/schemas/AvailabilityDateDto'
        earliestAvailableDate:
          type: string
        earliestMonthAvailability:
          description: >-
            Full availability data for the month containing
            earliestAvailableDate
          allOf:
            - $ref: '#/components/schemas/BookingAvailabilityResponseDto'
      required:
        - timezone
        - timeframes
        - dates
    Timeframe:
      type: object
      properties:
        start:
          type: string
        end:
          type: string
        unavailabilityEvent:
          $ref: '#/components/schemas/UnavailabilityEvent'
      required:
        - start
        - end
    AvailabilityDateDto:
      type: object
      properties:
        date:
          type: string
        spots:
          type: array
          items:
            $ref: '#/components/schemas/AvailabilitySpotDto'
      required:
        - date
        - spots
    UnavailabilityEvent:
      type: object
      properties:
        hostId:
          type: string
        hostName:
          type: string
        picture:
          type: string
        type:
          allOf:
            - $ref: '#/components/schemas/UnavailabilityType'
      required:
        - hostId
        - hostName
        - type
    AvailabilitySpotDto:
      type: object
      properties:
        startTime:
          type: string
        unavailabilityEvents:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/UnavailabilityEvent'
        appointment:
          $ref: '#/components/schemas/SpotAppointmentInfoDto'
      required:
        - startTime
    UnavailabilityType:
      type: string
      enum:
        - event
        - exception
        - googleEvent
        - outlookEvent
        - exchangeEvent
        - exchangeTeamsEvent
        - icloudEvent
        - caldavEvent
        - smartWeEvent
        - icsEvent
        - salesforceEvent
        - bufferBefore
        - bufferAfter
        - bookingBeforeLimit
        - bookingAfterLimit
        - perDayBookingLimit
        - perWeekBookingLimit
        - perMonthBookingLimit
        - perYearBookingLimit
        - outsideHours
        - clusterMeetingNotAdjacent
    SpotAppointmentInfoDto:
      type: object
      properties:
        id:
          type: string
        totalSpots:
          type: number
        takenSpots:
          type: number
      required:
        - id
        - totalSpots
        - takenSpots

````