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

# Availability Calendar (All Variations)

> Returns a month calendar view for all variations of an activity. Only dates with at least one bookable slot are returned.
Defaults to the current year and month when `year` and `month` are omitted.




## OpenAPI

````yaml GET /activities/{id}/availability/calendar
openapi: 3.0.0
info:
  title: Seyaha Reseller API
  description: API endpoints for reseller operations
  version: 1.0.0
servers:
  - url: /api/v1/resellers
    description: Reseller API base URL
security: []
paths:
  /activities/{id}/availability/calendar:
    get:
      tags:
        - Reseller Activities
      summary: Availability calendar across all variations
      description: >
        Returns a month calendar view for all variations of an activity. Only
        dates with at least one bookable slot are returned.

        Defaults to the current year and month when `year` and `month` are
        omitted.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Activity ID
        - name: year
          in: query
          schema:
            type: integer
            example: 2026
        - name: month
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 12
            example: 4
        - name: currency
          in: query
          schema:
            type: string
            example: SAR
          description: Defaults to SAR when omitted.
        - name: guests
          in: query
          description: >-
            When set, only dates with at least one slot that can accommodate
            this many guests are included.
          schema:
            type: integer
            minimum: 1
            example: 2
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: integer
                    example: 1
                  data:
                    $ref: >-
                      #/components/schemas/AvailabilityCalendarAllVariationsPayload
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - apiToken: []
components:
  schemas:
    AvailabilityCalendarAllVariationsPayload:
      type: object
      properties:
        year:
          type: integer
          example: 2026
        month:
          type: integer
          example: 4
        dates:
          type: array
          items:
            $ref: '#/components/schemas/AvailabilityCalendarAllVariationsDay'
    AvailabilityCalendarAllVariationsDay:
      type: object
      properties:
        date:
          type: string
          format: date
          example: '2026-04-15'
        status:
          type: string
          enum:
            - AVAILABLE
            - FREESALE
            - LIMITED
            - SOLD_OUT
            - CLOSED
        slot_count:
          type: integer
          example: 5
        min_price:
          type: number
          example: 120
        variation_ids:
          type: array
          items:
            type: string
  responses:
    Unauthorized:
      description: Unauthorized access
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: integer
                example: 0
              error:
                type: array
                items:
                  type: string
                example:
                  - unauthorized access
              message:
                type: string
                example: unauthorized access
              code:
                type: integer
                example: 401
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: integer
                example: 0
              error:
                type: array
                items:
                  type: string
                example:
                  - resource not found
              message:
                type: string
                example: resource not found
              code:
                type: integer
                example: 404
    RateLimitExceeded:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: integer
                example: 0
              error:
                type: array
                items:
                  type: string
                example:
                  - rate limit exceeded
              message:
                type: string
                example: rate limit exceeded
              code:
                type: integer
                example: 429
    ServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: integer
                example: 0
              error:
                type: array
                items:
                  type: string
                example:
                  - unexpected error
              message:
                type: string
                example: unexpected error
              code:
                type: integer
                example: 500
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: x-api-token

````