Skip to content

Booking

Coach pydantic-model

Bases: OtfItemBase

A coach at an OrangeTheory studio.

Show JSON schema:
{
  "description": "A coach at an OrangeTheory studio.",
  "properties": {
    "coachUUId": {
      "description": "Unique identifier for the coach.",
      "title": "Coachuuid",
      "type": "string"
    },
    "firstName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The coach's first name.",
      "title": "Firstname"
    },
    "lastName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The coach's last name.",
      "title": "Lastname"
    },
    "name": {
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "coachUUId",
    "name"
  ],
  "title": "Coach",
  "type": "object"
}

Fields:

coach_uuid pydantic-field

coach_uuid

Unique identifier for the coach.

first_name pydantic-field

first_name = None

The coach's first name.

last_name pydantic-field

last_name = None

The coach's last name.

full_name property

full_name

Returns the full name of the coach.

BookingClass pydantic-model

Bases: OtfItemBase

The class associated with a booking from the legacy bookings endpoint.

Show JSON schema:
{
  "$defs": {
    "Coach": {
      "description": "A coach at an OrangeTheory studio.",
      "properties": {
        "coachUUId": {
          "description": "Unique identifier for the coach.",
          "title": "Coachuuid",
          "type": "string"
        },
        "firstName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The coach's first name.",
          "title": "Firstname"
        },
        "lastName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The coach's last name.",
          "title": "Lastname"
        },
        "name": {
          "title": "Name",
          "type": "string"
        }
      },
      "required": [
        "coachUUId",
        "name"
      ],
      "title": "Coach",
      "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": "The class associated with a booking from the legacy bookings endpoint.",
  "properties": {
    "classUUId": {
      "description": "Unique identifier for the class.",
      "title": "Classuuid",
      "type": "string"
    },
    "name": {
      "description": "The name of the class.",
      "title": "Name",
      "type": "string"
    },
    "startDateTime": {
      "description": "Start time in local timezone",
      "format": "date-time",
      "title": "Startdatetime",
      "type": "string"
    },
    "endDateTime": {
      "description": "End time in local timezone",
      "format": "date-time",
      "title": "Enddatetime",
      "type": "string"
    },
    "isAvailable": {
      "description": "Whether the class has open spots.",
      "title": "Isavailable",
      "type": "boolean"
    },
    "isCancelled": {
      "description": "Whether the class has been cancelled by the studio.",
      "title": "Iscancelled",
      "type": "boolean"
    },
    "studio": {
      "$ref": "#/$defs/StudioDetail"
    },
    "coach": {
      "$ref": "#/$defs/Coach"
    },
    "coachId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Not used by API",
      "title": "Coachid"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    },
    "programName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Programname"
    },
    "virtualClass": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Virtualclass"
    }
  },
  "required": [
    "classUUId",
    "name",
    "startDateTime",
    "endDateTime",
    "isAvailable",
    "isCancelled",
    "studio",
    "coach"
  ],
  "title": "BookingClass",
  "type": "object"
}

Fields:

class_uuid pydantic-field

class_uuid

Unique identifier for the class.

name pydantic-field

name

The name of the class.

starts_at pydantic-field

starts_at

Start time in local timezone

ends_at pydantic-field

ends_at

End time in local timezone

is_available pydantic-field

is_available

Whether the class has open spots.

is_cancelled pydantic-field

is_cancelled

Whether the class has been cancelled by the studio.

coach_id pydantic-field

coach_id = None

Not used by API

coach_name property

coach_name

Shortcut to get the coach's name, to be compatible with new BookingV2Class.

Booking pydantic-model

Bases: ApiMixin, OtfItemBase

A class booking from the legacy bookings endpoint.

