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

# Get Operating Hours



## OpenAPI

````yaml GET /api/v1/report/hours
openapi: 3.1.0
info:
  title: MtnManager API
  description: >-
    The MtnManager API provides real-time access to your ski resort’s public
    operational data. Use it to display current conditions on your website,
    mobile app, or digital signage.
  termsOfService: https://mtnmanager.com/terms
  contact:
    name: MtnManager Support
    url: https://docs.mtnmanager.com/developer/
    email: support@mtnmanager.com
  license:
    name: MIT
    identifier: MIT
  version: 1.0.0
servers:
  - url: https://{subdomain}.mtnmanager.com
    variables:
      subdomain:
        default: your-resort
        description: Your resort's unique subdomain
security: []
paths:
  /api/v1/report/hours:
    get:
      tags:
        - MtnManager
      summary: Get operating hours
      operationId: getHours
      parameters:
        - in: header
          name: Accept-Language
          description: >-
            Preferred language and optional region for human-readable strings in
            the response (e.g. operating hours summaries). Supports `en`, `fr`,
            `de`, `it`, and `es`, with optional region tags such as `fr-CA` or
            `de-CH`. Defaults to English when omitted or unsupported.
          schema:
            type: string
          example: fr-CA
          style: simple
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatingHours'
              example:
                schedules:
                  - days_string: Saturday & Sunday
                    days_of_week:
                      - Sunday
                      - Saturday
                    time_string: 9:00 AM to 4:00 PM
                    opens_at: '09:00'
                    closes_at: '16:00'
                    in_effect: true
                    effective_string: November 1, 2024 to April 15, 2025
                    effective_from: '2024-11-01'
                    effective_to: '2025-04-15'
                calendar_days:
                  - date: '2024-12-25'
                    day_of_week: Wednesday
                    is_open: true
                    opens_at: '09:00'
                    closes_at: '16:00'
                    amenities:
                      - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                        name: Tube Park
                        category: tubing
                        opens_at: '10:00'
                        closes_at: '16:00'
                amenity_schedules:
                  - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    name: Tube Park
                    category: tubing
                    schedules:
                      - days_string: Saturday & Sunday
                        days_of_week:
                          - Sunday
                          - Saturday
                        time_string: 9:00 AM to 4:00 PM
                        opens_at: '09:00'
                        closes_at: '16:00'
                        in_effect: true
                        effective_string: November 1, 2024 to April 15, 2025
                        effective_from: '2024-11-01'
                        effective_to: '2025-04-15'
        '403':
          description: Endpoint not available for this resort. Feature may be disabled.
        '404':
          description: Resort not found.
        '429':
          description: Too many requests, temporarily rate limited.
        '500':
          description: An unexpected server error occurred.
        '503':
          description: Service temporarily unavailable.
      x-codeSamples:
        - lang: typescript
          label: TypeScript
          source: "import { MtnManagerApi, Configuration } from \"@mtnmanager/sdk\";\n\nconst api = new MtnManagerApi(\n\tnew Configuration({\n\t\tbasePath: \"https://your-resort.mtnmanager.com\",\n\t})\n);\n\ntry {\n    const data = await api.getHours();\n    console.log(data);\n} catch (error) {\n    console.error(error);\n}"
        - lang: go
          label: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\tmtnmanager \"github.com/mtnmanager/mtnmanager-sdk-go\"\n)\n\nfunc main() {\n\tconfiguration := mtnmanager.NewConfiguration()\n\tconfiguration.Servers = mtnmanager.ServerConfigurations{\n\t\t{URL: \"https://your-resort.mtnmanager.com\"},\n\t}\n\tclient := mtnmanager.NewAPIClient(configuration)\n\n\tdata, _, err := client.MtnManagerAPI.GetHours(context.Background()).Execute()\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tfmt.Printf(\"%+v\\n\", data)\n}"
        - lang: php
          label: PHP
          source: |-
            <?php
            require_once(__DIR__ . '/vendor/autoload.php');

            $config = MtnManager\Configuration::getDefaultConfiguration()
                ->setHost('https://your-resort.mtnmanager.com');

            $apiInstance = new MtnManager\Api\MtnManagerApi(
                new GuzzleHttp\Client(),
                $config
            );

            try {
                $result = $apiInstance->getHours();
                print_r($result);
            } catch (Exception $e) {
                echo 'Exception: ', $e->getMessage(), PHP_EOL;
            }
        - lang: swift
          label: Swift
          source: |-
            import MtnManagerSDK

            let config = MtnManagerSDKAPIConfiguration(
                basePath: "https://your-resort.mtnmanager.com"
            )

            do {
                let data = try await MtnManagerAPI.getHours(apiConfiguration: config)
                print(data)
            } catch {
                print("Error: \(error)")
            }
