Skip to content

Studio Detail

StudioLocation pydantic-model

Bases: AddressMixin, OtfItemBase

Physical location details for an OrangeTheory studio.

Show JSON schema:
{
  "description": "Physical location details for an OrangeTheory studio.",
  "properties": {
    "line1": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Line1"
    },
    "line2": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Line2"
    },
    "city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "City"
    },
    "postal_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Postal Code"
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "State"
    },
    "country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Country"
    },
    "physicalRegion": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Physicalregion"
    },
    "physicalCountryId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Physicalcountryid"
    },
    "phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Studio phone number.",
      "title": "Phone"
    },
    "latitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Geographic latitude.",
      "title": "Latitude"
    },
    "longitude": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Geographic longitude.",
      "title": "Longitude"
    }
  },
  "title": "StudioLocation",
  "type": "object"
}

Fields:

  • address_line1 (str | None)
  • address_line2 (str | None)
  • city (str | None)
  • postal_code (str | None)
  • state (str | None)
  • country (str | None)
  • region (str | None)
  • country_id (int | None)
  • phone_number (str | None)
  • latitude (float | None)
  • longitude (float | None)
  • physical_region (str | None)
  • physical_country_id (int | None)

phone_number pydantic-field

phone_number = None

Studio phone number.

latitude pydantic-field

latitude = None

Geographic latitude.

longitude pydantic-field

longitude = None

Geographic longitude.

StudioDetail pydantic-model

Bases: ApiMixin, OtfItemBase

Detailed information about an OrangeTheory studio.

Show JSON schema:
{
  "$defs": {
    "StudioLocation": {
      "description": "Physical location details for an OrangeTheory studio.",
      "properties": {
        "line1": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Line1"
        },
        "line2": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Line2"
        },
        "city": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "City"
        },
        "postal_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Postal Code"
        },
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "State"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Country"
        },
        "physicalRegion": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Physicalregion"
        },
        "physicalCountryId": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Physicalcountryid"
        },
        "phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Studio phone number.",
          "title": "Phone"
        },
        "latitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Geographic latitude.",
          "title": "Latitude"
        },
        "longitude": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Geographic longitude.",
          "title": "Longitude"
        }
      },
      "title": "StudioLocation",
      "type": "object"
    },
    "StudioStatus": {
      "description": "Operational status of an OrangeTheory studio.",
      "enum": [
        "OTHER",
        "Active",
        "Inactive",
        "Coming Soon",
        "Temporarily Closed",
        "Permanently Closed",
        "Unknown"
      ],
      "title": "StudioStatus",
      "type": "string"
    }
  },
  "description": "Detailed information about an OrangeTheory studio.",
  "properties": {
    "studioUUId": {
      "description": "The OTF studio UUID",
      "title": "Studiouuid",
      "type": "string"
    },
    "contactEmail": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Studio contact email address.",
      "title": "Contactemail"
    },
    "distance": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Distance from latitude and longitude provided to `search_studios_by_geo` method,              NULL if that method was not used",
      "title": "Distance"
    },
    "studioLocation": {
      "allOf": [
        {
          "$ref": "#/$defs/StudioLocation"
        }
      ],
      "description": "Physical location details."
    },
    "studioName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Name of the studio.",
      "title": "Studioname"
    },
    "studioStatus": {
      "anyOf": [
        {
          "$ref": "#/$defs/StudioStatus"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Active, Temporarily Closed, Coming Soon"
    },
    "timeZone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "IANA time zone of the studio.",
      "title": "Timezone"
    },
    "acceptsAch": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Acceptsach"
    },
    "acceptsAmericanExpress": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Acceptsamericanexpress"
    },
    "acceptsDiscover": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Acceptsdiscover"
    },
    "acceptsVisaMasterCard": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Acceptsvisamastercard"
    },
    "allowsCrWaitlist": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Allowscrwaitlist"
    },
    "allowsDashboardAccess": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Allowsdashboardaccess"
    },
    "is_crm": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Is Crm"
    },
    "isIntegrated": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Always 'True'",
      "title": "Isintegrated"
    },
    "isMobile": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ismobile"
    },
    "isOtbeat": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Isotbeat"
    },
    "is_web": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Is Web"
    },
    "smsPackageEnabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Smspackageenabled"
    },
    "studioId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Not used by API",
      "title": "Studioid"
    },
    "mboStudioId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MindBody attr",
      "title": "Mbostudioid"
    },
    "openDate": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Opendate"
    },
    "pricingLevel": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Pro, Legacy, Accelerate, or empty",
      "title": "Pricinglevel"
    },
    "reOpenDate": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reopendate"
    },
    "studioNumber": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Studionumber"
    },
    "studioPhysicalLocationId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Studiophysicallocationid"
    },
    "studioToken": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Studiotoken"
    },
    "studioTypeId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Studiotypeid"
    }
  },
  "required": [
    "studioUUId"
  ],
  "title": "StudioDetail",
  "type": "object"
}

Fields:

  • _api (Otf)
  • studio_uuid (str)
  • contact_email (str | None)
  • distance (float | None)
  • location (StudioLocation)
  • name (str | None)
  • status (StudioStatus | None)
  • time_zone (str | None)
  • accepts_ach (bool | None)
  • accepts_american_express (bool | None)
  • accepts_discover (bool | None)
  • accepts_visa_master_card (bool | None)
  • allows_cr_waitlist (bool | None)
  • allows_dashboard_access (bool | None)
  • is_crm (bool | None)
  • is_integrated (bool | None)
  • is_mobile (bool | None)
  • is_otbeat (bool | None)
  • is_web (bool | None)
  • sms_package_enabled (bool | None)
  • studio_id (int | None)
  • mbo_studio_id (int | None)
  • open_date (datetime | None)
  • pricing_level (str | None)
  • re_open_date (datetime | None)
  • studio_number (str | None)
  • studio_physical_location_id (int | None)
  • studio_token (str | None)
  • studio_type_id (int | None)

studio_uuid pydantic-field

studio_uuid

The OTF studio UUID

contact_email pydantic-field

contact_email = None

Studio contact email address.

distance pydantic-field

distance = None

Distance from latitude and longitude provided to search_studios_by_geo method, NULL if that method was not used

location pydantic-field

location

Physical location details.

name pydantic-field

name = None

Name of the studio.

status pydantic-field

status = None

Active, Temporarily Closed, Coming Soon

time_zone pydantic-field

time_zone = None

IANA time zone of the studio.

is_integrated pydantic-field

is_integrated = None

Always 'True'

studio_id pydantic-field

studio_id = None

Not used by API

mbo_studio_id pydantic-field

mbo_studio_id = None

MindBody attr

pricing_level pydantic-field

pricing_level = None

Pro, Legacy, Accelerate, or empty

create_empty_model classmethod

create_empty_model(studio_uuid)

Create a placeholder model when studio details are unavailable.

Parameters:

Name Type Description Default
studio_uuid str

The studio UUID to use in the placeholder.

required

Returns:

Type Description
StudioDetail

A StudioDetail with the given UUID and 'Studio Not Found' as the name.

add_to_favorites

add_to_favorites()

Add this studio to the member's list of favorite studios.

Raises:

Type Description
ValueError

If the API instance is not set.

remove_from_favorites

remove_from_favorites()

Remove this studio from the member's list of favorite studios.

Raises:

Type Description
ValueError

If the API instance is not set.