Member Detail
Address
pydantic-model
¶
Bases: AddressMixin, OtfItemBase
A member's physical address.
Show JSON schema:
{
"description": "A member's physical address.",
"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"
},
"memberAddressUUId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Memberaddressuuid"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Address type (e.g. home, work).",
"title": "Type"
}
},
"title": "Address",
"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) -
member_address_uuid(str | None) -
type(str | None)
MemberProfile
pydantic-model
¶
Bases: OtfItemBase
Heart rate and measurement preferences for a member.
Show JSON schema:
{
"description": "Heart rate and measurement preferences for a member.",
"properties": {
"unitOfMeasure": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Preferred unit of measure (e.g. Imperial, Metric).",
"title": "Unitofmeasure"
},
"maxHrType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Method used to determine max heart rate.",
"title": "Maxhrtype"
},
"manualMaxHr": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Manually entered max heart rate.",
"title": "Manualmaxhr"
},
"formulaMaxHr": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Formula-calculated max heart rate.",
"title": "Formulamaxhr"
},
"automatedHr": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Automatically detected heart rate.",
"title": "Automatedhr"
},
"memberProfileUUId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Memberprofileuuid"
},
"memberOptinFlowTypeId": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Memberoptinflowtypeid"
}
},
"title": "MemberProfile",
"type": "object"
}
Fields:
-
unit_of_measure(str | None) -
max_hr_type(str | None) -
manual_max_hr(int | None) -
formula_max_hr(int | None) -
automated_hr(int | None) -
member_profile_uuid(str | None) -
member_optin_flow_type_id(int | None)
unit_of_measure
pydantic-field
¶
unit_of_measure = None
Preferred unit of measure (e.g. Imperial, Metric).
MemberClassSummary
pydantic-model
¶
Bases: OtfItemBase
Aggregate statistics about a member's class attendance history.
Show JSON schema:
{
"description": "Aggregate statistics about a member's class attendance history.",
"properties": {
"totalClassesBooked": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total number of classes booked.",
"title": "Totalclassesbooked"
},
"totalClassesAttended": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total number of classes attended.",
"title": "Totalclassesattended"
},
"totalIntro": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total number of intro classes taken.",
"title": "Totalintro"
},
"totalOTLiveClassesBooked": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total OT Live classes booked.",
"title": "Totalotliveclassesbooked"
},
"totalOTLiveClassesAttended": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total OT Live classes attended.",
"title": "Totalotliveclassesattended"
},
"totalClassesUsedHRM": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total classes where a heart rate monitor was used.",
"title": "Totalclassesusedhrm"
},
"totalStudiosVisited": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of unique studios visited.",
"title": "Totalstudiosvisited"
},
"firstVisitDate": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date of the member's first studio visit.",
"title": "Firstvisitdate"
},
"lastClassVisitedDate": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date of the member's most recent class visit.",
"title": "Lastclassvisiteddate"
},
"lastClassBookedDate": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date of the member's most recent booking.",
"title": "Lastclassbookeddate"
},
"lastClassStudioVisited": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Lastclassstudiovisited"
}
},
"title": "MemberClassSummary",
"type": "object"
}
Fields:
-
total_classes_booked(int | None) -
total_classes_attended(int | None) -
total_intro_classes(int | None) -
total_ot_live_classes_booked(int | None) -
total_ot_live_classes_attended(int | None) -
total_classes_used_hrm(int | None) -
total_studios_visited(int | None) -
first_visit_date(date | None) -
last_class_visited_date(date | None) -
last_class_booked_date(date | None) -
last_class_studio_visited(int | None)
total_classes_attended
pydantic-field
¶
total_classes_attended = None
Total number of classes attended.
total_intro_classes
pydantic-field
¶
total_intro_classes = None
Total number of intro classes taken.
total_ot_live_classes_booked
pydantic-field
¶
total_ot_live_classes_booked = None
Total OT Live classes booked.
total_ot_live_classes_attended
pydantic-field
¶
total_ot_live_classes_attended = None
Total OT Live classes attended.
total_classes_used_hrm
pydantic-field
¶
total_classes_used_hrm = None
Total classes where a heart rate monitor was used.
total_studios_visited
pydantic-field
¶
total_studios_visited = None
Number of unique studios visited.
last_class_visited_date
pydantic-field
¶
last_class_visited_date = None
Date of the member's most recent class visit.
last_class_booked_date
pydantic-field
¶
last_class_booked_date = None
Date of the member's most recent booking.
MemberDetail
pydantic-model
¶
Bases: ApiMixin, OtfItemBase
Detailed information about an OrangeTheory member, including profile, address, and class summary.
Show JSON schema:
{
"$defs": {
"Address": {
"description": "A member's physical address.",
"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"
},
"memberAddressUUId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Memberaddressuuid"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Address type (e.g. home, work).",
"title": "Type"
}
},
"title": "Address",
"type": "object"
},
"MemberClassSummary": {
"description": "Aggregate statistics about a member's class attendance history.",
"properties": {
"totalClassesBooked": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total number of classes booked.",
"title": "Totalclassesbooked"
},
"totalClassesAttended": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total number of classes attended.",
"title": "Totalclassesattended"
},
"totalIntro": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total number of intro classes taken.",
"title": "Totalintro"
},
"totalOTLiveClassesBooked": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total OT Live classes booked.",
"title": "Totalotliveclassesbooked"
},
"totalOTLiveClassesAttended": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total OT Live classes attended.",
"title": "Totalotliveclassesattended"
},
"totalClassesUsedHRM": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total classes where a heart rate monitor was used.",
"title": "Totalclassesusedhrm"
},
"totalStudiosVisited": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of unique studios visited.",
"title": "Totalstudiosvisited"
},
"firstVisitDate": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date of the member's first studio visit.",
"title": "Firstvisitdate"
},
"lastClassVisitedDate": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date of the member's most recent class visit.",
"title": "Lastclassvisiteddate"
},
"lastClassBookedDate": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date of the member's most recent booking.",
"title": "Lastclassbookeddate"
},
"lastClassStudioVisited": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Lastclassstudiovisited"
}
},
"title": "MemberClassSummary",
"type": "object"
},
"MemberProfile": {
"description": "Heart rate and measurement preferences for a member.",
"properties": {
"unitOfMeasure": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Preferred unit of measure (e.g. Imperial, Metric).",
"title": "Unitofmeasure"
},
"maxHrType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Method used to determine max heart rate.",
"title": "Maxhrtype"
},
"manualMaxHr": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Manually entered max heart rate.",
"title": "Manualmaxhr"
},
"formulaMaxHr": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Formula-calculated max heart rate.",
"title": "Formulamaxhr"
},
"automatedHr": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Automatically detected heart rate.",
"title": "Automatedhr"
},
"memberProfileUUId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Memberprofileuuid"
},
"memberOptinFlowTypeId": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Memberoptinflowtypeid"
}
},
"title": "MemberProfile",
"type": "object"
},
"StudioDetail": {
"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"
},
"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 member, including profile, address, and class summary.",
"properties": {
"memberUUId": {
"description": "Unique identifier for the member.",
"title": "Memberuuid",
"type": "string"
},
"cognitoId": {
"description": "Cognito user ID, not necessary for end users. Also on OtfUser object.",
"title": "Cognitoid",
"type": "string"
},
"home_studio": {
"allOf": [
{
"$ref": "#/$defs/StudioDetail"
}
],
"description": "The member's home studio."
},
"memberProfile": {
"allOf": [
{
"$ref": "#/$defs/MemberProfile"
}
],
"description": "Heart rate and measurement preferences."
},
"memberClassSummary": {
"anyOf": [
{
"$ref": "#/$defs/MemberClassSummary"
},
{
"type": "null"
}
],
"default": null,
"description": "Aggregate class attendance statistics."
},
"addresses": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Address"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "List of member addresses.",
"title": "Addresses"
},
"userName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The value that is displayed on tread/rower tablets and OTBeat screens",
"title": "Username"
},
"firstName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's first name.",
"title": "Firstname"
},
"lastName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's last name.",
"title": "Lastname"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's email address.",
"title": "Email"
},
"phoneNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's phone number.",
"title": "Phonenumber"
},
"birthDay": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's date of birth.",
"title": "Birthday"
},
"gender": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's gender.",
"title": "Gender"
},
"locale": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's locale setting.",
"title": "Locale"
},
"weight": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's weight.",
"title": "Weight"
},
"weightMeasure": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Unit of measure for weight.",
"title": "Weightmeasure"
},
"height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "The member's height.",
"title": "Height"
},
"heightMeasure": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Unit of measure for height.",
"title": "Heightmeasure"
},
"mboId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "MindBody attr",
"title": "Mboid"
},
"mboStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "MindBody attr",
"title": "Mbostatus"
},
"mboStudioId": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "MindBody attr",
"title": "Mbostudioid"
},
"mboUniqueId": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "MindBody attr",
"title": "Mbouniqueid"
},
"createdBy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Createdby"
},
"homeStudioId": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Not used by API",
"title": "Homestudioid"
},
"memberId": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Not used by API",
"title": "Memberid"
},
"otfAcsId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Otfacsid"
},
"updatedBy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Updatedby"
},
"createdDate": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Createddate"
},
"updatedDate": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Updateddate"
},
"addressLine1": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Addressline1"
},
"addressLine2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Addressline2"
},
"alternateEmails": {
"default": null,
"title": "Alternateemails",
"type": "null"
},
"ccLast4": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cclast4"
},
"ccType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cctype"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "City"
},
"homePhone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Homephone"
},
"introNeccessary": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Introneccessary"
},
"isDeleted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Isdeleted"
},
"isMemberVerified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Ismemberverified"
},
"leadProspect": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Leadprospect"
},
"maxHr": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Also found in member_profile",
"title": "Maxhr"
},
"onlineSignup": {
"default": null,
"title": "Onlinesignup",
"type": "null"
},
"phoneType": {
"default": null,
"title": "Phonetype",
"type": "null"
},
"postalCode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Postalcode"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "State"
},
"workPhone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Workphone"
},
"yearImported": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Yearimported"
}
},
"required": [
"memberUUId",
"cognitoId",
"home_studio",
"memberProfile"
],
"title": "MemberDetail",
"type": "object"
}
Fields:
-
_api(Otf) -
member_uuid(str) -
cognito_id(str) -
home_studio(StudioDetail) -
profile(MemberProfile) -
class_summary(MemberClassSummary | None) -
addresses(list[Address] | None) -
studio_display_name(str | None) -
first_name(str | None) -
last_name(str | None) -
email(str | None) -
phone_number(str | None) -
birth_day(date | None) -
gender(str | None) -
locale(str | None) -
weight(int | None) -
weight_units(str | None) -
height(int | None) -
height_units(str | None) -
mbo_id(str | None) -
mbo_status(str | None) -
mbo_studio_id(int | None) -
mbo_unique_id(int | None) -
created_by(str | None) -
home_studio_id(int | None) -
member_id(int | None) -
otf_acs_id(str | None) -
updated_by(str | None) -
created_date(datetime | None) -
updated_date(datetime | None) -
address_line1(str | None) -
address_line2(str | None) -
alternate_emails(None) -
cc_last4(str | None) -
cc_type(str | None) -
city(str | None) -
home_phone(str | None) -
intro_neccessary(bool | None) -
is_deleted(bool | None) -
is_member_verified(bool | None) -
lead_prospect(bool | None) -
max_hr(int | None) -
online_signup(None) -
phone_type(None) -
postal_code(str | None) -
state(str | None) -
work_phone(str | None) -
year_imported(int | None)
Validators:
cognito_id
pydantic-field
¶
cognito_id
Cognito user ID, not necessary for end users. Also on OtfUser object.
studio_display_name
pydantic-field
¶
studio_display_name = None
The value that is displayed on tread/rower tablets and OTBeat screens
validate_birth_day
pydantic-validator
¶
validate_birth_day(value, **_kwargs)
Convert birth_day to a date object if it is in the format of YYYY-MM-DD.
update_name ¶
update_name(first_name=None, last_name=None)
Update the name of the member.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
first_name
|
str | None
|
The new first name of the member. |
None
|
last_name
|
str | None
|
The new last name of the member. |
None
|