components:
  schemas:
    OperatingHours:
      description: >-
        Resort's operating hours, including the recurring schedule, and list of
        individual calendar days.
      type: object
      properties:
        schedules:
          description: |-
            Recurring operating schedules currently in effect or upcoming.
             Excludes single-day overrides and past schedules.
          type: array
          items:
            $ref: '#/components/schemas/Schedule'
        calendar_days:
          description: |-
            List of all days the resort is open (or a closure override).
             Ordered chronologically, spanning from the earliest scheduled date
             to the latest scheduled date in the currently defined operating hours.
          type: array
          items:
            $ref: '#/components/schemas/CalendarDay'
        amenity_schedules:
          description: >-
            Per-amenity operating schedules. Only included when amenity hours
            are configured.
          type: array
          items:
            $ref: '#/components/schemas/AmenitySchedule'
      required:
        - schedules
        - calendar_days
      examples:
        - schedules:
            - days_string: Saturday & Sunday
              days_of_week:
                - Sunday
                - Saturday
              time_string: 9:00 AM to 4:00 PM
              opens_at: '09:00'
              closes_at: '16:00'
              in_effect: true
              effective_string: November 1, 2024 to April 15, 2025
              effective_from: '2024-11-01'
              effective_to: '2025-04-15'
          calendar_days:
            - date: '2024-12-25'
              day_of_week: Wednesday
              is_open: true
              opens_at: '09:00'
              closes_at: '16:00'
              amenities:
                - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  name: Tube Park
                  category: tubing
                  opens_at: '10:00'
                  closes_at: '16:00'
          amenity_schedules:
            - uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
              name: Tube Park
              category: tubing
              schedules:
                - days_string: Saturday & Sunday
                  days_of_week:
                    - Sunday
                    - Saturday
                  time_string: 9:00 AM to 4:00 PM
                  opens_at: '09:00'
                  closes_at: '16:00'
                  in_effect: true
                  effective_string: November 1, 2024 to April 15, 2025
                  effective_from: '2024-11-01'
                  effective_to: '2025-04-15'
    Schedule:
      description: >-
        Recurring schedule pattern with human-readable and machine-readable
        formats.

         Describes a regular operating schedule (e.g., "Weekends 10am-4pm") with
         both formatted strings for display and structured data for programmatic use.
      type: object
      properties:
        days_string:
          description: |-
            Human-readable description of which days this schedule applies to.
             Examples: "Daily", "Saturday & Sunday", "Monday, Wednesday, and Friday"
          type: string
          examples:
            - Saturday & Sunday
        days_of_week:
          description: |-
            Array of days of the week this schedule applies to.
             For programmatic use.
          type: array
          items:
            $ref: '#/components/schemas/DayOfWeek'
        time_string:
          description: |-
            Human-readable time range.
             Example: "9:00 AM to 4:00 PM"
          type: string
          examples:
            - 9:00 AM to 4:00 PM
        opens_at:
          description: Opening time in 24-hour format (HH:MM), in resort's local timezone.
          type: string
          examples:
            - '09:00'
          pattern: ^([01]\d|2[0-3]):[0-5]\d$
        closes_at:
          description: Closing time in 24-hour format (HH:MM), in resort's local timezone.
          type: string
          examples:
            - '16:00'
          pattern: ^([01]\d|2[0-3]):[0-5]\d$
        in_effect:
          description: |-
            Whether this schedule is currently in effect.
             `false` for upcoming schedules that haven't started yet.
          type: boolean
        effective_string:
          description: |-
            Human-readable date range when this schedule is effective.
             Example: "November 1, 2024 to April 15, 2025"
          type: string
          examples:
            - November 1, 2024 to April 15, 2025
        effective_from:
          description: Start date of the effective period (YYYY-MM-DD).
          type: string
          format: date
          examples:
            - '2024-11-01'
        effective_to:
          description: End date of the effective period (YYYY-MM-DD).
          type: string
          format: date
          examples:
            - '2025-04-15'
      required:
        - days_string
        - days_of_week
        - time_string
        - opens_at
        - closes_at
        - in_effect
        - effective_string
        - effective_from
        - effective_to
    CalendarDay:
      description: |-
        Operating hours for a specific calendar date.

         Represents the calculated open/close times for a single day, combining
         information from recurring schedules and any single-day overrides.
      type: object
      properties:
        date:
          description: Calendar date (YYYY-MM-DD).
          type: string
          format: date
          examples:
            - '2024-12-25'
        day_of_week:
          description: Day of the week.
          allOf:
            - $ref: '#/components/schemas/DayOfWeek'
        is_open:
          description: Whether the resort is open on this day.
          type: boolean
        opens_at:
          description: |-
            Opening time in 24-hour format (HH:MM), in resort's local timezone.
             `null` if closed on this day.
          type:
            - string
            - 'null'
          examples:
            - '09:00'
          pattern: ^([01]\d|2[0-3]):[0-5]\d$
        closes_at:
          description: |-
            Closing time in 24-hour format (HH:MM), in resort's local timezone.
             `null` if closed on this day.
          type:
            - string
            - 'null'
          examples:
            - '16:00'
          pattern: ^([01]\d|2[0-3]):[0-5]\d$
        closure_reason:
          description: Optional reason code for closure.
          anyOf:
            - $ref: '#/components/schemas/ClosureReason'
            - type: 'null'
        special_event:
          description: Special event for this day.
          type:
            - string
            - 'null'
          examples:
            - New Year's Day - Extended Hours
        amenities:
          description: >-
            Per-amenity hours for this day. Only included when amenity hours are
            configured.
          type: array
          items:
            $ref: '#/components/schemas/AmenityCalendarEntry'
      required:
        - date
        - day_of_week
        - is_open
    AmenitySchedule:
      description: Amenity schedule for the OperatingHours response
      type: object
      properties:
        uuid:
          description: Amenity UUID
          type: string
        name:
          description: Amenity name
          type: string
        category:
          description: Amenity category
          allOf:
            - $ref: '#/components/schemas/AmenityCategory'
        schedules:
          description: Operating schedules for this amenity
          type: array
          items:
            $ref: '#/components/schemas/Schedule'
      required:
        - uuid
        - name
        - category
        - schedules
    DayOfWeek:
      type: string
      enum:
        - Sunday
        - Monday
        - Tuesday
        - Wednesday
        - Thursday
        - Friday
        - Saturday
    ClosureReason:
      description: Reason for unexpected closure
      type: string
      enum:
        - extreme_cold
        - high_winds
        - snow_conditions
        - mechanical_issues
    AmenityCalendarEntry:
      description: >-
        Amenity entry within a CalendarDay, showing per-amenity hours for a
        specific date.
      type: object
      properties:
        uuid:
          description: Amenity UUID.
          type: string
        name:
          description: Amenity name.
          type: string
        category:
          description: Amenity category.
          allOf:
            - $ref: '#/components/schemas/AmenityCategory'
        opens_at:
          description: |-
            Opening time in 24-hour format (HH:MM), in resort's local timezone.
             `null` if this amenity is closed on this day.
          type:
            - string
            - 'null'
        closes_at:
          description: |-
            Closing time in 24-hour format (HH:MM), in resort's local timezone.
             `null` if this amenity is closed on this day.
          type:
            - string
            - 'null'
      required:
        - uuid
        - name
        - category
    AmenityCategory:
      description: Category classification for amenities
      type: string
      enum:
        - restaurant
        - coffee
        - bar
        - tubing
        - ski_school
        - rental_shop
        - daycare
        - ticketing
        - lodge
        - hotel
        - lockers
        - retail
        - other

````