Skip to content

Purchases

MemberPurchase pydantic-model

Bases: OtfItemBase

A purchase made by a member, such as a class pack or retail item.

Show JSON schema:
{
  "$defs": {
    "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": "A purchase made by a member, such as a class pack or retail item.",
  "properties": {
    "memberPurchaseUUId": {
      "description": "Unique identifier for the purchase.",
      "title": "Memberpurchaseuuid",
      "type": "string"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Name of the purchased item or service.",
      "title": "Name"
    },
    "price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Price of the purchase.",
      "title": "Price"
    },
    "memberPurchaseDateTime": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "When the purchase was made.",
      "title": "Memberpurchasedatetime"
    },
    "memberPurchaseType": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Type of purchase (e.g. class pack, retail).",
      "title": "Memberpurchasetype"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Current status of the purchase.",
      "title": "Status"
    },
    "quantity": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Number of items purchased.",
      "title": "Quantity"
    },
    "studio": {
      "$ref": "#/$defs/StudioDetail"
    },
    "memberFeeId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Memberfeeid"
    },
    "memberId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Memberid"
    },
    "memberMembershipId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Membermembershipid"
    },
    "memberPurchaseId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Memberpurchaseid"
    },
    "memberServiceId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Memberserviceid"
    },
    "posContractId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Poscontractid"
    },
    "posDescriptionId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Posdescriptionid"
    },
    "posPmtRefNo": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pospmtrefno"
    },
    "posProductId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Posproductid"
    },
    "posSaleId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Possaleid"
    },
    "studioId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Studioid"
    }
  },
  "required": [
    "memberPurchaseUUId",
    "studio",
    "memberId",
    "memberPurchaseId",
    "posProductId",
    "posSaleId",
    "studioId"
  ],
  "title": "MemberPurchase",
  "type": "object"
}

Fields:

  • purchase_uuid (str)
  • name (str | None)
  • price (str | None)
  • purchase_date_time (datetime | None)
  • purchase_type (str | None)
  • status (str | None)
  • quantity (int | None)
  • studio (StudioDetail)
  • member_fee_id (int | None)
  • member_id (int | None)
  • member_membership_id (int | None)
  • member_purchase_id (int | None)
  • member_service_id (int | None)
  • pos_contract_id (int | None)
  • pos_description_id (int | None)
  • pos_pmt_ref_no (int | None)
  • pos_product_id (int | None)
  • pos_sale_id (int | None)
  • studio_id (int | None)

purchase_uuid pydantic-field

purchase_uuid

Unique identifier for the purchase.

name pydantic-field

name = None

Name of the purchased item or service.

price pydantic-field

price = None

Price of the purchase.

purchase_date_time pydantic-field

purchase_date_time = None

When the purchase was made.

purchase_type pydantic-field

purchase_type = None

Type of purchase (e.g. class pack, retail).

status pydantic-field

status = None

Current status of the purchase.

quantity pydantic-field

quantity = None

Number of items purchased.