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)
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)
distance
pydantic-field
¶
distance = None
Distance from latitude and longitude provided to search_studios_by_geo method, NULL if that method was not used
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. |