Show JSON schema:
{
  "$defs": {
    "BookingClass": {
      "description": "The class associated with a booking from the legacy bookings endpoint.",
      "properties": {
        "classUUId": {
          "description": "Unique identifier for the class.",
          "title": "Classuuid",
          "type": "string"
        },
        "name": {
          "description": "The name of the class.",
          "title": "Name",
          "type": "string"
        },
        "startDateTime": {
          "description": "Start time in local timezone",
          "format": "date-time",
          "title": "Startdatetime",
          "type": "string"
        },
        "endDateTime": {
          "description": "End time in local timezone",
          "format": "date-time",
          "title": "Enddatetime",
          "type": "string"
        },
        "isAvailable": {
          "description": "Whether the class has open spots.",
          "title": "Isavailable",
          "type": "boolean"
        },
        "isCancelled": {
          "description": "Whether the class has been cancelled by the studio.",
          "title": "Iscancelled",
          "type": "boolean"
        },
        "studio": {
          "$ref": "#/$defs/StudioDetail"
        },
        "coach": {
          "$ref": "#/$defs/Coach"
        },
        "coachId": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Not used by API",
          "title": "Coachid"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "programName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Programname"
        },
        "virtualClass": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Virtualclass"
        }
      },
      "required": [
        "classUUId",
        "name",
        "startDateTime",
        "endDateTime",
        "isAvailable",
        "isCancelled",
        "studio",
        "coach"
      ],
      "title": "BookingClass",
      "type": "object"
    },
    "BookingStatus": {
      "description": "Status of a class booking, from initial request through check-in or cancellation.",
      "enum": [
        "Pending",
        "Requested",
        "Booked",
        "Cancelled",
        "Late Cancelled",
        "Waitlisted",
        "Checked In",
        "Checkin Pending",
        "Checkin Requested",
        "Confirmed",
        "Checkin Cancelled",
        "Cancel Checkin Pending",
        "Cancel Checkin Requested"
      ],
      "title": "BookingStatus",
      "type": "string"
    },
    "Coach": {
      "description": "A coach at an OrangeTheory studio.",
      "properties": {
        "coachUUId": {
          "description": "Unique identifier for the coach.",
          "title": "Coachuuid",
          "type": "string"
        },
        "firstName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The coach's first name.",
          "title": "Firstname"
        },
        "lastName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The coach's last name.",
          "title": "Lastname"
        },
        "name": {
          "title": "Name",
          "type": "string"
        }
      },
      "required": [
        "coachUUId",
        "name"
      ],
      "title": "Coach",
      "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": "A class booking from the legacy bookings endpoint.",
  "properties": {
    "classBookingUUId": {
      "description": "ID used to cancel the booking",
      "title": "Classbookinguuid",
      "type": "string"
    },
    "isIntro": {
      "description": "Whether this is an introductory class booking.",
      "title": "Isintro",
      "type": "boolean"
    },
    "status": {
      "allOf": [
        {
          "$ref": "#/$defs/BookingStatus"
        }
      ],
      "description": "Current status of the booking."
    },
    "bookedDate": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "When the booking was confirmed.",
      "title": "Bookeddate"
    },
    "checkedInDate": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "When the member checked in.",
      "title": "Checkedindate"
    },
    "cancelledDate": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "When the booking was cancelled.",
      "title": "Cancelleddate"
    },
    "createdDate": {
      "description": "When the booking was created.",
      "format": "date-time",
      "title": "Createddate",
      "type": "string"
    },
    "updatedDate": {
      "description": "When the booking was last updated.",
      "format": "date-time",
      "title": "Updateddate",
      "type": "string"
    },
    "isDeleted": {
      "description": "Whether the booking has been deleted.",
      "title": "Isdeleted",
      "type": "boolean"
    },
    "waitlistPosition": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Position on the waitlist, if applicable.",
      "title": "Waitlistposition"
    },
    "class": {
      "allOf": [
        {
          "$ref": "#/$defs/BookingClass"
        }
      ],
      "description": "The class associated with this booking."
    },
    "is_home_studio": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Custom helper field to determine if at home studio",
      "title": "Is Home Studio"
    },
    "classBookingId": {
      "description": "Not used by API",
      "title": "Classbookingid",
      "type": "integer"
    },
    "classId": {
      "description": "Not used by API",
      "title": "Classid",
      "type": "integer"
    },
    "createdBy": {
      "title": "Createdby",
      "type": "string"
    },
    "mboClassId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MindBody attr",
      "title": "Mboclassid"
    },
    "mboMemberId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MindBody attr",
      "title": "Mbomemberid"
    },
    "mboSyncMessage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MindBody attr",
      "title": "Mbosyncmessage"
    },
    "mboVisitId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MindBody attr",
      "title": "Mbovisitid"
    },
    "mboWaitlistEntryId": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mbowaitlistentryid"
    },
    "memberId": {
      "description": "Not used by API",
      "title": "Memberid",
      "type": "integer"
    },
    "studioId": {
      "description": "Not used by API",
      "title": "Studioid",
      "type": "integer"
    },
    "updatedBy": {
      "title": "Updatedby",
      "type": "string"
    }
  },
  "required": [
    "classBookingUUId",
    "isIntro",
    "status",
    "createdDate",
    "updatedDate",
    "isDeleted",
    "class",
    "classBookingId",
    "classId",
    "createdBy",
    "memberId",
    "studioId",
    "updatedBy"
  ],
  "title": "Booking",
  "type": "object"
}

Fields:

booking_uuid pydantic-field

booking_uuid

ID used to cancel the booking

is_intro pydantic-field

is_intro

Whether this is an introductory class booking.

status pydantic-field

status

Current status of the booking.

booked_date pydantic-field

booked_date = None

When the booking was confirmed.

checked_in_date pydantic-field

checked_in_date = None

When the member checked in.

cancelled_date pydantic-field

cancelled_date = None

When the booking was cancelled.

created_date pydantic-field

created_date

When the booking was created.

updated_date pydantic-field

updated_date

When the booking was last updated.

is_deleted pydantic-field

is_deleted

Whether the booking has been deleted.

waitlist_position pydantic-field

waitlist_position = None

Position on the waitlist, if applicable.

otf_class pydantic-field

otf_class

The class associated with this booking.

is_home_studio pydantic-field

is_home_studio = None

Custom helper field to determine if at home studio

class_booking_id pydantic-field

class_booking_id

Not used by API

class_id pydantic-field

class_id

Not used by API

mbo_class_id pydantic-field

mbo_class_id = None

MindBody attr

mbo_member_id pydantic-field

mbo_member_id = None

MindBody attr

mbo_sync_message pydantic-field

mbo_sync_message = None

MindBody attr

mbo_visit_id pydantic-field

mbo_visit_id = None

MindBody attr

member_id pydantic-field

member_id

Not used by API

studio_id pydantic-field

studio_id

Not used by API

studio_uuid property

studio_uuid

Shortcut to get the studio UUID.

class_uuid property

class_uuid

Shortcut to get the class UUID.

starts_at property

starts_at

Shortcut to get the class start time.

ends_at property

ends_at

Shortcut to get the class end time.

id_value property

id_value

Returns the booking_uuid, to be compatible with new BookingV2 model.

cancel

cancel()

Cancels the booking by calling the proper API method.

Raises:

Type Description
ValueError

If the API instance is not set.