{"swagger":"2.0","info":{"version":"v6","title":"MINDBODY Public API"},"host":"api.mindbodyonline.com","schemes":["https"],"paths":{"/public/v{version}/appointment/activesessiontimes":{"get":{"tags":["Appointment"],"summary":"Get active session times.","description":"This is not appointment availability but rather the active business hours for studios and which increments services can be booked at. See BookableItems for appointment availability.","operationId":"GetActiveSessionTimes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endTime","in":"query","description":"Filters results to times that end on or before this time on the current date. Any date provided is ignored..\r\n<br />Default: **23:59:59**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.scheduleType","in":"query","description":"Filters on the provided the schedule type. Either `SessionTypeIds` or `ScheduleType` must be provided.","required":false,"type":"string","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"]},{"name":"request.sessionTypeIds","in":"query","description":"Filters on the provided session type IDs. Either `SessionTypeIds` or `ScheduleType` must be provided.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.startTime","in":"query","description":"Filters results to times that start on or after this time on the current date. Any date provided is ignored.\r\n<br />Default: **00:00:00**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetActiveSessionTimesResponse"}}}}},"/public/v{version}/appointment/addons":{"get":{"tags":["Appointment"],"summary":"Get add ons","description":"Get active appointment add-ons.","operationId":"GetAddOns","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.staffId","in":"query","description":"Filter to add-ons only performed by this staff member.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetAddOnsResponse"}}}}},"/public/v{version}/appointment/appointmentoptions":{"get":{"tags":["Appointment"],"summary":"Get appointment-related settings.","description":"This endpoint has no query parameters.","operationId":"GetAppointmentOptions","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetAppointmentOptionsResponse"}}}}},"/public/v{version}/appointment/availabledates":{"get":{"tags":["Appointment"],"summary":"Get dates where there is scheduled appointment availability for the given session types.","description":"Returns a list of dates to narrow down staff availability when booking. Dates are those which staff are scheduled to work and do not guarantee booking availabilities. After this call is made, use GET BookableItems to retrieve availabilities for specific dates before booking.","operationId":"GetAvailableDates","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDate","in":"query","description":"The end date of the requested date range. \r\n<br />Default: **StartDate**","required":false,"type":"string","format":"date-time"},{"name":"request.locationId","in":"query","description":"optional requested location ID.","required":false,"type":"integer","format":"int32"},{"name":"request.staffId","in":"query","description":"optional requested staff ID.","required":false,"type":"integer","format":"int64"},{"name":"request.startDate","in":"query","description":"The start date of the requested date range. If omitted, the default is used.\r\n<br />Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.sessionTypeId","in":"query","description":"required requested session type ID.","required":true,"type":"integer","format":"int32"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetAvailableDatesResponse"}}}}},"/public/v{version}/appointment/bookableitems":{"get":{"tags":["Appointment"],"summary":"Get staff appointment availability.","description":"Returns a list of availabilities with the information needed to book appointments. Availabilities include information such as the location and its amenities, staff members, programs, and session types. Recommended to use with GET AvailableDates to see what dates the staff is scheduled to work and narrow down the dates searched. Recommended to use with GET ActiveSessionTimes to see which increments each business allows for booking appointments.\r\nNotes: \r\n- With a wider range of dates, this call may take longer to return results. \r\n- With a higher number of request.sessionTypeIds, this call may take longer to return results.","operationId":"GetBookableItems","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.appointmentId","in":"query","description":"If provided, filters out the appointment with this ID.","required":false,"type":"integer","format":"int64"},{"name":"request.endDate","in":"query","description":"The end date of the requested date range. \r\n<br />Default: **StartDate**","required":false,"type":"string","format":"date-time"},{"name":"request.ignoreDefaultSessionLength","in":"query","description":"When `true`, availabilities that are non-default return, for example, a 30-minute availability with a 60-minute default session length.<br />\r\nWhen `false`, only availabilities that have the default session length return.","required":false,"type":"boolean"},{"name":"request.includeResourceAvailability","in":"query","description":"When `true`, resource availabilities for the session type are returned.<br />\r\nWhen `false`, resource availabilities are not returned default.","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"A list of the requested location IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.staffIds","in":"query","description":"A list of the requested staff IDs. Omit parameter to return all staff availabilities.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"The start date of the requested date range. \r\n<br />Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.sessionTypeIds","in":"query","description":"A list of the requested session type IDs.","required":true,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetBookableItemsResponse"}}}}},"/public/v{version}/appointment/scheduleitems":{"get":{"tags":["Appointment"],"summary":"Get appointment schedule.","description":"Returns a list of schedule items, including appointments, availabilities, and unavailabilities. Unavailabilities are the times at which appointments cannot be booked, for example, on holidays or after hours when the business is closed.","operationId":"GetScheduleItems","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDate","in":"query","description":"The end date of the requested date range. \r\n<br />Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"request.ignorePrepFinishTimes","in":"query","description":"When `true`, appointment preparation and finish unavailabilities are not returned. \r\n<br />Default: **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"A list of requested location IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.staffIds","in":"query","description":"A list of requested staff IDs.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"The start date of the requested date range. \r\n<br />Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetScheduleItemsResponse"}}}}},"/public/v{version}/appointment/staffappointments":{"get":{"tags":["Appointment"],"summary":"Get appointments grouped by staff member.","description":"Returns a list of appointments by staff member.","operationId":"GetStaffAppointments","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.appointmentIds","in":"query","description":"A list of the requested appointment IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.clientId","in":"query","description":"The client ID to be returned.","required":false,"type":"string"},{"name":"request.endDate","in":"query","description":"The end date of the requested date range. \r\n<br />Default: **StartDate**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"A list of the requested location IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.staffIds","in":"query","description":"List of staff IDs to be returned. Omit parameter to return staff appointments for all staff.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"The start date of the requested date range. If omitted, the default is used. \r\n<br />Default: **today's date**","required":false,"type":"string","format":"date-time"},{"name":"request.useSiteSettingsStaffName","in":"query","description":"When `true`, the staff DisplayName will be populated based on site-level settings.\r\nWhen `false` or omitted, the staff DisplayName will contain only the FirstName.","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetStaffAppointmentsResponse"}}}}},"/public/v{version}/appointment/unavailabilities":{"get":{"tags":["Appointment"],"summary":"Returns a list of unavailabilities. Unavailabilities are the times at which appointments cannot be booked, for example, on holidays or after hours when the business is closed.","operationId":"GetUnavailabilities","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDate","in":"query","description":"The end date of the requested date range. \r\n<br />Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.staffIds","in":"query","description":"A list of requested staff IDs.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"The start date of the requested date range. \r\n<br />Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetUnavailabilitiesResponse"}}}}},"/public/v{version}/appointment/addappointment":{"post":{"tags":["Appointment"],"summary":"Book a new appointment.","description":"A user token is required for this endpoint. To book an appointment, you must use a location ID, staff ID, client ID, session type ID, and the StartDateTime of the appointment. You can get most of this information using GET BookableItems.\r\n\r\nNote: Request deduplication is enabled for this endpoint. More information can be found in the [Request Deduplication Page](https://developers.mindbodyonline.com/ui/documentation/public-api#/net-standard-library/mindbody-public-api-v6-0/request-deduplication).\r\nUse the `X-RequestDeduplication-Skip` header to bypass deduplication if necessary. This may be useful in scenarios where you want to ensure a new appointment is created regardless of previous identical requests.","operationId":"AddAppointment","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentResponse"}}}}},"/public/v{version}/appointment/addappointmentaddon":{"post":{"tags":["Appointment"],"summary":"Add Appointment Add-On","description":"This endpoint books an add-on on top of an existing, regular appointment. To book an add-on, you must use an existing appointment ID and session type ID. You can get a session type ID using `GET AppointmentAddOns`.","operationId":"AddAppointmentAddOn","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentAddOnRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentAddOnResponse"}}}}},"/public/v{version}/appointment/addmultipleappointments":{"post":{"tags":["Appointment"],"summary":"Book multiple appointments (deprecated).","description":"This route has been deprecated and is no longer available for use. Please switch to the AddAppointment endpoint, which is the supported method for booking individual appointments","operationId":"Add Multiple Appointments","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddMultipleAppointmentsRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddMultipleAppointmentsResponse"}}},"deprecated":true}},"/public/v{version}/appointment/availabilities":{"put":{"tags":["Appointment"],"summary":"Update availability/unavailability of the staff","description":"To update the information for a specific availability or unavailability of the staff.<br />\r\nNote: You must have a staff user token with the required permissions.","operationId":"UpdateAvailability","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"updateAvailabilityRequest","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.UpdateAvailabilityRequest"}},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.UpdateAvailabilityResponse"}}}},"post":{"tags":["Appointment"],"summary":"Add Availabillity/Unavailabillity.","description":"Add availabilities and unavailabilities for a staff member.<br />\r\nNote: You must have a staff user token with the required permissions.","operationId":"AddAvailabilities","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAvailabilitiesRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAvailabilitiesResponse"}}}}},"/public/v{version}/appointment/updateappointment":{"post":{"tags":["Appointment"],"summary":"Update an existing appointment.","description":"To update the information for a specific appointment, you must have a staff user token with the proper permissions. Note that you can only update the appointment’s `StartDateTime`, `EndDateTime`, `StaffId`, `Notes`, and `SessionTypeId`.","operationId":"UpdateAppointment","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.UpdateAppointmentRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.UpdateAppointmentResponse"}}}}},"/public/v{version}/appointment/appointmentfromwaitlist":{"delete":{"tags":["Appointment"],"summary":"Remove an appointment from waitlist","operationId":"RemoveFromWaitlist","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.waitlistEntryIds","in":"query","description":"A list of `WaitlistEntryIds` to remove from the waiting list.","required":true,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"204":{"description":"This endpoint does not return a response. If a call to this endpoint results in a 204 No Content HTTP status code, then the call was successful."}}}},"/public/v{version}/appointment/availability":{"delete":{"tags":["Appointment"],"summary":"Delete availability/unavailability of the staff","description":"This endpoint deletes the availability or unavailability.\r\nNote: You must have a staff user token with the required permissions.","operationId":"DeleteAvailability","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"deleteAvailabilityRequest.availabilityId","in":"query","description":"The ID of the availability or unavailability.","required":false,"type":"integer","format":"int32"},{"name":"deleteAvailabilityRequest.test","in":"query","description":"When `true`, indicates that this is a test request and no data is deleted from the subscriber’s database.\r\nWhen `false`, the record will be deleted.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"204":{"description":"This endpoint does not return a response. If a call to this endpoint results in a 204 NoContent HTTP status code, then the call was successful."}}}},"/public/v{version}/appointment/deleteappointmentaddon":{"delete":{"tags":["Appointment"],"summary":"Early Cancel/Remove an Appointment Add-On","description":"This endpoint can be used to early-cancel a booked appointment add-on.","operationId":"DeleteAppointmentAddOn","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"id","in":"query","required":true,"type":"integer","format":"int64"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"204":{"description":"This endpoint does not return a response. If a call to this endpoint results in a 204 No Content HTTP status code, then the call was successful."}}}},"/public/v{version}/class/classdescriptions":{"get":{"tags":["Class"],"summary":"Get class descriptions.","description":"To find class descriptions associated with **scheduled classes**, pass `StaffId`, `StartClassDateTime`, `EndClassDateTime`, or `LocationId` in the request.","operationId":"GetClassDescriptions","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.classDescriptionId","in":"query","description":"The ID of the requested client.","required":false,"type":"integer","format":"int32"},{"name":"request.endClassDateTime","in":"query","description":"Filters the results to class descriptions for scheduled classes that happen before the given date and time.","required":false,"type":"string","format":"date-time"},{"name":"request.includeInactive","in":"query","description":"Includes inactive class descriptions, defaulting to true. When set to false, it filters out inactive class descriptions.","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"Filters results to classes descriptions for schedule classes as the given location.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.programIds","in":"query","description":"A list of requested program IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.staffId","in":"query","description":"Filters results to class descriptions for scheduled classes taught by the given staff member.","required":false,"type":"integer","format":"int64"},{"name":"request.startClassDateTime","in":"query","description":"Filters the results to class descriptions for scheduled classes that happen on or after the given date and time.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassDescriptionsResponse"}}}}},"/public/v{version}/class/classes":{"get":{"tags":["Class"],"summary":"Get scheduled classes.","operationId":"GetClasses","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.classDescriptionIds","in":"query","description":"The requested class description IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.classIds","in":"query","description":"The requested class IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.classScheduleIds","in":"query","description":"The requested classSchedule Ids.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.clientId","in":"query","description":"The client ID of the client who is viewing this class list. Based on identity, the client may be able to see additional information, such as membership specials.","required":false,"type":"string"},{"name":"request.endDateTime","in":"query","description":"The requested end date for filtering.\r\nNOTE: ClassDate does not take Class Time into consideration.\r\n<br />Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"request.hideCanceledClasses","in":"query","description":"When `true`, canceled classes are removed from the response.<br />\r\nWhen `false`, canceled classes are included in the response.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.lastModifiedDate","in":"query","description":"When included in the request, only records modified on or after the `LastModifiedDate` specified are included in the response.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"A list of location IDs on which to base the search.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.programIds","in":"query","description":"A list of program IDs on which to base the search.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.schedulingWindow","in":"query","description":"When `true`, classes outside scheduling window are removed from the response.<br />\r\nWhen `false`, classes are included in the response, regardless of the scheduling window.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.semesterIds","in":"query","description":"A list of semester IDs on which to base the search.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.sessionTypeIds","in":"query","description":"A list of session type IDs on which to base the search.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.staffIds","in":"query","description":"The requested IDs of the teaching staff members.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDateTime","in":"query","description":"The requested start date for filtering. This also determines what you will see for the ‘BookingWindow’ StartDateTime in the response. For example, if you pass a StartDateTime that is on OR before the BookingWindow ‘Open’ days of the class, you will retrieve the actual ‘StartDateTime’ for the Booking Window. If you pass a StartDateTime that is after the BookingWindow ‘date’, then you will receive results based on that start date.\r\nNOTE: ClassDate does not take Class Time into consideration.","required":false,"type":"string","format":"date-time"},{"name":"request.uniqueClientId","in":"query","description":"The unique ID of the client who is viewing this class list. Based on identity, the client may be able to see additional information, such as membership specials.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","required":false,"type":"integer","format":"int64"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassesResponse"}}}}},"/public/v{version}/class/classschedules":{"get":{"tags":["Class"],"summary":"Get class schedules.","description":"Get class schedules.","operationId":"GetClassSchedules","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.classScheduleIds","in":"query","description":"The class schedule IDs.\r\n<br />Default: **all**","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.endDate","in":"query","description":"The end date of the range. Return any active enrollments that occur on or before this day.\r\n<br />Default: **StartDate**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"The location IDs. \r\n<br />Default: **all**","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.programIds","in":"query","description":"The program IDs. \r\n<br />Default: **all**","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.sessionTypeIds","in":"query","description":"The session type IDs. \r\n<br />Default: **all**","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.staffIds","in":"query","description":"The staff IDs. \r\n<br />Default: **all**","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"The start date of the range. Return any active enrollments that occur on or after this day.\r\n<br />Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassSchedulesResponse"}}}}},"/public/v{version}/class/classvisits":{"get":{"tags":["Class"],"summary":"Get information about clients booked in a class.","description":"Returns a list of visits that contain information for a specified class. On success, this request returns the class object in the response with a list of visits.","operationId":"GetClassVisits","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.lastModifiedDate","in":"query","description":"When included in the request, only records modified on or after the `LastModifiedDate` specified are included in the response.","required":false,"type":"string","format":"date-time"},{"name":"request.useSiteSettingsStaffName","in":"query","description":"When `true`, the staff DisplayName will be populated based on site-level settings.\r\nWhen `false` or omitted, the staff DisplayName will contain only the FirstName.","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.classID","in":"query","description":"The class ID.","required":true,"type":"integer","format":"int64"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassVisitsResponse"}}}}},"/public/v{version}/class/courses":{"get":{"tags":["Class"],"summary":"Fetch the list of the course for a studio","description":"This endpoint will provide all the data related to courses depending on the access level.<br />\r\nNote: The Authorization is an optional header.If Authorization header is not passed, the response will be masked else full response will be provided.","operationId":"GetCourses","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"getCoursesRequest.courseIDs","in":"query","description":"Return only courses that are available for the specified CourseIds.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"getCoursesRequest.endDate","in":"query","description":"The end date range. Any active courses that are on or before this day.\r\n<br />(optional) Defaults to StartDate.","required":false,"type":"string","format":"date-time"},{"name":"getCoursesRequest.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"getCoursesRequest.locationIDs","in":"query","description":"Return only courses that are available for the specified LocationIds.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"getCoursesRequest.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"getCoursesRequest.programIDs","in":"query","description":"Return only courses that are available for the specified ProgramIds.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"getCoursesRequest.semesterIDs","in":"query","description":"Return only courses that are available for the specified SemesterIds.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"getCoursesRequest.staffIDs","in":"query","description":"Return only courses that are available for the specified StaffIds.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"getCoursesRequest.startDate","in":"query","description":"The start date range. Any active courses that are on or after this day.\r\n<br />(optional) Defaults to today.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.GetCoursesReponse"}}}}},"/public/v{version}/class/semesters":{"get":{"tags":["Class"],"summary":"Fetch the list of the Semesters","description":"This endpoint retrieves the business class semesters.","operationId":"GetSemesters","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.active","in":"query","description":"When true, the response only contains semesters which are activated. When false, only deactivated semesters are returned.\r\nDefault: **All semesters**","required":false,"type":"boolean"},{"name":"request.endDate","in":"query","description":"The end date for the range. All semesters that are on or before this day.\r\nDefault: **StartDate**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.semesterIDs","in":"query","description":"The requested semester IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"The start date for the range. All semesters that are on or after this day.\r\nDefault: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.GetSemestersResponse"}}}}},"/public/v{version}/class/waitlistentries":{"get":{"tags":["Class"],"summary":"Get waiting list entries.","description":"Returns a list of waiting list entries for a specified class schedule or class. The request requires staff credentials and either a class schedule ID or class ID.","operationId":"GetWaitlistEntries","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.classIds","in":"query","description":"The requested class IDs. If a class ID is present, the request automatically disregards any class schedule IDs in the request. <br />\r\nEither `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.<br />\r\nDefault: **all ClassIds**","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.classScheduleIds","in":"query","description":"The requested class schedule IDs. If a class ID is present, the request automatically disregards any class schedule IDs in the request.<br />\r\nEither `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.<br />\r\nDefault: **all ClassScheduleIds**","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.clientIds","in":"query","description":"The requested client IDs.<br />\r\nEither `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.<br />\r\nDefault: **all ClientIds**","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.hidePastEntries","in":"query","description":"When `true`, indicates that past waiting list entries are hidden from clients.<br />\r\nWhen `false`, indicates that past entries are not hidden from clients.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.waitlistEntryIds","in":"query","description":"The requested waiting list entry IDs.<br />\r\nEither `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.<br />\r\nDefault: **all WaitlistEntryIds**","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.GetWaitlistEntriesResponse"}}}}},"/public/v{version}/class/addclassschedule":{"post":{"tags":["Class"],"summary":"This endpoint adds a class schedule. For a single day schedule, the EndDate parameter can be omitted.","operationId":"AddClassSchedule","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AddClassEnrollmentScheduleRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Data.Models.WrittenClassSchedulesInfo"}}}}},"/public/v{version}/class/addclienttoclass":{"post":{"tags":["Class"],"summary":"Book a client into a class.","description":"This endpoint adds a client to a class or to a class waiting list. To prevent overbooking a class or booking outside the schedule windows set forth by the business, it is necessary to first check the capacity level of the class (‘MaxCapacity’ and 'TotalBooked’) and the 'IsAvailable’ parameter by running the GetClasses REQUEST. It is helpful to use this endpoint in the following situations:\r\n* Use after calling `GET Clients` and `GET Classes` so that you are sure which client to book in which class.\r\n* If adding a client to a class from a waiting list, use this call after you call `GET WaitlistEntries` and determine the ID of the waiting list from which you are moving the client.\r\n* If adding a client to a class and using a pricing option that the client has already purchased, use this call after you call `GET ClientServices` to determine the ID of the pricing option that the client wants to use.\r\n\r\nIf you add a client to a class and the client purchases a new pricing option, use `GET Services`, `GET Classes`, and then `POST CheckoutShoppingCart` in place of this call.\r\n\r\nThis endpoint also supports cross-regional class bookings. If you want to perform a cross-regional class booking, set `CrossRegionalBooking` to `true`. This endpoint does not support adding a user to a waiting list using a cross-regional client pricing option(service). Cross-regional booking workflows do not support client service scheduling restrictions.\r\n\r\nWhen performing a cross-regional class booking, this endpoint loops through the first ten sites that the client is associated with, looks for client pricing options at each of those sites, and then uses the oldest client pricing option found.It is important to note that this endpoint only loops through a maximum of ten associated client sites. If a `ClientID` is associated with more than ten sites in an organization, this endpoint only loops through the first ten.If you know that a client has a client service at another site, you can specify that site using the `CrossRegionalBookingClientServiceSiteId` query parameter.\r\n\r\nIf you perform a cross-regional booking, two additional fields are included in the `SessionType` object of the response:\r\n* `SiteID`, which specifies where the client service is coming from\r\n* `CrossRegionalBookingPerformed`, a Boolean field that is set to `true`\r\n\r\nAs a prerequisite to using this endpoint, your `SourceName` must have been granted access to the organization to which the site belongs.\r\n            \r\nNote: Request deduplication is enabled for this endpoint. More information can be found in the [Request Deduplication Page](https://developers.mindbodyonline.com/ui/documentation/public-api#/net-standard-library/mindbody-public-api-v6-0/request-deduplication).\r\nUse the `X-RequestDeduplication-Skip` header to bypass deduplication if necessary. This may be useful in scenarios where you want to ensure a new appointment is created regardless of previous identical requests.","operationId":"AddClientToClass","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.AddClientToClassRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.AddClientToClassResponse"}}}}},"/public/v{version}/class/cancelsingleclass":{"post":{"tags":["Class"],"summary":"Cancels a single class instance.","description":"This endpoint will cancel a single class from studio.","operationId":"CancelSingleClass","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.CancelSingleClassRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.CancelSingleClassResponse"}}}}},"/public/v{version}/class/removeclientfromclass":{"post":{"tags":["Class"],"summary":"Remove a client from a class.","operationId":"RemoveClientFromClass","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveClientFromClassRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveClientFromClassResponse"}}}}},"/public/v{version}/class/removeclientsfromclasses":{"post":{"tags":["Class"],"summary":"Remove a clients from a classes.","description":"This endpoint can be utilized for removing multiple clients from multiple classes in one request.","operationId":"RemoveClientsFromClasses","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveClientsFromClassesRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveClientsFromClassesResponse"}}}}},"/public/v{version}/class/removefromwaitlist":{"post":{"tags":["Class"],"summary":"Remove a client from a waiting list.","description":"This endpoint does not return a response. If a call to this endpoint results in a 200 OK HTTP status code, then the call was successful.","operationId":"RemoveFromWaitlist","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.waitlistEntryIds","in":"query","description":"A list of `WaitlistEntryIds` to remove from the waiting list.","required":true,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveFromWaitlistResponse"}}}}},"/public/v{version}/class/substituteclassteacher":{"post":{"tags":["Class"],"summary":"Substitute a class teacher.","operationId":"SubstituteClassTeacher","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.SubstituteClassTeacherRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.SubstituteClassTeacherResponse"}}}}},"/public/v{version}/class/updateclass":{"post":{"tags":["Class"],"summary":"Update properties of an existing class.","description":"This endpoint updates one or more editable properties of a class identified by the provided ClassId.\r\nSupported properties include class-level attributes such as the theme name and other configurable values\r\nsupplied in the request payload.\r\n\r\nIt is recommended to use this endpoint in the following scenarios:\r\n* When an existing class needs to be updated without creating a new class.\r\n* When modifying class metadata that affects how the class is displayed or categorized.\r\n\r\nThe request must include a valid ClassId. If the ClassId is missing or less than or equal to zero,\r\nthe request is rejected with a validation error.\r\n\r\nThe request body is mapped into an internal update model and processed by the class engine. Only the properties\r\nprovided in the request are updated. All other class attributes remain unchanged, subject to business rules\r\nand validation constraints.\r\n\r\nA successful request returns HTTP 202 Accepted, indicating that the update request has been accepted\r\nfor processing. No response body is returned.\r\n\r\nAs a prerequisite to calling this endpoint, the caller’s SourceName must be authorized to update class\r\ndata for the site associated with the specified class.","operationId":"UpdateClass","consumes":["application/json","text/json","application/x-www-form-urlencoded","multipart/form-data"],"produces":[],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.UpdateClassRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"202":{"description":"The class update request was accepted for processing."}}}},"/public/v{version}/class/updateclassschedule":{"post":{"tags":["Class"],"summary":"This endpoint updates a class schedule.","description":"This endpoint updates a class schedule.","operationId":"UpdateClassSchedule","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.UpdateClassEnrollmentScheduleRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Data.Models.WrittenClassSchedulesInfo"}}}}},"/public/v{version}/class/updateclassschedulenotes/{classScheduleId}":{"patch":{"tags":["Class"],"summary":"This endpoint updates a class schedule notes.","description":"This endpoint updates the notes of class instances based on the schedule's schedule ID.\r\nNote: Every coming class instance for the given ScheduleID will have the notes updated the same way.","operationId":"UpdateClassScheduleNotes","consumes":["application/json","text/json","application/x-www-form-urlencoded","multipart/form-data"],"produces":[],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"classScheduleId","in":"path","description":"","required":true,"type":"integer","format":"int32"},{"name":"request","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.UpdateClassScheduleNotesRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"204":{"description":"No Content"}}}},"/public/v{version}/client/activeclientmemberships":{"get":{"tags":["Client"],"summary":"Get a client's active memberships.","description":"Please note that client memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization.","operationId":"GetActiveClientMemberships","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientAssociatedSitesOffset","in":"query","description":"Used to retrieve a client’s memberships from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` set to `true` to use this parameter.<br />\r\nDefault: **0**\r\n\r\nFor example, if a client is associated with 25 sites, you need to call GET `ActiveClientMemberships` three times, as follows:\r\n* Use GET `CrossRegionalClientAssociations` to determine how many sites a client is associated with, which tells you how many additional calls you need to make.\r\n* Either omit `ClientAssociatedSitesOffset` or set it to 0 to return the client’s memberships from sites 1-10\r\n* Set `ClientAssociatedSitesOffset` to 10 to return the client’s memberships from sites 11-20\r\n* Set `ClientAssociatedSitesOffset` to 20 to return the client’s memberships from sites 21-25","required":false,"type":"integer","format":"int32"},{"name":"request.crossRegionalLookup","in":"query","description":"Used to retrieve a client’s memberships from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that a `SiteID` is returned and populated in the `ClientServices` response when `CrossRegionalLookup` is set to `true`.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"Filters results to memberships that can be used to pay for scheduled services at that location. This parameter can not be passed when `CrossRegionalLookup` is `true`.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.uniqueClientId","in":"query","description":"The Unique ID of the client for whom memberships are returned. Note that UniqueClientId takes precedence over ClientId if both are provided.","required":false,"type":"integer","format":"int64"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientId","in":"query","description":"The ID of the client for whom memberships are returned.","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetActiveClientMembershipsResponse"}}}}},"/public/v{version}/client/activeclientsmemberships":{"get":{"tags":["Client"],"summary":"Get a client's active memberships.","description":"The endpoint returns a list of memberships for multiple clients we pass in query parameter. Please note that clients memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization.","operationId":"GetActiveClientsMemberships","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientAssociatedSitesOffset","in":"query","description":"Used to retrieve a client’s memberships from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` set to `true` to use this parameter.<br />\r\nDefault: **0**\r\n\r\nFor example, if a client is associated with 25 sites, you need to call `GetClientServices` three times, as follows:\r\n* Use `GET CrossRegionalClientAssociations` to determine how many sites a client is associated with, which tells you how many additional calls you need to make.\r\n* Either omit `ClientAssociatedSitesOffset` or set it to 0 to return the client’s services (pricing options) from sites 1-10.\r\n* Set `ClientAssociatedSitesOffset` to 10 to return the client pricing options from sites 11-20\r\n* Set `ClientAssociatedSitesOffset` to 20 to return the client pricing options from sites 21-25","required":false,"type":"integer","format":"int32"},{"name":"request.crossRegionalLookup","in":"query","description":"Used to retrieve a client’s memberships from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that a `SiteID` is returned and populated in the `ClientServices` response when `CrossRegionalLookup` is set to `true`.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"Filters results to memberships that can be used to pay for scheduled services at that location. This parameter can not be passed when `CrossRegionalLookup` is `true`.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientIds","in":"query","description":"The ID of the client for whom memberships are returned. Maximum allowed : 200.","required":true,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetActiveClientsMembershipsResponse"}}}}},"/public/v{version}/client/clientaccountbalances":{"get":{"tags":["Client"],"summary":"Get account balance information for one or more client(s).","operationId":"GetClientAccountBalances","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.balanceDate","in":"query","description":"The date you want a balance relative to. \r\nDefault: **the current date**","required":false,"type":"string","format":"date-time"},{"name":"request.classId","in":"query","description":"The class ID of the event for which you want a balance.","required":false,"type":"integer","format":"int32"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientIds","in":"query","description":"The list of clients IDs for which you want account balances.","required":true,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientAccountBalancesResponse"}}}}},"/public/v{version}/client/clientcompleteinfo":{"get":{"tags":["Client"],"summary":"Get Services, Contracts, MemberShips and Arrivals for Client as per requirement","description":"This endpoint returns complete client information along with list of purchased services, contract details, membership details and arrival programs for a specific client.","operationId":"GetClientCompleteInfo","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"consumer-identity-token","in":"header","description":"A consumers authorization token to replace the need of clientId in the request.","required":false,"type":"string","default":""},{"name":"request.clientAssociatedSitesOffset","in":"query","description":"Used to retrieve a client’s pricing options from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` set to `true` to use this parameter.<br />\r\nDefault: **0**\r\n\r\nFor example, if a client is associated with 25 sites, you need to call `GetClientServices` three times, as follows:\r\n* Use `GET CrossRegionalClientAssociations` to determine how many sites a client is associated with, which tells you how many additional calls you need to make.\r\n* Either omit `ClientAssociatedSitesOffset` or set it to 0 to return the client’s services (pricing options) from sites 1-10.\r\n* Set `ClientAssociatedSitesOffset` to 10 to return the client pricing options from sites 11-20\r\n* Set `ClientAssociatedSitesOffset` to 20 to return the client pricing options from sites 21-25","required":false,"type":"integer","format":"int32"},{"name":"request.crossRegionalLookup","in":"query","description":"Used to retrieve a clients pricing options from multiple sites within an organization.When included and set to `true`,\r\nit searches a maximum of ten sites with which this client is associated.When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated.\r\nYou can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. \r\nNote that a `SiteID` is returned and populated in the `ClientServices` response when `CrossRegionalLookup` is set to `true`.\r\n Default: **false**","required":false,"type":"boolean"},{"name":"request.endDate","in":"query","description":"Filters results to pricing options that are purchased on or before this date. \r\nDefault: **today’s date**.","required":false,"type":"string","format":"date-time"},{"name":"request.excludeInactiveSites","in":"query","description":"When this flag is set to `true`, will exclude inactive sites from the response\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.requiredClientData","in":"query","description":"Used to retrieve list of purchased services, contract details, membership details and arrival programs for a specific client. \r\nDefault `ClientServices`, `ClientContracts`, `ClientMemberships` and `ClientArrivals` will be returned when `RequiredClientDatais` not set. \r\nWhen `RequiredClientData` is set to `Contracts` then only `ClientContracts` will be returned in the response. \r\nWhen `RequiredClientData` is set to Services then only `ClientServices` will be returned in the response.\r\nWhen `RequiredClientData` is set to `Memberships` then only `ClientMemberships` will be returned in the response. \r\nWhen `RequiredClientData` is set to `ArrivalPrograms` then only `ClientArrivals` will be returned in the response.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.showActiveOnly","in":"query","description":"When `true`, includes active services only. Set this field to `true` when trying to determine if a client has a \r\nservice that can pay for a class or appointment.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.startDate","in":"query","description":"Filters results to pricing options that are purchased on or after this date. \r\nDefault: **today’s date**.","required":false,"type":"string","format":"date-time"},{"name":"request.uniqueClientId","in":"query","description":"The unique ID of the client who is viewing this class list.","required":false,"type":"integer","format":"int64"},{"name":"request.useActivateDate","in":"query","description":"When this flag is set to `true`, the date filtering will use activate date to filter the pricing options.\r\nWhen this flag is set to `false`, the date filtering will use purchase date to filter the pricing options.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientId","in":"query","description":"Filters results to client with these ID.","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientCompleteInfoResponse"}}}}},"/public/v{version}/client/clientcontracts":{"get":{"tags":["Client"],"summary":"Get contracts that a client has purchased.","operationId":"GetClientContracts","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientAssociatedSitesOffset","in":"query","description":"Determines how many sites are skipped over when retrieving a client’s cross regional contracts. Used when a client ID is linked to more than ten sites in an organization. Only a maximum of ten site databases are queried when this call is made and `CrossRegionalLookup` is set to `true`. To change which sites are queried, change this offset value.\r\nDefault: **0**","required":false,"type":"integer","format":"int32"},{"name":"request.crossRegionalLookup","in":"query","description":"When `true`, indicates that the requesting client’s cross regional contracts are returned, if any.<br />\r\nWhen `false`, indicates that cross regional contracts are not returned.","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.uniqueClientId","in":"query","description":"The unique ID of the requested client.","required":false,"type":"integer","format":"int64"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientId","in":"query","description":"The ID of the client (RssId).","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientContractsResponse"}}}}},"/public/v{version}/client/clientdirectdebitinfo":{"get":{"tags":["Client"],"summary":"Get direct debit info for a client.","description":"This endpoint returns direct debit info stored on a client's account. This endpoint requires staff user credentials.\r\n            \r\nA null response from this endpoint indicates that the client has no usable direct debit information on their account.Use the POST AddClientDirectDebitInfo endpoint to add direct debit information to a client’s account.","operationId":"GetDirectDebitInfo","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"clientId","in":"query","description":"The ID of the client.","required":false,"type":"string"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.DirectDebitInfo"}}}},"delete":{"tags":["Client"],"summary":"Delete direct debit info for a client.","description":"This endpoint deletes direct debit info from a client’s account. This endpoint requires staff user credentials.","operationId":"DeleteDirectDebitInfo","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"clientId","in":"query","description":"The ID of the client.","required":false,"type":"string"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"This endpoint does not return a response. \r\n            If a call to this endpoint results in a 200 OK HTTP status code, \r\n            then the call was successful.","schema":{"type":"object"}}}}},"/public/v{version}/client/clientduplicates":{"get":{"tags":["Client"],"summary":"Get client records that would be considered duplicates of the client values passed in.","description":"This endpoint gets client records that would be considered duplicates based on case-insensitive matching of the client's first name, last name, and email. For there to be results, all three parameters must match a client record. This endpoint requires staff user credentials.\r\n            \r\nAn empty `ClientDuplicates` object in the response from this endpoint indicates that there were no client records found that match the first name, last name, and email fields passed in.\r\n            \r\nIf one client record is returned, it is not a duplicate itself, but no other client record can be created or updated that would match this client's first name, last name, and email combination.\r\n            \r\nIf more than one client record is returned, these clients are duplicates of each other.We recommend discussing with the business how they would like to resolve duplicate records in the event the response contains more than one client record.Businesses can use the Merge Duplicate Clients tool in the Core Business Mode software to resolve the duplicate client records.","operationId":"GetClientDuplicates","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.email","in":"query","description":"The client email to match on when searching for duplicates.","required":false,"type":"string"},{"name":"request.firstName","in":"query","description":"The client first name to match on when searching for duplicates.","required":false,"type":"string"},{"name":"request.lastName","in":"query","description":"The client last name to match on when searching for duplicates.","required":false,"type":"string"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientDuplicatesResponse"}}}}},"/public/v{version}/client/clientformulanotes":{"get":{"tags":["Client"],"summary":"Get a client's formula notes.","description":"***QueryParams***: Enables to retrieve cross regional formula notes for a client, or for a specific appointment. The two parameters are optional, however at least one must be provided. This endpoint supports pagination.","operationId":"GetClientFormulaNotes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.appointmentId","in":"query","description":"The appointment ID of an appointment in the studio specified in the header of the request.","required":false,"type":"integer","format":"int64"},{"name":"request.clientId","in":"query","description":"The client ID of the client whose formula notes are being requested.","required":false,"type":"string"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientFormulaNotesResponse"}}}}},"/public/v{version}/client/clientindexes":{"get":{"tags":["Client"],"summary":"Get a site's configured client indexes and client index values.","description":"Client indexes are used to analyze client demographics. A business owner can set up different categories with sets of values which they can assign to each client. Client indexes are used in client searches, for tagging clients so that the owner can send mass emails to similar groups, and for many reports.\r\n\r\nFor more information, see Client Indexes and [Client Index Values (video tutorial)](https://support.mindbodyonline.com/s/article/203261653-Client-indexes-and-client-index-values-video-tutorial?language=en_USclient).","operationId":"GetClientIndexes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.requiredOnly","in":"query","description":"When `true`, filters the results to only indexes that are required on creation.<br />\r\nWhen `false` or omitted, returns all of the client indexes.","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientIndexesResponse"}}}}},"/public/v{version}/client/clientpurchases":{"get":{"tags":["Client"],"summary":"Get a client's purchase history.","description":"Gets a list of purchases made by a specific client.","operationId":"GetClientPurchases","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDate","in":"query","description":"Filters results to purchases made before this timestamp.<br />\r\nDefault: **end of today**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.saleId","in":"query","description":"Filters results to the single record associated with this ID.","required":false,"type":"integer","format":"int32"},{"name":"request.startDate","in":"query","description":"Filters results to purchases made on or after this timestamp.<br />\r\nDefault: **now**","required":false,"type":"string","format":"date-time"},{"name":"request.uniqueClientId","in":"query","description":"The unique ID of the requested client.","required":false,"type":"integer","format":"int64"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientId","in":"query","description":"The ID of the client you are querying for purchases.","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientPurchasesResponse"}}}}},"/public/v{version}/client/clientreferraltypes":{"get":{"tags":["Client"],"summary":"Get a site's configured client referral types.","description":"Gets a list of referral types. Referral types are options that new clients can choose to identify how they learned about the business. Referral types are typically used for the sign-up process.","operationId":"GetClientReferralTypes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.includeInactive","in":"query","description":"When `true`, filters the results to include subtypes and inactive referral types.<br />\r\nWhen `false`, includes no subtypes and only active types.\r\nDefault:**false**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientReferralTypesResponse"}}}}},"/public/v{version}/client/clientrewards":{"get":{"tags":["Client"],"summary":"Gets the client rewards.","operationId":"GetClientRewards","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDate","in":"query","description":"The end date of transaction.\r\nDefault: **StartDate**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.startDate","in":"query","description":"The start date of transaction.\r\nDefault: **today**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientId","in":"query","description":"The ID of the client.","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientRewardsResponse"}}}},"post":{"tags":["Client"],"summary":"Update Client Reward","description":"Earns or redeems rewards points for a given client, based on site settings. Cross regional rewards are not supported at this time.","operationId":"UpdateClientRewards","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientRewardsRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientRewardsResponse"}}}}},"/public/v{version}/client/clients":{"get":{"tags":["Client"],"summary":"This endpoint requires staff user credentials. This endpoint supports pagination. See Pagination for a description of the Pagination information.","operationId":"GetClients","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientIDs","in":"query","description":"The requested client IDs.\r\nDefault: **all IDs** that the authenticated user’s access level allows.<br />\r\nNote: You can fetch information for maximum 20 clients at once.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.includeInactive","in":"query","description":"When `true`, indicates the results to include active and inactive clients.<br />\r\nWhen `false`, indicates that only those clients who are marked as active should be returned.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.isProspect","in":"query","description":"When `true`, filters the results to include only those clients marked as prospects for the business.<br />\r\nWhen `false`, indicates that only those clients who are not marked prospects should be returned.","required":false,"type":"boolean"},{"name":"request.lastModifiedDate","in":"query","description":"Filters the results to include only the clients that have been modified on or after this date.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.searchText","in":"query","description":"Text to use in the search. Can include FirstName, LastName, and Email. Note that user credentials must be provided.","required":false,"type":"string"},{"name":"request.uniqueIds","in":"query","description":"Filters results to clients with these `UniqueIDs`. This parameter cannot be used with `ClientIDs` or `SearchText`.\r\nDefault: **all UniqueIDs** that the authenticated user’s access level allows.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientsResponse"}}}}},"/public/v{version}/client/clientschedule":{"get":{"tags":["Client"],"summary":"Gets a client's schedule history.","description":"This endpoint can be utilized to retrieve scheduled visits which is associated with the requested client.","operationId":"GetClientSchedule","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientAssociatedSitesOffset","in":"query","description":"The number of sites to skip when returning the site associated with a client.","required":false,"type":"integer","format":"int32"},{"name":"request.clientId","in":"query","description":"The ID of the requested client.","required":false,"type":"string"},{"name":"request.crossRegionalLookup","in":"query","description":"When `true`, indicates that past and scheduled client visits across all sites in the region are returned.\r\nWhen `false`, indicates that only visits at the current site are returned.","required":false,"type":"boolean"},{"name":"request.endDate","in":"query","description":"The date past which class visits are not returned.\r\nDefault is today’s date","required":false,"type":"string","format":"date-time"},{"name":"request.includeWaitlistEntries","in":"query","description":"When `true`, waitlist entries are included in the response.\r\nWhen `false`, waitlist entries are removed from the response.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.startDate","in":"query","description":"The date before which class visits are not returned.\r\nDefault is the end date","required":false,"type":"string","format":"date-time"},{"name":"request.uniqueClientId","in":"query","description":"The unique ID of the requested client.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","required":false,"type":"integer","format":"int64"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientScheduleResponse"}}}}},"/public/v{version}/client/clientservices":{"get":{"tags":["Client"],"summary":"Get pricing options that a client has purchased.","operationId":"GetClientServices","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.classId","in":"query","description":"Filters results to only those pricing options that can be used to pay for this class.","required":false,"type":"integer","format":"int32"},{"name":"request.classScheduleID","in":"query","description":"Filters results to pricing options which are associated with one of the ClassScheduleIDs","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.clientAssociatedSitesOffset","in":"query","description":"Used to retrieve a client’s pricing options from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` set to `true` to use this parameter.<br />\r\nDefault: **0**\r\n\r\nFor example, if a client is associated with 25 sites, you need to call `GetClientServices` three times, as follows:\r\n* Use `GET CrossRegionalClientAssociations` to determine how many sites a client is associated with, which tells you how many additional calls you need to make.\r\n* Either omit `ClientAssociatedSitesOffset` or set it to 0 to return the client’s services (pricing options) from sites 1-10.\r\n* Set `ClientAssociatedSitesOffset` to 10 to return the client pricing options from sites 11-20\r\n* Set `ClientAssociatedSitesOffset` to 20 to return the client pricing options from sites 21-25","required":false,"type":"integer","format":"int32"},{"name":"request.clientId","in":"query","description":"The ID of the client to query. The results are a list of pricing options that the client has purchased. Note that “service” and “pricing option” are synonymous in this section of the documentation.","required":false,"type":"string"},{"name":"request.clientIds","in":"query","description":"The IDs of the clients to query. The results are a list of pricing options that the clients have purchased.\r\nClientId parameter takes priority over ClientIds due to backward compatibility.\r\nSo if you want to use ClientIds, then ClientId needs to be empty.\r\nEither of ClientId or ClientIds need to be specified","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.crossRegionalLookup","in":"query","description":"Used to retrieve a client’s pricing options from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that a `SiteID` is returned and populated in the `ClientServices` response when `CrossRegionalLookup` is set to `true`.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.endDate","in":"query","description":"Filters results to pricing options that are purchased on or before this date.\r\n Default: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"request.excludeInactiveSites","in":"query","description":"When this flag is set to `true`, will exclude inactive sites from the response.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.ignoreCrossRegionalSiteLimit","in":"query","description":"Used to specify if the number of cross regional sites used to search for client’s pricing options should be ignored. \r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"Filters results to pricing options that can be used at the listed location IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.programIds","in":"query","description":"Filters results to pricing options that belong to one of the given program IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.sessionTypeId","in":"query","description":"Filters results to pricing options that will pay for the given session type ID. Use this to find pricing options that will pay for a specific appointment type.","required":false,"type":"integer","format":"int32"},{"name":"request.showActiveOnly","in":"query","description":"When `true`, includes active services only.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.startDate","in":"query","description":"Filters results to pricing options that are purchased on or after this date.\r\nDefault: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"request.uniqueClientId","in":"query","description":"The unique ID of the client to query. Note that UniqueClientId takes precedence over ClientId.","required":false,"type":"integer","format":"int64"},{"name":"request.uniqueClientIds","in":"query","description":"The Unique IDs of the clients to query. Note that UniqueClientIds collection takes precedence over ClientIds collection.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.useActivateDate","in":"query","description":"When this flag is set to `true`, the date filtering will use activate date to filter the pricing options.\r\nWhen this flag is set to `false`, the date filtering will use purchase date to filter the pricing options.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.visitCount","in":"query","description":"A filter on the minimum number of visits a service can pay for.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientServicesResponse"}}}}},"/public/v{version}/client/clientvisits":{"get":{"tags":["Client"],"summary":"Get a client's visit history.","description":"Gets the Client Visits for a specific client.","operationId":"GetClientVisits","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientAssociatedSitesOffset","in":"query","description":"The number of sites to skip when returning the site associated with a client.","required":false,"type":"integer","format":"int32"},{"name":"request.clientId","in":"query","description":"The ID of the requested client.","required":false,"type":"string"},{"name":"request.crossRegionalLookup","in":"query","description":"When `true`, indicates that past and scheduled client visits across all sites in the region are returned.<br />\r\nWhen `false`, indicates that only visits at the current site are returned.","required":false,"type":"boolean"},{"name":"request.endDate","in":"query","description":"The date past which class visits are not returned.\r\nDefault: **today's date**","required":false,"type":"string","format":"date-time"},{"name":"request.excludeTypeTakenDescriptions","in":"query","description":"A list of TypeTaken description values (case-insensitive) to exclude from the results.<br />\r\nVisits whose TypeTaken matches any value in this list are omitted.<br />\r\nWhen empty or not provided, no visits are excluded by TypeTaken.<br />","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.order","in":"query","description":"The sort order for the results.<br />\r\nWhen `desc`, results are returned in descending order (newest first).<br />\r\nWhen `asc`, results are returned in ascending order (oldest first).","required":false,"type":"string"},{"name":"request.startDate","in":"query","description":"The date before which class visits are not returned.\r\nDefault: **the end date**","required":false,"type":"string","format":"date-time"},{"name":"request.uniqueClientId","in":"query","description":"The unique ID of the requested client.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","required":false,"type":"integer","format":"int64"},{"name":"request.unpaidsOnly","in":"query","description":"When `true`, indicates that only visits that have not been paid for are returned.<br />\r\nWhen `false`, indicates that all visits are returned, regardless of whether they have been paid for.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientVisitsResponse"}}}}},"/public/v{version}/client/contactlogs":{"get":{"tags":["Client"],"summary":"Get contact logs on a client's account.","description":"This endpoint contains a variety of filters that can return not just all contact logs, but also system-generated contact logs, contact logs assigned to specific staff members, and contact logs of specific types or subtypes.","operationId":"GetContactLogs","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDate","in":"query","description":"Filters the results to contact logs created before this date.<br />\r\nDefault: **the start date**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.showSystemGenerated","in":"query","description":"When `true`, system-generated contact logs are returned in the results.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.staffIds","in":"query","description":"Filters the results to return contact logs assigned to one or more staff IDs.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"Filters the results to contact logs created on or after this date.<br />\r\nDefault: **the current date**","required":false,"type":"string","format":"date-time"},{"name":"request.subtypeIds","in":"query","description":"Filters the results to contact logs assigned one or more of these subtype IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.typeIds","in":"query","description":"Filters the results to contact logs assigned one or more of these type IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientId","in":"query","description":"The ID of the client whose contact logs are being requested.","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetContactLogsResponse"}}}}},"/public/v{version}/client/contactlogtypes":{"get":{"tags":["Client"],"summary":"Get All Active Contact Log Types","description":"This endpoint contains a variety of filters that can return not just all contact logs, but also system-generated contact logs, contact logs assigned to specific staff members, and contact logs of specific types or subtypes.","operationId":"GetContactLogTypes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.contactLogTypeId","in":"query","description":"The requested ContactLogType ID.\r\nDefault: **all** IDs that the authenticated user’s access level allows.","required":false,"type":"integer","format":"int32"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetContactLogTypesResponse"}}}}},"/public/v{version}/client/crossregionalclientassociations":{"get":{"tags":["Client"],"summary":"Get a client's cross regional site associations.","description":"Returns a list of sites that a particular client ID (also referred to as an RSSID) or a client email address is associated with in a cross-regional organization. Either the `ClientID` or `Email` parameter is required. If both are provided, the `ClientID` is used.\r\n\r\nUse this endpoint to retrieve information for other Public API endpoints, about the same client at multiple sites within an organization. To use this endpoint, your developer account must have been granted permission to the site's entire organization.\r\n\r\nNote that this endpoint does not work on the Developer Sandbox site, as it is not set up for cross-regional use cases.","operationId":"GetCrossRegionalClientAssociations","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientId","in":"query","description":"Looks up the cross regional associations by the client’s ID.","required":false,"type":"string"},{"name":"request.email","in":"query","description":"Looks up the cross regional associations by the client’s email address.","required":false,"type":"string"},{"name":"request.excludeInactiveSites","in":"query","description":"Used to exclude inactive and deleted sites from the results.\r\nWhen this flag is set to `true`, client profiles associated with inactive and deleted sites are not getting returned.\r\nWhen this flag is set to `false`,client profiles associated with inactive and deleted sites are getting returned.\r\nDefault: **true**","required":false,"type":"boolean"},{"name":"request.firstName","in":"query","description":"First name (used for email queries)","required":false,"type":"string"},{"name":"request.lastName","in":"query","description":"Last name (used for email queries)","required":false,"type":"string"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.uniqueClientId","in":"query","description":"Looks up the cross regional associations by the unique client’s ID.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId' OR the 'Email'. \r\n'UniqueClientId' takes precedence when provided. If not, but both 'ClientId' and 'Email' are provided, 'ClientId' is used by default.","required":false,"type":"integer","format":"int64"},{"name":"request.v2","in":"query","description":"Use newer method","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetCrossRegionalClientAssociationsResponse"}}}}},"/public/v{version}/client/customclientfields":{"get":{"tags":["Client"],"summary":"Get a site's configured custom client fields.","operationId":"GetCustomClientFields","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetCustomClientFieldsResponse"}}}}},"/public/v{version}/client/requiredclientfields":{"get":{"tags":["Client"],"summary":"Get client required fields for a site.","description":"Gets the list of fields that a new client has to fill out in business mode, specifically for the sign-up process. `AddClient` and `UpdateClient` validate against these fields.\r\n\r\nThis endpoint has no query parameters.","operationId":"GetRequiredClientFields","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetRequiredClientFieldsResponse"}}}}},"/public/v{version}/client/addarrival":{"post":{"tags":["Client"],"summary":"Add an arrival for a client.","description":"Marks a client as arrived for a specified location. A staff user token must be included with staff assigned the LaunchSignInScreen permission.\r\n            \r\nWhen used on a site that is part of a region, the following additional logic will apply:\r\n            \r\n* When a client exists within the region but not at the studio where the arrival is being logged, a local client record will be automatically created.\r\n* If the local client does not have an applicable local membership or pricing option, a membership or pricing option will be automatically used if it exists elsewhere within the region.","operationId":"AddArrival","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.AddArrivalRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.AddArrivalResponse"}}}}},"/public/v{version}/client/addclient":{"post":{"tags":["Client"],"summary":"Add a client to a site.","description":"Starting the week of May 11th, 2020 all versions of the Public API will no longer allow duplicate clients to be created. This applies to both adding a client and updating a client record. A duplicate client is created when two profiles have the same first name, last name and email.<br />\r\nCreates a new client record at the specified business. Passing a User Token as Authorization will create a client and respect Business Mode required fields. Omitting the token will create a client and respect Consumer Mode required fields. To make sure you are collecting all required pieces of information, first run GetRequired ClientFields.<br />\r\nIf you have purchased an Ultimate tier then this endpoint will automatically start showing new opportunity on Sales Pipeline.\r\n<br />\r\nThe response status can be \"Success\" or \"PartialSuccess\". When \"PartialSuccess\" is returned, only retry the failed non-critical operations, not the client creation itself.","operationId":"AddClient","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","description":"The `FirstName` and `LastName` parameters are always required in this request. \r\n            All other parameters are optional, but note that any of the optional parameters could be required by a particular business,\r\n            depending on how the business has configured the site settings. If `GetRequiredClientFields` returns `EmergContact` in the list of required fields,\r\n            then all emergency contact parameters are required, which includes `EmergencyContactInfoEmail`, `EmergencyContactInfoName`, `EmergencyContactInfoPhone`, and `EmergencyContactInfoRelationship`.","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.AddClientRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.AddClientResponse"}}}}},"/public/v{version}/client/addclientdirectdebitinfo":{"post":{"tags":["Client"],"summary":"Add client Direct debit info.","description":"This endpoint adds direct debit info to a client’s account. This endpoint requires staff user credentials.","operationId":"AddClientDirectDebitInfo","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.AddClientDirectDebitInfoRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.AddClientDirectDebitInfoResponse"}}}}},"/public/v{version}/client/addclientformulanote":{"post":{"tags":["Client"],"summary":"Add client's formula note","description":"This endpoint adds a formula note for a specified client or specified client appointment. A staff user token must be included with staff assigned permission to view client profile or have both ViewAppointmentDetails and ModifyAppointment permissions.","operationId":"AddFormulaNote","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.AddFormulaNoteRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.FormulaNoteResponse"}}}}},"/public/v{version}/client/addcontactlog":{"post":{"tags":["Client"],"summary":"Add a contact log to a client's account.","operationId":"AddContactLog","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.AddContactLogRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ContactLog"}}}}},"/public/v{version}/client/mergeclients":{"post":{"tags":["Client"],"summary":"This endpoint helps to merge clients.","description":"This endpoint helps to merge clients.","operationId":"MergeClient","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.MergeClientsRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/public/v{version}/client/sendautoemail":{"post":{"tags":["Client"],"summary":"Send a client a supported auto email","description":"This endpoint requires staff user credentials.","operationId":"SendAutoEmail","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.SendAutoEmailRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"This endpoint causes auto email to be sent to the requested client.\r\n            Email type passed in request needs to be enabled in the core software.\r\n            This endpoint does not return a response.\r\n            If a call to this endpoint results in a 200 OK HTTP status code, then the call was successful.","schema":{"type":"object"}}}}},"/public/v{version}/client/sendpasswordresetemail":{"post":{"tags":["Client"],"summary":"Send a password reset email to a client.","operationId":"SendPasswordResetEmail","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.SendPasswordResetEmailRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/public/v{version}/client/suspendcontract":{"post":{"tags":["Client"],"summary":"Suspend client contract","operationId":"SuspendContract","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.SuspendContractRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.SuspendContractResponse"}}}}},"/public/v{version}/client/terminatecontract":{"post":{"tags":["Client"],"summary":"Terminate client contract.","description":"This endpoint terminates a client contract. This endpoint requires staff user credentials with TerminateClientContract permission.","operationId":"TerminateContract","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.TerminateContractRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.TerminateContractResponse"}}}}},"/public/v{version}/client/updateclient":{"post":{"tags":["Client"],"summary":"Update a client at a site.","description":"Starting the week of May 11th, 2020 all versions of the Public API will no longer allow duplicate clients to be created. This applies to both adding a client and updating a client record. A duplicate client is created when two profiles have the same first name, last name and email.<br />\r\nUpdates an existing client for a specific subscriber.Passing a User Token as Authorization respects Business Mode required fields.Omitting the token respects Consumer Mode required fields.To make sure you are collecting all required pieces of information, first run GetRequiredClientFields.\r\n<br />.\r\nUse this endpoint as follows:\r\n* If you need to update the `ReferredBy` parameter, use this endpoint after calling `GET ClientReferralTypes`.\r\n* When updating a client's home location, use after calling `GET Locations`.\r\n* If you are updating a client's stored credit card, use after calling `GET AcceptedCardTypes` so that you can make sure the card is a type that is accepted at the subscriber.\r\n* If this endpoint is used on a cross-regional site, passing in a client's RSSID and email address creates a cross-regional link. This means that the client is created in cross-regional sites where the client does not exist and `GET CrossRegionalClientAssociations` returns all appropriate cross-regional sites. \r\n* When `CrossRegionalUpdate` is omitted or set to `true`, the client's updated information is propagated to all of the region's sites. If `CrossRegionalUpdate` is set to `false`, only the local client is updated.\r\n* Important: Starting in June 2025, the fields RSSID, Prefix, Name, Email, Birthday, Phone, and Address will automatically update cross-regionally when changed, regardless of the CrossRegionalUpdate setting. The update is rolling out on a per customer basis and is expected to complete to all customers by September 2025.\r\n\r\nNote that the following items cannot be updated for a cross-regional client:\r\n* `ClientIndexes`\r\n* `ClientRelationships`\r\n* `CustomClientFields`\r\n* `SalesReps`\r\n* `SendAccountEmails`\r\n* `SendAccountTexts`\r\n* `SendPromotionalEmails`\r\n* `SendPromotionalTexts`\r\n* `SendScheduleEmails`\r\n* `SendScheduleTexts`\r\n* `Gender` (for site custom values)\r\n\r\nCustom client Gender options can only be created with non-cross-regional requests.\r\n            \r\nIf you have purchased an Ultimate tier then this endpoint will automatically start showing a new opportunity on Sales Pipeline.It will create a new opportunity if the current request modify the contact as follows::\r\n            \r\n* You need to update the `IsProspect` parameter, to `true`.\r\n* You need to update the `ProspectStage`.`Description parameter`, to `New Lead`.<br />\r\n\r\nUpdates made to any inactive clients will automatically reactivate the client unless the `Acive` property is explicitly set to `false` in the request body.","operationId":"UpdateClient","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientResponse"}}}}},"/public/v{version}/client/updateclientcontractautopays":{"post":{"tags":["Client"],"summary":"This endpoint can be used to update the amount and/or the item of a client’s autopay schedule.","description":"This endpoint can be used to update the amount and/or the item of a client’s autopay schedule.","operationId":"UpdateClientContractAutopays","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateClientContractAutopaysRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Contract"}}}}},"/public/v{version}/client/updateclientservice":{"post":{"tags":["Client"],"summary":"Update a client's purchase pricing option.","description":"Updates the active date and/or expiration date of a client pricing option. This request requires staff user credentials. If the active date is modified, the expiration date is also modified accordingly. If the expiration date is modified, the active date is unchanged.","operationId":"UpdateClientService","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientServiceRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientServiceResponse"}}}}},"/public/v{version}/client/updateclientvisit":{"post":{"tags":["Client"],"summary":"Update a client's visit.","description":"Updates the status of the specified visit.","operationId":"UpdateClientVisit","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientVisitRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientVisitResponse"}}}}},"/public/v{version}/client/updatecontactlog":{"post":{"tags":["Client"],"summary":"Update a contact log on a client's account.","operationId":"UpdateContactLog","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateContactLogRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ContactLog"}}}}},"/public/v{version}/client/uploadclientdocument":{"post":{"tags":["Client"],"summary":"Upload a document to a client's profile.","description":"Uploads a document file for a specific client. Returns a string representation of the image byte array. The maximum size file that can be uploaded is **4MB**.","operationId":"UploadClientDocument","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UploadClientDocumentRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UploadClientDocumentResponse"}}}}},"/public/v{version}/client/uploadclientphoto":{"post":{"tags":["Client"],"summary":"Upload a profile photo to a client's profile.","description":"Uploads a client’s profile photo. The maximum file size is 4 MB and acceptable file types are:\r\n* bmp\r\n* jpeg\r\n* gif\r\n* tiff\r\n* png","operationId":"UploadClientPhoto","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UploadClientPhotoRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.UploadClientPhotoResponse"}}}}},"/public/v{version}/client/clientformulanote":{"delete":{"tags":["Client"],"summary":"Deletes client's formula note.","description":"This endpoint deletes an existing formula note. A staff user token must be included with staff assigned permission to view client profile or have both ViewAppointmentDetails and ModifyAppointment permissions.","operationId":"DeleteClientFormulaNote","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientId","in":"query","description":"The client ID of the client whose formula note needs to be deleted.","required":true,"type":"string"},{"name":"request.formulaNoteId","in":"query","description":"The formula note ID for the note to be deleted.","required":true,"type":"integer","format":"int64"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"204":{"description":"NoContent"}}}},"/public/v{version}/client/deletecontactlog":{"delete":{"tags":["Client"],"summary":"Delete client's contact log.","description":"This endpoint deletes contactlog of client. This endpoint requires staff user credentials.","operationId":"DeleteContactLog","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.test","in":"query","description":"When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database.\r\nWhen `false`, the database is updated.","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.clientId","in":"query","description":"The client ID of the client whose Contact Log is being deleted.","required":true,"type":"string"},{"name":"request.contactLogId","in":"query","description":"The Contact Log ID.","required":true,"type":"integer","format":"int64"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"This endpoint does not return a response. If a call to this endpoint results in a 200 OK HTTP status code, then the call was successful.","schema":{"type":"object"}}}}},"/public/v{version}/crossSite/copycreditcard":{"post":{"tags":["CrossSite"],"summary":"Copies the credit card information from one client to another, regardless of site.\r\nThe source and target clients must have the same email address.","operationId":"CopyCreditCard","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CrossSiteController.CopyCreditCardRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CrossSiteController.CopyCreditCardResponse"}}}}},"/public/v{version}/enrollment/enrollments":{"get":{"tags":["Enrollment"],"summary":"Get enrollments scheduled at a site.","description":"Returns a list of enrollments. An enrollment is a service, such as a workshop or an event, that a staff member offers to multiple students, who commit to coming to all or most of the scheduled sessions. Enrollments typically run for a limited time only.\r\n            \r\nWhen a user token is not passed with the request or the passed user token has insufficient viewing permissions, only the following staff data is returned in the response:\r\n            \r\n* FirstName\r\n* LastName\r\n* Id\r\n* Bio\r\n* DisplayName\r\n* ImageUrl","operationId":"GetEnrollments","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.classScheduleIds","in":"query","description":"A list of the requested class schedule IDs. If omitted, all class schedule IDs return.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.endDate","in":"query","description":"The end of the date range. The response returns any active enrollments that occur on or before this day.<br />\r\nDefault: **StartDate**","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"List of the IDs for the requested locations. If omitted, all location IDs return.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.programIds","in":"query","description":"List of the IDs for the requested programs. If omitted, all program IDs return.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.sessionTypeIds","in":"query","description":"List of the IDs for the requested session types. If omitted, all session types IDs return.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.staffIds","in":"query","description":"List of the IDs for the requested staff IDs. If omitted, all staff IDs return.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"The start of the date range. The response returns any active enrollments that occur on or after this day.<br />\r\nDefault: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.GetEnrollmentsResponse"}}}}},"/public/v{version}/enrollment/addclienttoenrollment":{"post":{"tags":["Enrollment"],"summary":"Book a client into an enrollment.","operationId":"AddClientToEnrollment","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.AddClientToEnrollmentRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassSchedule"}}}}},"/public/v{version}/enrollment/addenrollmentschedule":{"post":{"tags":["Enrollment"],"summary":"This endpoint adds a enrollment schedule. You can require clients to sign up for the entire enrollment schedule or allow them to pick specific sessions using the AllowOpenEnrollment parameter.","operationId":"AddEnrollmentSchedule","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AddClassEnrollmentScheduleRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Data.Models.WrittenClassSchedulesInfo"}}}}},"/public/v{version}/enrollment/updateenrollmentschedule":{"post":{"tags":["Enrollment"],"summary":"This endpoint update a enrollment schedule.","description":"This endpoint update a enrollment schedule.","operationId":"UpdateEnrollmentSchedule","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.UpdateClassEnrollmentScheduleRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Data.Models.WrittenClassSchedulesInfo"}}}}},"/public/v{version}/payroll/commissions":{"get":{"tags":["Payroll"],"summary":"Get commission payroll for staff members.","description":"A staff authorization token is not required for this endpoint, but if one is passed, its permissions are honored. Depending on the access permissions configured for the staff member whose token is passed, \r\nthe endpoint returns either only the payroll information for that staff member or it returns the payroll information for all staff members.","operationId":"GetCommissions","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDateTime","in":"query","description":"The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br />\r\nDefault: **Today’s date**\r\n* If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date.\r\n* If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.staffId","in":"query","description":"A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.","required":false,"type":"integer","format":"int64"},{"name":"request.startDateTime","in":"query","description":"The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.\r\n* If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply.\r\n* If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to today’s date.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetCommissionsResponse"}}}}},"/public/v{version}/payroll/scheduledserviceearnings":{"get":{"tags":["Payroll"],"summary":"Get class payroll for staff members.","description":"A staff authorization token is not required for this endpoint, but if one is passed, its permissions are honored. Depending on the access permissions configured for the staff member whose token is passed, the endpoint returns either only the payroll information for that staff member or it returns the payroll information for all staff members.\r\n\r\nNote that if a staff member is not paid for a class, earnings of zero are returned by this endpoint.\r\n\r\nNote that this endpoint calculates both bonus and no-reg rates for assistants.These rates are not supported by the Payroll report in the web interface.\r\n\r\nNote that this endpoint returns both the teacher’s adjusted rate and the assistant’s pay rate when the assistant is paid by the teacher.The Payroll report in the web interface only returns the teacher’s adjusted rate.","operationId":"GetScheduledServiceEarnings","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDateTime","in":"query","description":"The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br />\r\nDefault: **Today’s date**\r\n* If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date.\r\n* If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.scheduledServiceId","in":"query","description":"Filters the results to a single scheduled service. This parameter must be used with a single ScheduledServiceType.","required":false,"type":"integer","format":"int64"},{"name":"request.scheduledServiceType","in":"query","description":"Filters the results to schedule service earnings for specific types of services. Possible values:\r\n* Class\r\n* Appointment","required":false,"type":"string"},{"name":"request.staffId","in":"query","description":"A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.","required":false,"type":"integer","format":"int64"},{"name":"request.startDateTime","in":"query","description":"The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.\r\n* If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply.\r\n* If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to today’s date.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetScheduledServiceEarningsResponse"}}}}},"/public/v{version}/payroll/timecards":{"get":{"tags":["Payroll"],"summary":"Get time card payroll for staff members.","description":"This endpoint returns information for all locations. The **View reports for all locations permission **is not supported for staff auth tokens.","operationId":"GetTimeCards","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDateTime","in":"query","description":"The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br />\r\nDefault: **Today’s date**\r\n* If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date.\r\n* If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.staffId","in":"query","description":"A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.","required":false,"type":"integer","format":"int64"},{"name":"request.startDateTime","in":"query","description":"The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.\r\n* If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply.\r\n* If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to today’s date.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetTimeCardsResponse"}}}}},"/public/v{version}/payroll/tips":{"get":{"tags":["Payroll"],"summary":"Get tips for staff members.","description":"A staff authorization token is not required for this endpoint, but if one is passed, its permissions are honored. Depending on the access permissions configured for the staff member whose token is passed, \r\nthe endpoint returns either only the payroll information for that staff member or it returns the payroll information for all staff members.\r\nThis endpoint returns information for all locations.The** View reports for all locations **permission is not supported for staff auth tokens.","operationId":"GetTips","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDateTime","in":"query","description":"The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br />\r\nDefault: **Today’s date**\r\n* If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date.\r\n* If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.staffId","in":"query","description":"A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.","required":false,"type":"integer","format":"int64"},{"name":"request.startDateTime","in":"query","description":"The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.\r\n* If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply.\r\n* If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to today’s date.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetTipsResponse"}}}}},"/public/v{version}/pickaspot/v1/class":{"get":{"tags":["PickASpot"],"summary":"Get a list of classes as they relate to pick-a-spot.","description":"This endpoint supports pagination. See Pagination object for a description.","operationId":"GetClassList","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.GetPickASpotClassResponse"}}}}},"/public/v{version}/pickaspot/v1/class/{classId}":{"get":{"tags":["PickASpot"],"summary":"Get a class filtered by classId.","description":"Get a class filtered by classId.","operationId":"GetClass","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"classId","in":"path","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.GetPickASpotClassResponse"}}}}},"/public/v{version}/pickaspot/v1/reservation/{pathInfo}":{"get":{"tags":["PickASpot"],"summary":"Retrieves reservation for Pick a Spot.","description":"Retrieves reservation for Pick a Spot.","operationId":"GetReservation","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"pathInfo","in":"path","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.GetReservationResponse"}}}},"put":{"tags":["PickASpot"],"summary":"This endpoint updates a single reservation.","description":"A user token is required for this endpoint.\r\nThis endpoint updates a single reservation.","operationId":"UpdateReservation","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"pathInfo","in":"path","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.UpdateReservationResponse"}}}},"post":{"tags":["PickASpot"],"summary":"Creates a reservation for a given pick-a-spot class.","description":"Creates a spot reservation for a given pick-a-spot class. The actual class visit must be created prior to calling this endpoint.\r\nA user token is required for this endpoint.\r\n            \r\nSample request:\r\n            \r\n    POST /pickaspot/v1/reservation\r\n    {\r\n        \"SiteId\": -1147483363,\r\n        \"LocationId\": 1,\r\n        \"ClassId\": \"64b14ac8c20ae8f0afd2d409\",\r\n        \"ReservationExternalId\": \"44724\", // this is a Visit.Id and should be linked to a specific class visit\r\n        \"MemberExternalId\": \"100000136\", // this is Client's UniqueId\r\n        \"SpotNumber\": \"5\",\r\n        \"ReservationDisplayName\": \"ReservationDisplayName\", // optional\r\n        \"ReservationType\": \"Member\", // optional. Can be Member, Guest, Instructor, FamilyMember,\r\n        \"AutoConfirm\": false, // optional. Default: false\r\n        \"AutoAssignSpot\": false // optional. It will override the \"SpotNumber\" passed and auto assign one. Default: false\r\n    }","operationId":"CreateReservation","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"pathInfo","in":"path","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.CreateReservationResponse"}}}},"delete":{"tags":["PickASpot"],"summary":"This endpoint deletes a single reservation.","description":"A user token is required for this endpoint.\r\nThis endpoint deletes a single reservation.","operationId":"DeleteReservation","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"pathInfo","in":"path","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/System.Net.Http.HttpContent"}}}}},"/public/v{version}/pricingoption/updatepricingoption":{"post":{"tags":["PricingOption"],"summary":"Update Pricing Option data such as name, details, price, discontinued using PricingOptionId(product id)","operationId":"UpdatePricingOption","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PricingOptionController.UpdatePricingOptionRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/public/v{version}/sale/acceptedcardtypes":{"get":{"tags":["Sale"],"summary":"Get credit cards types that a site accepts.","description":"Gets a list of card types that the site accepts. You can also use `GET Sites` to return the Site object, which contains individual accepted card types for requested sites.\r\n\r\nThis endpoint has no query parameters.The response returns a list of strings. Possible values are:\r\n* Visa\r\n* MasterCard\r\n* Discover\r\n* AMEX","operationId":"GetAcceptedCardTypes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"string"}}}}}},"/public/v{version}/sale/alternativepaymentmethods":{"get":{"tags":["Sale"],"summary":"Get alternative and local payment methods that are allowed for a site.","description":"Get alternative and local payment methods that are allowed for a site.\r\nThese payment methods can later be used in `Initiate Checkout Shopping Cart Using Alternative Payments` \r\nand `Initiate Purchase Contract Using Alternative Payments` to make the payment.\r\n            \r\nThe currently supported alternative payments are:\r\n- iDEAL | Wero\r\n- Apple Pay\r\n\r\n**Notes:**\r\n- This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor.\r\n- This endpoint only supports the online store location (LocationId = 98). If LocationId is not provided, it will default to 98.","operationId":"GetAlternativePaymentMethods","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientId","in":"query","description":"The client ID","required":false,"type":"string"},{"name":"request.locationId","in":"query","description":"The location ID\r\nDefault: **null** (Online store location)","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetAlternativePaymentMethodsResponse"}}}}},"/public/v{version}/sale/contracts":{"get":{"tags":["Sale"],"summary":"Get contracts available for purchase at a site.","description":"Returns the contracts and autopay options that are available on a location-by-location basis. Depending on the configurations established by the site, this endpoint returns options that can be used to sign up clients for recurring payments for services offered by the business.","operationId":"GetContracts","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.contractIds","in":"query","description":"When included, the response only contains details about the specified contract IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.promoCode","in":"query","description":"PromoCode to apply","required":false,"type":"string"},{"name":"request.soldOnline","in":"query","description":" When `true`, the response only contains details about contracts and AutoPay options that can be sold online.\r\n When `false`, all contracts are returned.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.uniqueClientId","in":"query","description":"The ID of the client.","required":false,"type":"integer","format":"int64"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.locationId","in":"query","description":"The ID of the location that has the requested contracts and AutoPay options.","required":true,"type":"integer","format":"int32"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetContractsResponse"}}}}},"/public/v{version}/sale/custompaymentmethods":{"get":{"tags":["Sale"],"summary":"Get payment methods that can be used to pay for sales at a site.","description":"Get payment methods that can be used to pay for sales at a site.","operationId":"GetCustomPaymentMethods","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetCustomPaymentMethodsResponse"}}}}},"/public/v{version}/sale/giftcardbalance":{"get":{"tags":["Sale"],"summary":"Get a gift card's remaining balance.","description":"Returns a gift card’s remaining balance.","operationId":"GetGiftCardBalance","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"barcodeId","in":"query","description":"The barcode ID of the gift card for which you want the balance.","required":false,"type":"string"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetGiftCardBalanceResponse"}}}}},"/public/v{version}/sale/giftcards":{"get":{"tags":["Sale"],"summary":"Get gift cards available for purchase at a site.","description":"Returns information about gift cards that can be purchased.","operationId":"GetGiftCards","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.ids","in":"query","description":"Filters the results to the requested gift card IDs.<br />\r\nDefault: **all** gift cards.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.includeCustomLayouts","in":"query","description":"When `true`, includes custom gift card layouts.<br />\r\nWhen `false`, includes only system layouts.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"When included, returns gift cards that are sold at the provided location ID.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.soldOnline","in":"query","description":"When `true`, only returns gift cards that are sold online.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetGiftCardResponse"}}}}},"/public/v{version}/sale/packages":{"get":{"tags":["Sale"],"summary":"Get packages available for purchase at a site.","description":"A package is typically used to combine multiple services and/or products into a single offering. Staff members can check out multiple appointments while selling the package, and can discount the items included. For example, a spa might bundle a massage, a pedicure, a manicure, a facial, and a few selected beauty products into a package.","operationId":"GetPackages","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"The location ID to use to determine the tax for the products that this request returns.<br />\r\nDefault: **online store**","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.packageIds","in":"query","description":"A list of the packages IDs to filter by.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.sellOnline","in":"query","description":"When `true`, only returns products that can be sold online.<br />\r\nWhen `false`, all products are returned.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetPackagesResponse"}}}}},"/public/v{version}/sale/products":{"get":{"tags":["Sale"],"summary":"Get retail products available for purchase at a site.","operationId":"GetProducts","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.categoryIds","in":"query","description":"A list of revenue category IDs to filter by. Use this ID when calling the GET Categories endpoint.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"The location ID to use to determine the tax for the products that this request returns.<br />\r\nDefault: **online store**","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.productIds","in":"query","description":"The barcode number of the product to be filter by.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.searchText","in":"query","description":"A search filter, used for searching by term.","required":false,"type":"string"},{"name":"request.secondaryCategoryIds","in":"query","description":"A list of secondary categories to filter by. Use this ID when calling the GET Categories endpoint.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.sellOnline","in":"query","description":"When `true`, only products that can be sold online are returned.<br />\r\nWhen `false`, all products are returned.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.subCategoryIds","in":"query","description":"A list of subcategory IDs to filter by. Use this ID when calling the GET Categories endpoint.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetProductsResponse"}}}},"put":{"tags":["Sale"],"summary":"Update retail products available for purchase at a site.","operationId":"UpdateProducts","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"updateProductsRequests","in":"body","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateProductRequest"}}},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetProductsResponse"}}}}},"/public/v{version}/sale/productsinventory":{"get":{"tags":["Sale"],"summary":"Get retail products inventory data available at a site.","operationId":"GetProductsInventory","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.barcodeIds","in":"query","description":"When included, the response only contains details about the specified Barcode Ids.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"When included, the response only contains details about the specified location Ids.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.productIds","in":"query","description":"When included, the response only contains details about the specified product Ids.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetProductsInventoryResponse"}}}}},"/public/v{version}/sale/purchasecontractstatus":{"get":{"tags":["Sale"],"summary":"Fetches the status of an initiate purchase contract given accessToken.","description":"Fetches the status of an initiate purchase contract given accessToken.\r\nThis endpoint complements the `Initiate Purchase Contract Using Alternative Payments` endpoint. `Initiate Purchase Contract Using Alternative Payments` endpoint will capture the intent to purchase a contract, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the `Initiate Purchase Contract Using Alternative Payments` endpoint. You can then invoke this endpoint to obtain the `PurchaseContractResponse`.\r\n            \r\n**For a comprehensive guide, follow this tutorial:** [Purchase a Contract](https://developers.mindbodyonline.com/ui/documentation/public-api#/http/tutorials/purchase-a-contract)\r\n            \r\nThe currently supported alternative payments are:\r\n- iDEAL | Wero\r\n- Apple Pay","operationId":"GetPurchaseContractStatus","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"accessToken","in":"query","required":true,"type":"string"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseContractResponse"}}}}},"/public/v{version}/sale/sales":{"get":{"tags":["Sale"],"summary":"Get sales completed at a site.","description":"Get sales completed at a site.","operationId":"GetSales","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endSaleDateTime","in":"query","description":"Filters results to sales that happened before this date and time.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.paymentMethodId","in":"query","description":"Filters results to sales paid for by the given payment method ID which indicates payment method(s) (i.e. cash, VISA, AMEX, Check, etc.).","required":false,"type":"integer","format":"int32"},{"name":"request.saleId","in":"query","description":"The sale ID associated with the particular item. It Filters results to the requested sale ID.","required":false,"type":"integer","format":"int64"},{"name":"request.startSaleDateTime","in":"query","description":"Filters results to sales that happened after this date and time.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetSalesResponse"}}}}},"/public/v{version}/sale/services":{"get":{"tags":["Sale"],"summary":"Get pricing options available for purchase at a site","description":"Get pricing options available for purchase at a site","operationId":"GetServices","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.classId","in":"query","description":"Filters to the pricing options for the specified class ID.","required":false,"type":"integer","format":"int32"},{"name":"request.classScheduleId","in":"query","description":"Filters to the pricing options for the specified class schedule ID.","required":false,"type":"integer","format":"int32"},{"name":"request.hideRelatedPrograms","in":"query","description":"When `true`, indicates that pricing options of related programs are omitted from the response.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.includeDiscontinued","in":"query","description":"When `true`, indicates that the filtered pricing option list includes discontinued pricing options.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.includeSaleInContractOnly","in":"query","description":"When `true`, indicates that the filtered pricing option list includes sale in contract only pricing options.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"When specified, for each returned pricing option, `TaxRate` and `TaxIncluded` are calculated according to the specified location. Note that this does not filter results to only services provided at the given location, and for locations where Value-Added Tax (VAT) rules apply, the `TaxRate` is set to zero.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.programIds","in":"query","description":"Filters to pricing options with the specified program IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.sellOnline","in":"query","description":"When `true`, filters the pricing options to display only those available for online purchase.\r\nThis parameter is only applicable in Business Mode (when a staff authentication header is included) and ignored in Consumer Mode (when no authentication header is passed).\r\n<br />Default: `false` (for staff users)\r\n<br />Business Mode: This parameter controls the filtering behavior. Staff users can set this to `true`\r\nto show only pricing options that can be sold online, or `false` to show all available pricing options.\r\n<br />Consumer Mode: This value is automatically set to `true` and cannot be overridden,\r\nensuring consumers only see pricing options available for online purchase.","required":false,"type":"boolean"},{"name":"request.serviceIds","in":"query","description":"Filters to the pricing options with the specified IDs. In this context, service and pricing option are used interchangeably. These are the `PurchasedItems[].Id` returned from GET Sales.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.sessionTypeIds","in":"query","description":"Filters to the pricing options with the specified session types IDs.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.staffId","in":"query","description":"Sets `Price` and `OnlinePrice` to the particular pricing of a specific staff member, if allowed by the business.","required":false,"type":"integer","format":"int64"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetServicesResponse"}}}},"put":{"tags":["Sale"],"summary":"Update unit price and online price of provided services.","description":"Update unit price and online price of provided services.","operationId":"UpdateServices","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"updateServicesRequest","in":"body","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateServiceRequest"}}},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateServiceResponse"}}}}},"/public/v{version}/sale/transactions":{"get":{"tags":["Sale"],"summary":"Get transactions completed at a site.","description":"This endpoint returns a list of transaction details of processed sales.","operationId":"GetTransactions","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.clientId","in":"query","description":"Filters results to the requested client ID.","required":false,"type":"integer","format":"int64"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"Filters the transaction results with the ID number associated with the location of the sale.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.saleId","in":"query","description":"Filters the transaction results with the ID number associated with the sale.","required":false,"type":"integer","format":"int64"},{"name":"request.status","in":"query","description":"Filters the transaction results by the estimated transaction status.","required":false,"type":"string"},{"name":"request.transactionEndDateTime","in":"query","description":"Filters the transaction results that happpened before this date and time. \r\nDefault: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"request.transactionId","in":"query","description":"Filters the transaction results with the ID number generated when the sale is processed.","required":false,"type":"integer","format":"int32"},{"name":"request.transactionStartDateTime","in":"query","description":"Filters the transaction results that happpened after this date and time. \r\nDefault: **today’s date**","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.GetTransactionsResponse"}}}}},"/public/v{version}/sale/checkoutshoppingcart":{"post":{"tags":["Sale"],"summary":"Purchase pricing options, packages, retail products, or tips for a client.","description":"This endpoint provides a wide range of functionality. For example, you can use it when a client purchases new pricing options, retail products, packages, and tips. You can also combine purchasing a new pricing option and many other functions, such as booking a client into a class, booking a new appointment for a client, enrolling a client into an enrollment or course, or reconciling an unpaid, already booked appointment or class. Use this call when a client purchases:\r\n* a pricing option, after calling `GET Services` and choosing a specific pricing option’s ID\r\n* a retail product, after calling `GET Products` and choosing a specific retail product’s ID\r\n* a package, after calling `GET Packages` and choosing a specific package’s ID\r\n* a tip to give to a staff member, after calling `GET Staff` and choosing a specific staff member ID, and the amount that the client wants to tip\r\nThe documentation provides explanations of the request body and response, as well as the cart item metadata, payment item metadata, and purchased cart items.\r\nThis endpoint had been updated to support Strong Customer Authentication (SCA).\r\n**Note :**\r\nProtect yourself from processor fees and credit card fraud.Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!","operationId":"CheckoutShoppingCart","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CheckoutShoppingCartRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutShoppingCartResponse"}}}}},"/public/v{version}/sale/completecheckoutshoppingcart":{"post":{"tags":["Sale"],"summary":"Complete the Checkout Shopping Cart process, after the payments have been made by the client.","description":"This endpoint complements the InitiateCheckoutShoppintCart endpoint. Please visit its documentation to understand further.\r\n\r\nThe currently supported alternative payments are:\r\n- iDEAL | Wero\r\n- Apple Pay\r\n\r\n**How to use :**\r\nInitiateCheckoutShoppingCart and CompleteCheckoutShoppingCart endpoints work together. InitiateCheckoutShoppingCart endpoint will capture the intent to perform a checkout, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the InitiateCheckoutShoppingCart endpoint. You can then invoke the CompleteCheckoutShoppingCart endpoint to complete the remaining checkout activities and obtain the CheckoutShoppingCartResponse.\r\n\r\n**For a comprehensive guide, follow this tutorial:** [Checkout Shopping Cart Using Alternative Payments](https://developers.mindbodyonline.com/ui/documentation/public-api#/http/tutorials/checkout-shopping-cart-using-alternative-payments)\r\n\r\n**Notes:**\r\n- This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor.\r\n- Protect yourself from processor fees. Remember to always protect your web forms that leverage POST InitiateCheckoutShoppingCart or POST CompleteCheckoutShoppingCart with a CAPTCHA!","operationId":"CompleteCheckoutShoppingCartUsingAlternativePayments","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutShoppingCartResponse"}}}}},"/public/v{version}/sale/initiatecheckoutshoppingcart":{"post":{"tags":["Sale"],"summary":"Initiate the Checkout Shopping Cart process, for payments to be made directly by the client.","description":"This endpoint provides a wide range of functionality. For example, you can use it when a client purchases new pricing options, retail products, packages, and tips. You can also combine purchasing a new pricing option and many other functions, such as booking a client into a class, booking a new appointment for a client, enrolling a client into an enrollment or course, or reconciling an unpaid, already booked appointment or class. Use this call when a client purchases:\r\n* a pricing option, after calling `GET Services` and choosing a specific pricing option’s ID\r\n* a retail product, after calling `GET Products` and choosing a specific retail product’s ID\r\n* a package, after calling `GET Packages` and choosing a specific package’s ID\r\n* a tip to give to a staff member, after calling `GET Staff` and choosing a specific staff member ID, and the amount that the client wants to tip\r\nThe documentation provides explanations of the request body and response, as well as the cart item metadata, payment item metadata, and purchased cart items.\r\n\r\nThe currently supported alternative payments are:\r\n- iDEAL | Wero\r\n- Apple Pay\r\n            \r\n**How to use :**\r\nInitiateCheckoutShoppingCart and CompleteCheckoutShoppingCart endpoints work together. InitiateCheckoutShoppingCart endpoint will capture the intent to perform a checkout, and return a redirect URL for the end user to make the payment. Once the payment concludes, the end user will be redirected back to the PaymentAuthenticationCallbackUrl, which was provided while invoking the InitiateCheckoutShoppingCart endpoint. You can then invoke the CompleteCheckoutShoppingCart endpoint to complete the remaining checkout activities and obtain the CheckoutShoppingCartResponse.\r\n\r\n**For a comprehensive guide, follow this tutorial:** [Checkout Shopping Cart Using Alternative Payments](https://developers.mindbodyonline.com/ui/documentation/public-api#/http/tutorials/checkout-shopping-cart-using-alternative-payments)\r\n\r\n**Notes:**\r\n- This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor.\r\n- This endpoint only supports the online store location (LocationId = 98). If LocationId is not provided, it will default to 98.\r\n- Product purchases are currently not supported on the online store location.\r\n- This endpoint only supports those payment methods as obtained from the GetAlternativePaymentMethods endpoint.\r\n- Protect yourself from processor fees. Remember to always protect your web forms that leverage POST InitiateCheckoutShoppingCart or POST CompleteCheckoutShoppingCart with a CAPTCHA!","operationId":"InitiateCheckoutShoppingCartUsingAlternativePayments","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/public/v{version}/sale/initiatepurchasecontract":{"post":{"tags":["Sale"],"summary":"Purchase a contract for a client using apm/lpm.","description":"Allows a client to sign up for a contract or autopay using the information returned from the `GET Contracts` endpoint. The client can pay with allowed alternative and local payment methods returned from `Get Alternative Payment Method`. The client must exist at the site specified before this call is made.\r\n            \r\nThe currently supported alternative payments are:\r\n- iDEAL | Wero\r\n- Apple Pay\r\n            \r\n**For a comprehensive guide, follow this tutorial:** [Purchase a Contract](https://developers.mindbodyonline.com/ui/documentation/public-api#/http/tutorials/purchase-a-contract)\r\n            \r\n**Notes:**\r\n- This endpoint is only available for Studios on MBPS (Mindbody Payments) with Stripe payment processor.\r\n- This endpoint only supports the online store location (LocationId = 98). If LocationId is not provided, it will default to 98.\r\n- This endpoint only supports those payment methods as obtained from the GetAlternativePaymentMethods endpoint.\r\n- Protect yourself from processor fees and credit card fraud. Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!","operationId":"InitiatePurchaseContractUsingAlternativePayments","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.InitiatePurchaseContractRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/public/v{version}/sale/purchaseaccountcredit":{"post":{"tags":["Sale"],"summary":"Purchases account credit for a client","description":"Allows a client to purchase account credit from a business.","operationId":"PurchaseAccountCredit","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseAccountCreditRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseAccountCreditResponse"}}}}},"/public/v{version}/sale/purchasecontract":{"post":{"tags":["Sale"],"summary":"Purchase a contract for a client.","description":"Allows a client to sign up for a contract or autopay using the information returned from the `GET Contracts` endpoint. The client can pay with a new credit card or with a stored credit card. The client must exist at the site specified before this call is made.\r\n\r\nThis endpoint allows a developer to specify whether a client pays now or pays on the `StartDate`. If you are building a client-facing experience, you should talk with the business owner to understand the owner’s policies before you give clients a choice of the two payment types.\r\nThis endpoint also allows a developer to specify a `ProrateDate`. If the date is passed, the Totals returned will always include the pro-rate amount for instant payment, like:\r\n- `FirstPaymentOccurs` = `Instant` =&gt; returns instant payment total for the contract + pro-rate amount.\r\n- `FirstPaymentOccurs` = `StartDate` =&gt; returns pro-rate amount + contract amount requiring instant payment. The rest of the contract will be due on `StartDate`.\r\n- Pro-rate amount payment on `StartDate` is not supported by this endpoint.\r\nThis endpoint has been updated to support Strong Customer Authentication (SCA).\r\n\r\n**Note:**\r\nProtect yourself from processor fees and credit card fraud. Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!","operationId":"PurchaseContract","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseContractRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseContractResponse"}}}}},"/public/v{version}/sale/purchasegiftcard":{"post":{"tags":["Sale"],"summary":"Purchase a gift card for a client.","description":" Allows a client to purchase a gift card from a business in a variety of designs. The card can be emailed to the recipient on a specific day, and a card title and a personal message can be added.\r\n **Note**\r\nProtect yourself from processor fees and credit card fraud.Remember to always protect your web forms that leverage POST CheckoutShoppingCart, POST PurchaseContract or POST PurchaseGiftCard with a CAPTCHA!","operationId":"PurchaseGiftCard","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseGiftCardRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseGiftCardResponse"}}}}},"/public/v{version}/sale/returnsale":{"post":{"tags":["Sale"],"summary":"Retunn sale","description":"Return a comped sale for a specified sale ID in business mode. The sale is returnable only if it is a sale of a service, product or gift card and it has not been used. Currently, only the comp payment method is supported.","operationId":"ReturnSale","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"returnSaleRequest","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.ReturnSaleRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.ReturnSaleResponse"}}}}},"/public/v{version}/sale/updateproductprice":{"post":{"tags":["Sale"],"summary":"Update retail product's unit and online price.","description":"This endpoint updates the retail price and an online price for a product. Passing at least one of them is mandatory.","operationId":"UpdateProductPrice","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateProductPriceRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateProductPriceResponse"}}}}},"/public/v{version}/sale/updatesaledate":{"put":{"tags":["Sale"],"summary":"This endpoint updates the SaleDate and returns the details of the sale.","description":"This endpoint updates the SaleDate and returns the details of the sale.","operationId":"UpdateSaleDate","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateSaleDateRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateSaleDateResponse"}}}}},"/public/v{version}/site/activationcode":{"get":{"tags":["Site"],"summary":"Get an activation code for a site.","description":"Before you can use this endpoint, MINDBODY must approve your developer account for live access. If you have finished testing in the sandbox and are ready to begin working with MINDBODY customers, log into your account and request to go live.\r\n\r\nSee [Accessing Business Data From MINDBODY](https://developers.mindbodyonline.com/PublicDocumentation/V6#accessing-business-data) for more information about the activation code and how to use it.\r\n\r\nOnce you are approved, this endpoint returns an activation code.This endpoint supports only one site per call.","operationId":"GetActivationCode","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetActivationCodeResponse"}}}}},"/public/v{version}/site/categories":{"get":{"tags":["Site"],"summary":"Gets the categories.","operationId":"GetCategories","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.active","in":"query","description":"When `true`, the response only contains categories which are activated. \r\nWhen `false`, only deactivated categories are returned.\r\nDefault: **All Categories**","required":false,"type":"boolean"},{"name":"request.categoryIds","in":"query","description":"When included, the response only contains details about the specified category Ids.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.service","in":"query","description":"When `true`, the response only contains details about Revenue Categories.\r\nWhen `false`, only Product Revenue Categories are returned.\r\nDefault: **All Categories**","required":false,"type":"boolean"},{"name":"request.subCategoryIds","in":"query","description":"When included, the response only contains details about the specified subcategory Ids.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetCategoriesResponse"}}}}},"/public/v{version}/site/genders":{"get":{"tags":["Site"],"summary":"Get the gender options at a site.","description":"The endpoint returns a list of configured client gender options for a site. Custom gender options are assignable to client genders only. Currently, custom values returned from this endpoint cannot be used as input for other endpoints to specify the genders of staff or client preferences.","operationId":"GetGenders","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetGendersResponse"}}}}},"/public/v{version}/site/liabilitywaiver":{"get":{"tags":["Site"],"summary":"Gets Liability Waiver content","description":"Gets Liability Waiver content at the specified business.\r\nThis endpoint requires staff user credentials.","operationId":"GetLiabilityWaiver","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetLiabilityWaiverResponse"}}}}},"/public/v{version}/site/locations":{"get":{"tags":["Site"],"summary":"Get locations for a site.","operationId":"GetLocations","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetLocationsResponse"}}}}},"/public/v{version}/site/memberships":{"get":{"tags":["Site"],"summary":"Get the memberships at a site.","operationId":"GetMemberships","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.membershipIds","in":"query","description":"The requested membership IDs.<br />\r\nDefault: **all** IDs that the authenticated user’s access level allows.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.GetMembershipsResponse"}}}}},"/public/v{version}/site/mobileproviders":{"get":{"tags":["Site"],"summary":"Gets a list of active mobile providers for the site.","description":"Get the list of mobile providers that are supported by the business.","operationId":"GetMobileProviders","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.active","in":"query","description":"When `true`, the response only contains mobile providers which are activated. \r\nWhen `false`, only deactivated mobile providers are returned.\r\nDefault: **All Mobile Providers**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetMobileProvidersResponse"}}}}},"/public/v{version}/site/paymenttypes":{"get":{"tags":["Site"],"summary":"Get payment types for a site.","operationId":"GetPaymentTypes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.active","in":"query","description":"When `true`, the response only contains payment types which are activated.\r\nWhen `false`, only deactivated payment types are returned.\r\nDefault: **All Payment Types**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetPaymentTypesResponse"}}}}},"/public/v{version}/site/programs":{"get":{"tags":["Site"],"summary":"Get service categories offered at a site.","operationId":"GetPrograms","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.onlineOnly","in":"query","description":"If `true`, filters results to show only those programs that are shown online.<br />\r\nIf `false`, all programs are returned.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.programIds","in":"query","description":"Program Ids to filter for","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.scheduleType","in":"query","description":"A schedule type used to filter the returned results. Possible values are:\r\n* All\r\n* Class\r\n* Enrollment\r\n* Appointment\r\n* Resource\r\n* Media\r\n* Arrival","required":false,"type":"string","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"]},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetProgramsResponse"}}}}},"/public/v{version}/site/promocodes":{"get":{"tags":["Site"],"summary":"Get promocodes for a site.","description":"Gets a list of promocodes at the specified business. This endpoint requires staff user credentials. \r\nThis staff member should have enabled the Set up promotions / **Semester discounts** staff permission.","operationId":"GetPromoCodes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.activeOnly","in":"query","description":"If true, filters results to show only promocodes that are active. If **false**, all promocodes are returned.\r\nDefault: **true**","required":false,"type":"boolean"},{"name":"request.endDate","in":"query","description":"Filters results to promocodes that were activated before this date.","required":false,"type":"string","format":"date-time"},{"name":"request.lastModifiedDate","in":"query","description":"Filters results to promocodes that were modified on or after this date.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.onlineOnly","in":"query","description":"If `true`, filters results to show only promocodes that can be used for online sale.\r\nIf `false`, all promocodes are returned.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.startDate","in":"query","description":"Filters results to promocodes that were activated after this date.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetPromoCodesResponse"}}}}},"/public/v{version}/site/prospectstages":{"get":{"tags":["Site"],"summary":"Gets a list of prospect stages for a site.","description":"Get the list of prospect stages that represent the prospect stage options for prospective clients.","operationId":"GetProspectStages","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.active","in":"query","description":"When `true`, the response only contains prospect stages which are activated.\r\nWhen `false`, only deactivated prospect stages are returned.\r\nDefault: **All Prospect Stages**","required":false,"type":"boolean"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetProspectStagesResponse"}}}}},"/public/v{version}/site/relationships":{"get":{"tags":["Site"],"summary":"Returns all active relationships of the site.","description":"This endpoint retrieves the business site relationships.","operationId":"GetRelationships","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.active","in":"query","description":"When `true`, the response only contains relationships which are activated.\r\nWhen `false`, only deactivated relationships are returned.\r\nDefault: **All Relationships**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetRelationshipsResponse"}}}}},"/public/v{version}/site/resourceavailabilities":{"get":{"tags":["Site"],"summary":"Get resource availabilities used at a site.","operationId":"GetResourceAvailabilities","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.endDate","in":"query","description":"End date. If default, StartDate is used.","required":false,"type":"string","format":"date-time"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"Filter by location ids (optional)","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.programIds","in":"query","description":"Filter by program ids (optional)","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.resourceIds","in":"query","description":"Filter on resourceIds","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.scheduleTypes","in":"query","description":"Filter by schedule types (optional)","required":false,"type":"array","items":{"type":"string","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"]},"collectionFormat":"multi"},{"name":"request.startDate","in":"query","description":"Start time","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetResourceAvailabilitiesResponse"}}}}},"/public/v{version}/site/resources":{"get":{"tags":["Site"],"summary":"Get resources used at a site.","operationId":"GetResources","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.includeInactive","in":"query","description":"Enable to include inactive","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationIds","in":"query","description":"Filter by location ids (optional)","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.programIds","in":"query","description":"Filter by program ids (optional)","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.resourceIds","in":"query","description":"Filter on resourceIds","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"request.scheduleTypes","in":"query","description":"Filter by schedule types (optional)","required":false,"type":"array","items":{"type":"string","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"]},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/public/v{version}/site/sessiontypes":{"get":{"tags":["Site"],"summary":"Get the session types used at a site.","operationId":"GetSessionTypes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.onlineOnly","in":"query","description":"When `true`, indicates that only the session types that can be booked online should be returned.<br />\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.programIDs","in":"query","description":"Filters results to session types that belong to one of the given program IDs. If omitted, all program IDs return.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetSessionTypesResponse"}}}}},"/public/v{version}/site/sites":{"get":{"tags":["Site"],"summary":"Get all sites that can be accessed by an API Key.","description":"Gets a list of sites that the developer has permission to view.\r\n* Passing in no `SiteIds` returns all sites that the developer has access to.\r\n* Passing in one `SiteIds` returns more detailed information about the specified site.\r\n\r\nImportant Behavior Notice:\r\nWhen calling GetSites without specifying a SiteId, or when passing multiple SiteIds, the response will include only limited data for each site. This is expected behavior designed to help identify accessible sites without returning full site-level configuration details.\r\nTo retrieve complete information for a specific site, please make a separate GetSites request using a single SiteId.\r\n\r\nThis design helps reduce payload size for multi-site queries, but we recognize it may require additional requests when full detail is needed. If your integration depends on full site-level data, we recommend retrieving the list of site IDs first, then querying each one individually as needed.","operationId":"GetSites","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.includeLeadChannels","in":"query","description":"This is an optional parameter to get lead channels for a Site.","required":false,"type":"boolean"},{"name":"request.includePerStaffPricing","in":"query","description":"Include whether or not studios have per staff pricing enabled.","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.siteIds","in":"query","description":"List of the requested site IDs. When omitted, returns all sites that the source has access to.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.GetSitesResponse"}}}}},"/public/v{version}/site/addclientindex":{"post":{"tags":["Site"],"summary":"Add client index to a site.","description":"Creates a new client index record at the specified business. \r\nThis endpoint requires staff user credentials.","operationId":"AddClientIndex","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.AddSiteClientIndexRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.AddSiteClientIndexResponse"}}}}},"/public/v{version}/site/addpromocode":{"post":{"tags":["Site"],"summary":"Add promo code to a site.","description":"Creates a new promocode record at the specified business. \r\nThis endpoint requires staff user credentials. This staff memeber should have enabled the **Set up promotions / Semester discounts** staff permission.","operationId":"AddPromoCode","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.AddPromoCodeRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.AddPromoCodeResponse"}}}}},"/public/v{version}/site/deactivatepromocode":{"post":{"tags":["Site"],"summary":"Deactivate promo code to a site.","description":"Deactivates an existing promocode record at the specified business. \r\nThis endpoint requires staff user credentials. This staff memeber should have enabled the **Set up promotions / Semester discounts** staff permission.","operationId":"DeactivatePromoCode","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.DeactivatePromoCodeRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/public/v{version}/site/updateclientindex":{"post":{"tags":["Site"],"summary":"Update client index.","description":"Updates an exisitng client index record at the specified business. \r\nThis endpoint requires staff user credentials.","operationId":"UpdateClientIndex","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.UpdateSiteClientIndexRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SiteController.UpdateSiteClientIndexResponse"}}}}},"/public/v{version}/staff/imageurl":{"get":{"tags":["Staff"],"summary":"Get image URLs for the given staff ID in the request.","description":"Retrieves the available image URLs for a specified staff member, including desktop and mobile versions.\r\n<br />\r\nThe resolution of these images is determined by the Mindbody product at the time the image is uploaded. Staff images are automatically resized within Core (typically around 200×151 pixels), and this endpoint surfaces only the stored versions. The API does not resize or limit the images itself .\r\n<br />\r\nFor more information about how image sizes are managed in Mindbody product, refer to the related support article: [link here](https://support.mindbodyonline.com/s/article/203253783-Staff-profiles-Creating-logins-updating-info-and-enabling-settings?language=en_US).","operationId":"GetStaffImageURL","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.staffId","in":"query","description":"The ID of the staff member whose image URL details you want to retrieve.","required":false,"type":"integer","format":"int64"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffImageURLResponse"}}}}},"/public/v{version}/staff/salesreps":{"get":{"tags":["Staff"],"summary":"This endpoint returns the basic details of the staffs that are marked as sales reps.","description":"This endpoint returns the basic details of the staffs that are marked as sales reps.","operationId":"GetSalesReps","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.activeOnly","in":"query","description":"When `true`, will return only active reps data.\r\nDefault : **false**","required":false,"type":"boolean"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.salesRepNumbers","in":"query","description":"This is the list of the sales rep numbers for which the salesrep data will be fetched.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.GetSalesRepsResponse"}}}}},"/public/v{version}/staff/sessiontypes":{"get":{"tags":["Staff"],"summary":"Get the session types used at a site for a staff member.","description":"Gets a list of active session types for a specific staff member. A staff user token must be included with staff assigned the ManageStaffPayRates permission.","operationId":"GetStaffSessionTypes","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.onlineOnly","in":"query","description":"When `true`, indicates that only the session types that can be booked online should be returned.\r\nDefault: **false**","required":false,"type":"boolean"},{"name":"request.programIds","in":"query","description":"Filters results to session types that belong to one of the given program IDs. If omitted, all program IDs return.","required":false,"type":"array","items":{"type":"integer","format":"int32"},"collectionFormat":"multi"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.staffId","in":"query","description":"The ID of the staff member whose session types you want to return.","required":true,"type":"integer","format":"int64"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffSessionTypesResponse"}}}}},"/public/v{version}/staff/staff":{"get":{"tags":["Staff"],"summary":"Get staff members at a site.","description":"When a user token is not passed with the request or the passed user token has insufficient viewing permissions, only the following staff data is returned in the response:\r\n            \r\n* FirstName\r\n* LastName\r\n* Id\r\n* Bio\r\n* DisplayName\r\n* ImageUrl\r\n* EmpID","operationId":"GetStaff","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"request.filters","in":"query","description":"Filters to apply to the search. Possible values are:\r\n* StaffViewable\r\n* AppointmentInstructor\r\n* ClassInstructor\r\n* Male\r\n* Female","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"request.limit","in":"query","description":"Number of results to include, defaults to 100","required":false,"type":"integer","format":"int32"},{"name":"request.locationId","in":"query","description":"Return only staff members that are available at the specified location. You must supply a valid `SessionTypeID` and `StartDateTime` to use this parameter.","required":false,"type":"integer","format":"int32"},{"name":"request.offset","in":"query","description":"Page offset, defaults to 0.","required":false,"type":"integer","format":"int32"},{"name":"request.sessionTypeId","in":"query","description":"Return only staff members that are available for the specified session type. You must supply a valid `StartDateTime` and `LocationID` to use this parameter.","required":false,"type":"integer","format":"int32"},{"name":"request.staffIds","in":"query","description":"A list of the requested staff IDs.","required":false,"type":"array","items":{"type":"integer","format":"int64"},"collectionFormat":"multi"},{"name":"request.startDateTime","in":"query","description":"Return only staff members that are available at the specified date and time. You must supply a valid `SessionTypeID` and `LocationID` to use this parameter.","required":false,"type":"string","format":"date-time"},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffResponse"}}}}},"/public/v{version}/staff/staffpermissions":{"get":{"tags":["Staff"],"summary":"Get configured staff permissions for a staff member.","description":"Get configured staff permissions for a staff member.","operationId":"GetStaffPermissions","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request.staffId","in":"query","description":"The ID of the staff member whose permissions you want to return.","required":true,"type":"integer","format":"int64"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffPermissionsResponse"}}}}},"/public/v{version}/staff/addstaff":{"post":{"tags":["Staff"],"summary":"Creates a new staff member record at the specified business. The `FirstName` and `LastName` parameters are always required for this request.","description":"Creates a new staff member record at the specified business. The `FirstName` and `LastName` parameters are always required for this request.","operationId":"AddStaff","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.AddStaffRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.AddStaffResponse"}}}}},"/public/v{version}/staff/assignsessiontype":{"post":{"tags":["Staff"],"summary":"Assigns a staff member to an appointment session type with staff specific properties such as time length and pay rate. A staff user token must be included with staff assigned the ManageStaffPayRates permission.","description":"Assigns a staff member to an appointment session type with staff specific properties such as time length and pay rate. A staff user token must be included with staff assigned the ManageStaffPayRates permission.","operationId":"AssignStaffSessionType","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.AssignStaffSessionTypeRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.AssignStaffSessionTypeResponse"}}}}},"/public/v{version}/staff/staffavailability":{"post":{"tags":["Staff"],"summary":"Enables to add staff availability or unavailability for a given staff member.","description":"Enables to add staff availability or unavailability for a given staff member.","operationId":"AddStaffAvailability","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.AddStaffAvailabilityRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK"}}}},"/public/v{version}/staff/updatestaff":{"post":{"tags":["Staff"],"summary":"Updates an existing staff member record at the specified business. The ID is a required parameters for this request.","description":"Updates an existing staff member record at the specified business. The ID is a required parameters for this request.","operationId":"UpdateStaff","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.UpdateStaffRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.UpdateStaffResponse"}}}}},"/public/v{version}/staff/updatestaffpermissions":{"post":{"tags":["Staff"],"summary":"Assigns a permission group to a staff member. A staff user token must be included with staff assigned the ManageStaffPayRates permission.","description":"Assigns a permission group to a staff member. A staff user token must be included with staff assigned the ManageStaffPayRates permission.","operationId":"UpdateStaffPermissions","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.UpdateStaffPermissionsRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffController.UpdateStaffPermissionsResponse"}}}}},"/public/v{version}/usertoken/issue":{"post":{"tags":["UserToken"],"summary":"Get a staff user token. Current lifetime: 24hrs.","description":"When users interact with your Public API integration as staff members, they need to get a staff user token for authentication.\r\nYou can use the issue endpoint to get a staff user token, then pass the token in the headers for all of your requests.","operationId":"IssueToken","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.UserTokenController.IssueRequest"}},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.UserTokenController.IssueResponse"}}}}},"/public/v{version}/usertoken/renew":{"post":{"tags":["UserToken"],"summary":"Renews a token. Can be used to extend the lifetime of a token.\r\nCurrent lifetime expansion: 24hrs from current expiration, up to 7 renewals.","operationId":"RenewToken","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/public/v{version}/usertoken/revoke":{"delete":{"tags":["UserToken"],"summary":"Revoke a user token.","description":"Revokes the user token in the Authorization header.","operationId":"RevokeToken","consumes":[],"produces":["application/json","text/json","application/xml","text/xml","multipart/form-data"],"parameters":[{"name":"authorization","in":"header","description":"A staff user authorization token.","required":false,"type":"string","default":""},{"name":"version","in":"header","description":"version of the api.","required":false,"type":"string","default":"6"},{"name":"siteId","in":"header","description":"ID of the site from which to pull data.","required":true,"type":"string","default":"-99"},{"name":"version","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}}},"definitions":{"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddMultipleAppointmentsRequest":{"title":"AddMultipleAppointmentsRequest","description":"Request to add multiple appointments.","type":"object","properties":{"AddAppointmentRequests":{"description":"List of appointment requests to be added.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentRequest"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentRequest":{"title":"AddAppointmentRequest","description":"Represents a request to add a new appointment, including details such as client information, appointment timing, location, and additional preferences.\r\nSupports two models: the legacy model (using SessionTypeId, StaffId, StartDateTime at the root level) or the itinerary model (using ItineraryEvents).\r\nOnly one model can be used per request.","required":["ClientId","LocationId"],"type":"object","properties":{"ItineraryEvents":{"description":"A list of events (services) to be booked as part of an itinerary. \r\nWhen provided, the legacy parameters (SessionTypeId, StaffId, StartDateTime) at the root level should not be used.\r\nEach event can have its own add-ons attached.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.ItineraryEventRequest"}},"ApplyPayment":{"description":"When `true`, indicates that a payment should be applied to the appointment. \r\n<br />Default: **true**","type":"boolean"},"ClientId":{"description":"The RRSID of the client for whom the new appointment is being made.","type":"string"},"Duration":{"format":"int32","description":"The duration of the appointment. This parameter is used to change the default duration of an appointment.","type":"integer"},"EndDateTime":{"format":"date-time","description":"The end date and time of the new appointment. <br />\r\nDefault: **StartDateTime**, offset by the staff member’s default appointment duration.","type":"string"},"GenderPreference":{"description":"The client’s service provider gender preference.","type":"string"},"LocationId":{"format":"int32","description":"The ID of the location where the new appointment is to take place.","type":"integer"},"Notes":{"description":"Any general notes about this appointment.","type":"string"},"ProviderId":{"description":"If a user has Complementary and Alternative Medicine features enabled, this parameter assigns a provider ID to the appointment.","type":"string"},"ResourceIds":{"description":"A list of resource IDs to associate with the new appointment.","type":"array","items":{"format":"int32","type":"integer"}},"SendEmail":{"description":" Whether to send client an email for cancellations. An email is sent only if the client has an email address and automatic emails have been set up. \r\n<br />Default: **false**","type":"boolean"},"SessionTypeId":{"format":"int32","description":"The session type associated with the new appointment.\r\nRequired when using the legacy model (without ItineraryEvents).","type":"integer"},"StaffId":{"format":"int64","description":"The ID of the staff member who is adding the new appointment.\r\nRequired when using the legacy model (without ItineraryEvents), unless IsWaitlist is true.","type":"integer"},"StaffRequested":{"description":"When `true`, indicates that the staff member was requested specifically by the client.","type":"boolean"},"StartDateTime":{"format":"date-time","description":"The start date and time of the new appointment.\r\nRequired when using the legacy model (without ItineraryEvents).","type":"string"},"Test":{"description":" When true, indicates that the method is to be validated, but no new appointment data is added. \r\n<br />Default: **false**","type":"boolean"},"IsWaitlist":{"description":"When `true`, indicates that the client should be added to a specific appointment waiting list.\r\nWhen `false`, the client should not be added to the waiting list.\r\nDefault: **false**","type":"boolean"},"PartnerExternalId":{"description":"Optional external key for api partners.","type":"string"},"AddAppointmentRequestId":{"format":"int32","description":"A unique identifier for tracking the AddAppointmentRequest. This ID is not stored and is used to match each request with its corresponding response.\r\nThe request object will also be returned in the response, with the same ID value.\r\n- For single requests, this value will be ignored.\r\n- For multiple requests, if no value is provided, the system will generate an identifier ranging from 0 to (number of requests - 1).","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.ItineraryEventRequest":{"title":"ItineraryEventRequest","description":"Represents a single event (service) within an itinerary-based appointment booking.","type":"object","properties":{"SessionTypeId":{"format":"int32","description":"The session type (service) associated with this event.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The start date and time of this event.","type":"string"},"Duration":{"format":"int32","description":"The duration of the event in minutes. If not provided or 0, the service's default duration is used.","type":"integer"},"Notes":{"description":"Any notes specific to this event.","type":"string"},"StaffRequested":{"description":"When `true`, indicates that the staff member was requested specifically by the client.","type":"boolean"},"StaffId":{"format":"int64","description":"The ID of the staff member for this event. Optional if using waitlist or if staff assignment is flexible.","type":"integer"},"ResourceIds":{"description":"A list of resource IDs (rooms, equipment) to associate with this event.","type":"array","items":{"format":"int32","type":"integer"}},"AddOns":{"description":"A list of add-on services attached to this event.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.AppointmentModels.ItineraryAddOn"}}}},"Mindbody.PublicApi.Common.Models.AppointmentModels.ItineraryAddOn":{"title":"ItineraryAddOn","description":"Represents an add-on service for an itinerary-based appointment booking.","type":"object","properties":{"Id":{"format":"int64","description":"The unique identifier for the add-on.","type":"integer"},"SessionTypeId":{"format":"int32","description":"The session type associated with the add-on.","type":"integer"},"StartTime":{"format":"date-time","description":"The start date and time of this add-on.\r\nIf not provided, the parent appointment's start time will be used.","type":"string"},"DurationOverrideInMinutes":{"format":"int32","description":"The duration of the add-on in minutes.\r\nIf not provided or 0, the parent appointment's duration will be used.","type":"integer"},"Resources":{"description":"The resources (staff and/or rooms) assigned to this add-on.\r\nIf no staff resource is provided, the parent appointment's staff will be used.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.AppointmentModels.AppointmentResourceInfo"}},"Notes":{"description":"Notes for the add-on appointment.","type":"string"}}},"Mindbody.PublicApi.Common.Models.AppointmentModels.AppointmentResourceInfo":{"title":"AppointmentResourceInfo","description":"Represents a resource (staff or room) for an appointment.","type":"object","properties":{"Id":{"format":"int64","description":"The unique identifier of the resource.","type":"integer"},"Type":{"description":"The type of resource (Staff or Room).","enum":["Staff","Room"],"type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddMultipleAppointmentsResponse":{"title":"AddMultipleAppointmentsResponse","description":"Represents the response for adding multiple appointments.","type":"object","properties":{"AddAppointmentOutcomes":{"description":"Contains information about the created appointments.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AddAppointmentOutcome"}}}},"Mindbody.PublicApi.Dto.Models.V6.AddAppointmentOutcome":{"title":"AddAppointmentOutcome","description":"Contains information about an appointment creation outcome.","type":"object","properties":{"Appointment":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Appointment","description":"The appointment details if created."},"Error":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ApiError","description":"The error message if the appointment creation failed."},"Request":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentRequest","description":"The request details for the appointment creation."}}},"Mindbody.PublicApi.Dto.Models.V6.Appointment":{"title":"Appointment","description":"Contains information about an appointment.","type":"object","properties":{"GenderPreference":{"description":"The prefered gender of the appointment provider. \r\nPossible values are:\r\n* None\r\n* Female\r\n* Male","enum":["None","Female","Male"],"type":"string"},"Duration":{"format":"int32","description":"The duration of the appointment.","type":"integer"},"ProviderId":{"description":"If a user has Complementary and Alternative Medicine features enabled, this property indicates the provider assigned to the appointment.","type":"string"},"Id":{"format":"int64","description":"The unique ID of the appointment.","type":"integer"},"Status":{"description":"The status of this appointment.\r\nPossible values are:\r\n* None\r\n* Requested\r\n* Booked\r\n* Completed\r\n* Confirmed\r\n* Arrived\r\n* NoShow\r\n* Cancelled\r\n* LateCancelled","enum":["None","Requested","Booked","Completed","Confirmed","Arrived","NoShow","Cancelled","LateCancelled"],"type":"string"},"StartDateTime":{"format":"date-time","description":"The date and time the appointment is to start.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the appointment is to end.","type":"string"},"Notes":{"description":"Any notes associated with the appointment.","type":"string"},"PartnerExternalId":{"description":"Optional external key for api partners.","type":"string"},"StaffRequested":{"description":"When `true`, indicates that the staff member was requested specifically by the client.","type":"boolean"},"ProgramId":{"format":"int32","description":"The ID of the program to which this appointment belongs.","type":"integer"},"SessionTypeId":{"format":"int32","description":"The ID of the session type of this appointment.","type":"integer"},"LocationId":{"format":"int32","description":"The ID of the location where this appointment is to take place.","type":"integer"},"StaffId":{"format":"int64","description":"The ID of the staff member providing the service for this appointment.","type":"integer"},"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.AppointmentStaff","description":"Staff for the appointment"},"ClientId":{"description":"The RSSID of the client who is booked for this appointment.","type":"string"},"FirstAppointment":{"description":"When `true`, indicates that this is the client’s first appointment at this site.","type":"boolean"},"IsWaitlist":{"description":"When `true`, indicates that the client should be added to a specific appointment waiting list.\r\nWhen `false`, the client should not be added to the waiting list.\r\nDefault: *false*","type":"boolean"},"WaitlistEntryId":{"format":"int64","description":"The unique ID of the appointment waitlist.","type":"integer"},"ClientServiceId":{"format":"int64","description":"The ID of the pass on the client’s account that is to pay for this appointment.","type":"integer"},"Resources":{"description":"The resources this appointment is to use.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ResourceSlim"}},"AddOns":{"description":"Any AddOns associated with the appointment","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AddOnSmall"}},"OnlineDescription":{"description":"Online Description associated with the appointment","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ApiError":{"title":"ApiError","type":"object","properties":{"Message":{"type":"string"},"Code":{"type":"string"},"ReasonCode":{"description":"An optional reason code that provides additional context for the error.\r\nFor example, when Code is \"ClassRequiresPayment\", ReasonCode may be \"UnpaidLimitExceeded\"\r\nto indicate the booking failed because the client exceeded their unpaid booking limit.\r\nThis field is only present for specific error scenarios.","type":"string"}}},"Mindbody.PublicApi.Common.Models.AppointmentStaff":{"title":"AppointmentStaff","type":"object","properties":{"Id":{"format":"int64","type":"integer"},"FirstName":{"type":"string"},"LastName":{"type":"string"},"DisplayName":{"type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ResourceSlim":{"title":"ResourceSlim","description":"Contains information about resources, such as rooms.","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the resource being used for this appointment.","type":"integer"},"Name":{"description":"The name of the resource being used for this appointment.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AddOnSmall":{"title":"AddOnSmall","type":"object","properties":{"Id":{"format":"int64","description":"The unique ID of the appointment add-on booking.","type":"integer"},"Name":{"description":"The name of the appointment add-on.","type":"string"},"StaffId":{"format":"int64","description":"The ID of the staff member providing the service for this add-on.","type":"integer"},"TypeId":{"format":"int32","description":"The ID of the session type of this appointment.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentResponse":{"title":"AddAppointmentResponse","type":"object","properties":{"Appointment":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Appointment","description":"Contains information about the appointment. Only present if the request was made using the legacy model."},"Itinerary":{"description":"Contains information about the itinerary appointment. Only present if the request was made using the itinerary model.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ItineraryEvent"}}}},"Mindbody.PublicApi.Dto.Models.V6.ItineraryEvent":{"title":"ItineraryEvent","description":"Contains information about an itinerary appointment.","type":"object","properties":{"GenderPreference":{"description":"The prefered gender of the appointment provider.","enum":["None","Female","Male"],"type":"string"},"Duration":{"format":"int32","description":"The duration of the appointment.","type":"integer"},"ProviderId":{"description":"If a user has Complementary and Alternative Medicine features enabled, this property indicates the provider assigned to the appointment.","type":"string"},"Id":{"format":"int64","description":"The unique ID of the appointment.","type":"integer"},"Status":{"description":"The status of this appointment.","enum":["None","Requested","Booked","Completed","Confirmed","Arrived","NoShow","Cancelled","LateCancelled"],"type":"string"},"StartDateTime":{"format":"date-time","description":"The date and time the appointment is to start.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the appointment is to end.","type":"string"},"Notes":{"description":"Any notes associated with the appointment.","type":"string"},"StaffRequested":{"description":"When `true`, indicates that the staff member was requested specifically by the client.","type":"boolean"},"ProgramId":{"format":"int32","description":"The ID of the program to which this appointment belongs.","type":"integer"},"SessionTypeId":{"format":"int32","description":"The ID of the session type of this appointment.","type":"integer"},"LocationId":{"format":"int32","description":"The ID of the location where this appointment is to take place.","type":"integer"},"StaffId":{"format":"int64","description":"The ID of the staff member providing the service for this appointment.","type":"integer"},"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.AppointmentStaff","description":"Staff for the appointment."},"ClientId":{"description":"The RSSID of the client who is booked for this appointment.","type":"string"},"FirstAppointment":{"description":"When `true`, indicates that this is the client's first appointment at this site.","type":"boolean"},"IsWaitlist":{"description":"When `true`, indicates that the client should be added to a specific appointment waiting list.\r\nWhen `false`, the client should not be added to the waiting list.\r\nDefault: *false*","type":"boolean"},"WaitlistEntryId":{"format":"int64","description":"The unique ID of the appointment waitlist.","type":"integer"},"ClientServiceId":{"format":"int64","description":"The ID of the pass on the client's account that is to pay for this appointment.","type":"integer"},"Resources":{"description":"The resources this appointment is to use.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ResourceSlim"}},"AddOns":{"description":"Any AddOns associated with the appointment.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AddOnSmall"}},"OnlineDescription":{"description":"Online Description associated with the appointment.","type":"string"},"PreparationTime":{"format":"int32","description":"The preparation time in minutes.","type":"integer"},"FinishTime":{"format":"int32","description":"The finish time in minutes.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.UpdateAppointmentRequest":{"title":"UpdateAppointmentRequest","required":["AppointmentId"],"type":"object","properties":{"AppointmentId":{"format":"int64","description":"A unique ID for the appointment.","type":"integer"},"EndDateTime":{"format":"date-time","description":"The end date and time of the new appointment. \r\n<br />Default: **StartDateTime**, offset by the staff member’s default appointment duration.","type":"string"},"Execute":{"description":"The action taken to add this appointment. Possible values are: confirm, unconfirm, arrive, unarrive, cancel, latecancel, complete.","type":"string"},"GenderPreference":{"description":"The client’s service provider gender preference.","type":"string"},"Notes":{"description":"Any general notes about this appointment.","type":"string"},"PartnerExternalId":{"description":"Optional external key for api partners.","type":"string"},"ProviderId":{"description":"If a user has Complementary and Alternative Medicine features enabled, this parameter assigns a provider ID to the appointment.","type":"string"},"ResourceIds":{"description":"A list of resource IDs to associate with the new appointment.","type":"array","items":{"format":"int32","type":"integer"}},"SendEmail":{"description":"Whether to send client an email for cancellations. An email is sent only if the client has an email address and automatic emails have been set up. \r\n<br />Default: **false**","type":"boolean"},"SessionTypeId":{"format":"int32","description":"The session type associated with the new appointment.","type":"integer"},"StaffId":{"format":"int64","description":"The ID of the staff member who is adding the new appointment.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The start date and time of the new appointment.","type":"string"},"ApplyPayment":{"description":"When `true`, appointment will be updated with a current applicable client service from the clients account. \r\n<br />Default: **false**","type":"boolean"},"Test":{"description":"When `true`, indicates that the method is to be validated, but no new appointment data is added. \r\n<br />Default: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.UpdateAppointmentResponse":{"title":"UpdateAppointmentResponse","type":"object","properties":{"Appointment":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Appointment","description":"Contains information about the appointment."}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetAvailableDatesRequest":{"title":"GetAvailableDatesRequest","required":["SessionTypeId"],"type":"object","properties":{"SessionTypeId":{"format":"int32","description":"required requested session type ID.","type":"integer"},"LocationId":{"format":"int32","description":"optional requested location ID.","type":"integer"},"StaffId":{"format":"int64","description":"optional requested staff ID.","type":"integer"},"StartDate":{"format":"date-time","description":"The start date of the requested date range. If omitted, the default is used.\r\n<br />Default: **today’s date**","type":"string"},"EndDate":{"format":"date-time","description":"The end date of the requested date range. \r\n<br />Default: **StartDate**","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetAvailableDatesResponse":{"title":"GetAvailableDatesResponse","description":"","type":"object","properties":{"AvailableDates":{"description":"A list of dates where scheduled appointment availability was found after applying request filters.","type":"array","items":{"format":"date-time","type":"string"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetBookableItemsRequest":{"title":"GetBookableItemsRequest","required":["SessionTypeIds"],"type":"object","properties":{"SessionTypeIds":{"description":"A list of the requested session type IDs.","type":"array","items":{"format":"int32","type":"integer"}},"LocationIds":{"description":"A list of the requested location IDs.","type":"array","items":{"format":"int32","type":"integer"}},"StaffIds":{"description":"A list of the requested staff IDs. Omit parameter to return all staff availabilities.","type":"array","items":{"format":"int64","type":"integer"}},"StartDate":{"format":"date-time","description":"The start date of the requested date range. \r\n<br />Default: **today’s date**","type":"string"},"EndDate":{"format":"date-time","description":"The end date of the requested date range. \r\n<br />Default: **StartDate**","type":"string"},"AppointmentId":{"format":"int64","description":"If provided, filters out the appointment with this ID.","type":"integer"},"IgnoreDefaultSessionLength":{"description":"When `true`, availabilities that are non-default return, for example, a 30-minute availability with a 60-minute default session length.<br />\r\nWhen `false`, only availabilities that have the default session length return.","type":"boolean"},"IncludeResourceAvailability":{"description":"When `true`, resource availabilities for the session type are returned.<br />\r\nWhen `false`, resource availabilities are not returned default.","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetBookableItemsResponse":{"title":"GetBookableItemsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Availabilities":{"description":"Contains information about the availabilities for appointment booking.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Availability"}}}},"Mindbody.PublicApi.Dto.Models.V6.PaginationResponse":{"title":"PaginationResponse","description":"Contains information about the pagination to use.","type":"object","properties":{"RequestedLimit":{"format":"int32","description":"Limit from pagination request","type":"integer"},"RequestedOffset":{"format":"int32","description":"Offset from pagination request","type":"integer"},"PageSize":{"format":"int32","description":"Number of results returned in this response","type":"integer"},"TotalResults":{"format":"int32","description":"Total number of results in dataset","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.Availability":{"title":"Availability","description":"A staff availability entry","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the availability.","type":"integer"},"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Contains information about staff members."},"SessionType":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SessionType","description":"Contains information about the types of sessions."},"Programs":{"description":"Contains information about the programs.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Program"}},"StartDateTime":{"format":"date-time","description":"The date and time the availability starts in the site local time zone.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the availability ends in the site local time zone.","type":"string"},"BookableEndDateTime":{"format":"date-time","description":"The time of day that the last appointment can start in the site local time zone.","type":"string"},"Location":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location","description":"Contains information about the location."},"PrepTime":{"format":"int32","description":"Prep time in minutes","type":"integer"},"FinishTime":{"format":"int32","description":"Finish time in minutes","type":"integer"},"IsMasked":{"description":"When `true`, indicates that the staff member's name for availabilty is masked.\r\nWhen `false`, indicates that the staff member's name for availabilty is not masked.","type":"boolean","readOnly":true},"ShowPublic":{"description":"When `true`, indicates that the schedule is shown to the clients.\r\nWhen `false`, indicates that the schedule is hidden from the clients.","type":"boolean","readOnly":true},"ResourceAvailabilities":{"description":"Contains information about resources availability for the specified session type.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ResourceAvailability"}}}},"Mindbody.PublicApi.Dto.Models.V6.Staff":{"title":"Staff","description":"The Staff","type":"object","properties":{"Address":{"description":"The address of the staff member who is teaching the class.","type":"string"},"AppointmentInstructor":{"description":"When `true`, indicates that the staff member offers appointments.<br />\r\nWhen `false`, indicates that the staff member does not offer appointments.","type":"boolean"},"AlwaysAllowDoubleBooking":{"description":"When `true`, indicates that the staff member can be scheduled for overlapping services.<br />\r\nWhen `false`, indicates that the staff can only be scheduled for one service at a time in any given time-frame.","type":"boolean"},"Bio":{"description":"The staff member’s biography. This string contains HTML.","type":"string"},"City":{"description":"The staff member’s city.","type":"string"},"Country":{"description":"The staff member’s country.","type":"string"},"Email":{"description":"The staff member’s email address.","type":"string"},"FirstName":{"description":"The staff member’s first name.","type":"string"},"DisplayName":{"description":"The staff member’s Nickname.","type":"string"},"HomePhone":{"description":"The staff member’s home phone number.","type":"string"},"Id":{"format":"int64","description":"The ID assigned to the staff member.","type":"integer"},"IndependentContractor":{"description":"When `true`, indicates that the staff member is an independent contractor.\r\nWhen `false`, indicates that the staff member is not an independent contractor.","type":"boolean"},"IsMale":{"description":"When `true`, indicates that the staff member is male.\r\nWhen `false`, indicates that the staff member is female.","type":"boolean"},"LastName":{"description":"The staff member’s last name.","type":"string"},"MobilePhone":{"description":"The staff member’s mobile phone number.","type":"string"},"Name":{"description":"The staff member’s name.","type":"string"},"PostalCode":{"description":"The staff member’s postal code.","type":"string"},"ClassTeacher":{"description":"When `true`, indicates that the staff member can teach classes.\r\nWhen `false`, indicates that the staff member cannot teach classes.","type":"boolean"},"SortOrder":{"format":"int32","description":"If configured by the business owner, this field determines a staff member’s weight when sorting. Use this field to sort staff members on your interface.","type":"integer"},"State":{"description":"The staff member’s state.","type":"string"},"WorkPhone":{"description":"The staff member’s work phone number.","type":"string"},"ImageUrl":{"description":"The URL of the staff member’s image, if one has been uploaded.","type":"string"},"ClassAssistant":{"description":"Is the staff an assistant","type":"boolean"},"ClassAssistant2":{"description":"Is the staff an assistant2","type":"boolean"},"EmploymentStart":{"format":"date-time","description":"The start date of employment","type":"string"},"EmploymentEnd":{"format":"date-time","description":"The end date of employment","type":"string"},"ProviderIDs":{"description":"A list of ProviderIds for the staff.","type":"array","items":{"type":"string"}},"Rep":{"description":"return true if staff is sales Rep 1 else false.","type":"boolean"},"Rep2":{"description":"return true if staff is sales Rep 2 else false.","type":"boolean"},"Rep3":{"description":"return true if staff is sales Rep 3 else false.","type":"boolean"},"Rep4":{"description":"return true if staff is sales Rep 4 else false.","type":"boolean"},"Rep5":{"description":"return true if staff is sales Rep 5 else false.","type":"boolean"},"Rep6":{"description":"return true if staff is sales Rep 6 else false.","type":"boolean"},"StaffSettings":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffSetting","description":"This object contains the staff settings."},"Appointments":{"description":"A list of appointments for the staff.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Appointment"}},"Unavailabilities":{"description":"A list of unavailabilities for the staff.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Unavailability"}},"Availabilities":{"description":"A list of availabilities for the staff.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Availability"}},"EmpID":{"description":"The EmpID assigned to the staff member.","type":"string"},"DefaultClassPayRate":{"format":"int32","description":"The staff member’s default class pay rate (payscale) ID.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SessionType":{"title":"SessionType","description":"SessionType contains information about the session types in a business.","type":"object","properties":{"Type":{"description":"Contains the class description session type. Possible values are:\r\n* All\r\n* Class\r\n* Enrollment\r\n* Appointment\r\n* Resource\r\n* Media\r\n* Arrival","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"},"DefaultTimeLength":{"format":"int32","description":"The default amount of time that a session of this type typically lasts.","type":"integer"},"StaffTimeLength":{"format":"int32","description":"The amount of time that a session of this type will last for a specific Staff (when applicable.)","type":"integer"},"Id":{"format":"int32","description":"This session type’s unique ID.","type":"integer"},"Name":{"description":"The name of this session type.","type":"string"},"OnlineDescription":{"description":"The online description associated with the appointment.","type":"string"},"NumDeducted":{"format":"int32","description":"The number of sessions that this session type deducts from the pricing option used to pay for this type of session.","type":"integer"},"ProgramId":{"format":"int32","description":"This session type’s service category ID.","type":"integer"},"Category":{"description":"This session type’s category.","type":"string"},"CategoryId":{"format":"int32","description":"This session type’s category ID.","type":"integer"},"Subcategory":{"description":"This session type’s subcategory.","type":"string"},"SubcategoryId":{"format":"int32","description":"This session type’s subcategory ID.","type":"integer"},"AvailableForAddOn":{"description":"This session type’s Add On Flag.","type":"boolean"},"ResourceRequired":{"description":"When true, this session type requires a resource to be booked.\r\nOnly relevant when the site has resource booking enabled (see GET /appointment/appointmentoptions, UseResourcesForAppointments).","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.Program":{"title":"Program","type":"object","properties":{"Id":{"format":"int32","description":"The service category’s ID.","type":"integer"},"Name":{"description":"The name of this service category.","type":"string"},"ScheduleType":{"description":"The service category’s schedule type. Possible values are:\r\n* All\r\n* Class\r\n* Enrollment\r\n* Appointment\r\n* Resource\r\n* Arrival","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"},"CancelOffset":{"format":"int32","description":"The offset to use for the service category.","type":"integer"},"ContentFormats":{"description":"The content delivery platform(s) used by the service category. Possible values are:\r\n* InPerson\r\n* Livestream:Mindbody\r\n* Livestream:Other","type":"array","items":{"type":"string"}},"PricingRelationships":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PricingRelationships","description":"Pricing relationships"}}},"Mindbody.PublicApi.Dto.Models.V6.Location":{"title":"Location","type":"object","properties":{"AdditionalImageURLs":{"description":"A list of URLs of any images associated with this location.","type":"array","items":{"type":"string"}},"Address":{"description":"The first line of the location’s street address.","type":"string"},"Address2":{"description":"A second address line for the location’s street address, if needed.","type":"string"},"Amenities":{"description":"A list of strings representing amenities available at the location.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Amenity"}},"BusinessDescription":{"description":"The business description for the location, as configured by the business owner.","type":"string"},"City":{"description":"The location’s city.","type":"string"},"Description":{"description":"A description of the location.","type":"string"},"HasClasses":{"description":"When `true`, indicates that classes are held at this location.<br />\r\nWhen `false`, Indicates that classes are not held at this location.","type":"boolean"},"Id":{"format":"int32","description":"The ID assigned to this location.","type":"integer"},"Latitude":{"format":"double","description":"The location’s latitude.","type":"number"},"Longitude":{"format":"double","description":"The location’s longitude.","type":"number"},"Name":{"description":"The name of this location.","type":"string"},"Phone":{"description":"The location’s phone number.","type":"string"},"PhoneExtension":{"description":"The location’s phone extension.","type":"string"},"PostalCode":{"description":"The location’s postal code.","type":"string"},"SiteID":{"format":"int32","description":"The ID number assigned to this location.","type":"integer"},"StateProvCode":{"description":"The location’s state or province code.","type":"string"},"Tax1":{"format":"float","description":"A decimal representation of the location’s first tax rate. Tax properties are provided to apply all taxes to the purchase price that the purchase is subject to. Use as many tax properties as needed to represent all the taxes that apply in the location. Enter a decimal number that represents the appropriate tax rate. For example, for an 8% sales tax, enter 0.08.","type":"number"},"Tax2":{"format":"float","description":"A decimal representation of the location’s second tax rate. See the example in the description of Tax1.","type":"number"},"Tax3":{"format":"float","description":"A decimal representation of the location’s third tax rate. See the example in the description of Tax1.","type":"number"},"Tax4":{"format":"float","description":"A decimal representation of the location’s fourth tax rate. See the example in the description of Tax1.","type":"number"},"Tax5":{"format":"float","description":"A decimal representation of the location’s fifth tax rate. See the example in the description of Tax1.","type":"number"},"TotalNumberOfRatings":{"format":"int32","description":"The number of reviews that clients have left for this location.","type":"integer"},"AverageRating":{"format":"double","description":"The average rating for the location, out of five stars.","type":"number"},"TotalNumberOfDeals":{"format":"int64","description":"The number of distinct introductory pricing options available for purchase at this location.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ResourceAvailability":{"title":"ResourceAvailability","description":"An availability of a resource","type":"object","properties":{"ResourceId":{"format":"int32","description":"Id","type":"integer"},"StartDateTime":{"format":"date-time","description":"Starts","type":"string"},"EndDateTime":{"format":"date-time","description":"Ends","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffSetting":{"title":"StaffSetting","description":"contains the information about the staff settings.","type":"object","properties":{"UseStaffNicknames":{"description":"When `true`, `DisplayName` of the staff will be displayed.\r\nWhen `false`, `DisplayName` will be displayed as null.","type":"boolean"},"ShowStaffLastNamesOnSchedules":{"description":"When `true`, indicates that the Name contains both the `FirstName` and `LastName` of the staff.\r\nWhen `false`, indicates that the Name contains only the `FirstName` of the staff.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.Unavailability":{"title":"Unavailability","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the unavailability.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The date and time the unavailability starts.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the unavailability ends.","type":"string"},"Description":{"description":"A description of the unavailability.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.PricingRelationships":{"title":"PricingRelationships","type":"object","properties":{"PaysFor":{"type":"array","items":{"format":"int32","type":"integer"}},"PaidBy":{"type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.Amenity":{"title":"Amenity","description":"Definition of a location amenity","type":"object","properties":{"Id":{"format":"int32","description":"The ID number of the amenity.","type":"integer"},"Name":{"description":"The name of the amenity, for example, food or lockers.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetActiveSessionTimesRequest":{"title":"GetActiveSessionTimesRequest","type":"object","properties":{"ScheduleType":{"description":"Filters on the provided the schedule type. Either `SessionTypeIds` or `ScheduleType` must be provided.","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"},"SessionTypeIds":{"description":"Filters on the provided session type IDs. Either `SessionTypeIds` or `ScheduleType` must be provided.","type":"array","items":{"format":"int32","type":"integer"}},"StartTime":{"format":"date-time","description":"Filters results to times that start on or after this time on the current date. Any date provided is ignored.\r\n<br />Default: **00:00:00**","type":"string"},"EndTime":{"format":"date-time","description":"Filters results to times that end on or before this time on the current date. Any date provided is ignored..\r\n<br />Default: **23:59:59**","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetActiveSessionTimesResponse":{"title":"GetActiveSessionTimesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ActiveSessionTimes":{"description":"List of available start times for active sessions. Note the following:\r\n* The times returned represent possibilities for scheduling a session, not necessarily currently scheduled sessions.\r\n* The response includes either all schedule types or those filtered by supplying `ScheduleType` or `SessionTypeIds`.\r\n* Each session has an associated schedule type, but when you supply `SessionTypeIds`, they may map to one or more of the schedule types.","type":"array","items":{"type":"string"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetScheduleItemsRequest":{"title":"GetScheduleItemsRequest","type":"object","properties":{"LocationIds":{"description":"A list of requested location IDs.","type":"array","items":{"format":"int32","type":"integer"}},"StaffIds":{"description":"A list of requested staff IDs.","type":"array","items":{"format":"int64","type":"integer"}},"StartDate":{"format":"date-time","description":"The start date of the requested date range. \r\n<br />Default: **today’s date**","type":"string"},"EndDate":{"format":"date-time","description":"The end date of the requested date range. \r\n<br />Default: **today’s date**","type":"string"},"IgnorePrepFinishTimes":{"description":"When `true`, appointment preparation and finish unavailabilities are not returned. \r\n<br />Default: **false**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetScheduleItemsResponse":{"title":"GetScheduleItemsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"StaffMembers":{"description":"Contains information about staff members with schedule items.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetAppointmentOptionsResponse":{"title":"GetAppointmentOptionsResponse","type":"object","properties":{"Options":{"description":"Contains information about the appointment options.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentOption"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentOption":{"title":"AppointmentOption","description":"An appointment option name/value pair","type":"object","properties":{"DisplayName":{"description":"The name displayed for this appointment option.","type":"string"},"Name":{"description":"The name given to this option.","type":"string"},"Value":{"description":"The value of the option.","type":"string"},"Type":{"description":"The data type of the option value.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetStaffAppointmentsRequest":{"title":"GetStaffAppointmentsRequest","type":"object","properties":{"AppointmentIds":{"description":"A list of the requested appointment IDs.","type":"array","items":{"format":"int32","type":"integer"}},"LocationIds":{"description":"A list of the requested location IDs.","type":"array","items":{"format":"int32","type":"integer"}},"StartDate":{"format":"date-time","description":"The start date of the requested date range. If omitted, the default is used. \r\n<br />Default: **today's date**","type":"string"},"EndDate":{"format":"date-time","description":"The end date of the requested date range. \r\n<br />Default: **StartDate**","type":"string"},"StaffIds":{"description":"List of staff IDs to be returned. Omit parameter to return staff appointments for all staff.","type":"array","items":{"format":"int64","type":"integer"}},"ClientId":{"description":"The client ID to be returned.","type":"string"},"UseSiteSettingsStaffName":{"description":"When `true`, the staff DisplayName will be populated based on site-level settings.\r\nWhen `false` or omitted, the staff DisplayName will contain only the FirstName.","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetStaffAppointmentsResponse":{"title":"GetStaffAppointmentsResponse","description":"Get Staff Appointments Response Model","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Appointments":{"description":"Contains information about appointments and their details.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Appointment"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetAddOnsRequest":{"title":"GetAddOnsRequest","type":"object","properties":{"StaffId":{"format":"int32","description":"Filter to add-ons only performed by this staff member.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetAddOnsResponse":{"title":"GetAddOnsResponse","description":"Get AddOns Response Model","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"AddOns":{"description":"A list of available add-ons.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AppointmentAddOn"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentAddOn":{"title":"AppointmentAddOn","type":"object","properties":{"Id":{"format":"int32","description":"The ID of this add-on.","type":"integer"},"Name":{"description":"The name of this add-on.","type":"string"},"NumDeducted":{"format":"int32","description":"The number of sessions that this add-on deducts from the pricing option used to pay for this add-on.","type":"integer"},"CategoryId":{"format":"int32","description":"This ID of this add-on’s category.","type":"integer"},"Category":{"description":"The name of this add-on’s category.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentAddOnRequest":{"title":"AddAppointmentAddOnRequest","description":"Creates an add-on for an appointment","type":"object","properties":{"ApplyPayment":{"description":"When `true`, indicates that a payment should be applied to the appointment. Currently only ApplyPayment=false is implemented.\r\nDefault: **true**","type":"boolean"},"AppointmentId":{"format":"int64","description":"The appointment ID the add-on is getting added to.","type":"integer"},"SessionTypeId":{"format":"int32","description":"The session type associated with the new appointment add-on.","type":"integer"},"StaffId":{"format":"int64","description":"The ID of the staff member who is adding the new appointment add-on.\r\nDefault: staff member performing the appointment.","type":"integer"},"Test":{"description":"When `true`, indicates that the method is to be validated, but no new appointment add-on data is added.\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAppointmentAddOnResponse":{"title":"AddAppointmentAddOnResponse","type":"object","properties":{"AppointmentId":{"format":"int64","description":"This is the id of the main appointment we added on to","type":"integer"},"AddOnAppointmentId":{"format":"int64","description":"This is the id for the newly created add-on appointment","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveFromWaitlistRequest":{"title":"RemoveFromWaitlistRequest","required":["WaitlistEntryIds"],"type":"object","properties":{"WaitlistEntryIds":{"description":"A list of `WaitlistEntryIds` to remove from the waiting list.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.UpdateAvailabilityRequest":{"title":"UpdateAvailabilityRequest","description":"This is the update avaialability request coming DTO","type":"object","properties":{"AvailabilityIds":{"description":"Unique IDs for the availabilities or unavailabilities.","type":"array","items":{"format":"int32","type":"integer"}},"PublicDisplay":{"description":"Choice that decides whether the availablity should be publicly visible, masked or hidden.","enum":["Hide","Show","Mask"],"type":"string"},"DaysOfWeek":{"description":"The days of week to update the availabilities or unavailabilities.<br />\r\nDefault: **All**","type":"array","items":{"enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"type":"string"}},"ProgramIds":{"description":"The program Id to be set for the availabilities.\r\nDefault: **All**","type":"array","items":{"format":"int32","type":"integer"}},"StartDateTime":{"format":"date-time","description":"The start date and time for the availabilities or unavailabilities.","type":"string"},"EndDateTime":{"format":"date-time","description":"The end date and time for the availabilities or unavailabilities.","type":"string"},"LocationId":{"format":"int32","description":"The location Id to be updated for the provided availability Ids.","type":"integer"},"UnavailableDescription":{"description":"The description for unavailability.","type":"string"},"Test":{"description":"When `true`, the request ensures that its parameters are valid without affecting real data.\r\nWhen ``false`, the request performs as intended and may affect live client data.\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.UpdateAvailabilityResponse":{"title":"UpdateAvailabilityResponse","description":"This is the update avaialability response","type":"object","properties":{"StaffMembers":{"description":"This is the success list of the trainer availability","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff"}},"Errors":{"type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ApiError"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAvailabilitiesRequest":{"title":"AddAvailabilitiesRequest","type":"object","properties":{"Test":{"description":"When `true`, the request ensures that its parameters are valid without affecting real data.\r\nWhen `false`, the request performs as intended and may affect live client data.\r\n(optional) Defaults to false.","type":"boolean"},"LocationID":{"format":"int32","description":"Location of availability.\r\n<br />Not used when IsUnavailable is `true`.","type":"integer"},"StaffIDs":{"description":"A list of requested staff IDs.<br />\r\n(optional) Defaults to staff ID of user credentials. Use 0 for all.","type":"array","items":{"format":"int64","type":"integer"}},"ProgramIDs":{"description":"A list of program IDs.<br />\r\n(optional) Defaults to all.\r\n<br />Not used when IsUnavailable is true.","type":"array","items":{"format":"int32","type":"integer"}},"StartDateTime":{"format":"date-time","description":"The start date and time of the new availabilities or unavailabilities.","type":"string"},"EndDateTime":{"format":"date-time","description":"The end date and time of the new availabilities or unavailabilities.","type":"string"},"DaysOfWeek":{"description":"The days of the week to set.<br />\r\n(optional) Defaults to all.","type":"array","items":{"enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"type":"string"}},"UnavailableDescription":{"description":"Description of unavalability.\r\n<br />Only used when IsUnavailable is true.","type":"string"},"IsUnavailable":{"description":"When `true`, indicates that unavailability is getting added. When `false`, indicates that availability is getting added.\r\nDefault: **false**","type":"boolean"},"PublicDisplay":{"description":"Sets the public display of the availability.<br /><ul><li>Show</li><li>Mask</li><li>Hide</li></ul>\r\n(optional) Defaults to Show.","enum":["Hide","Show","Mask"],"type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.AddAvailabilitiesResponse":{"title":"AddAvailabilitiesResponse","description":"Add Availabilities Response Model","type":"object","properties":{"StaffMembers":{"description":"Contains information about the staff.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Staff"}},"Errors":{"description":"Contains information about the error.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.ApiError"}}}},"Mindbody.PublicApi.Common.Models.Staff":{"title":"Staff","type":"object","properties":{"Id":{"format":"int64","description":"The ID assigned to the staff member.","type":"integer"},"FirstName":{"description":"The staff member’s first name.","type":"string"},"LastName":{"description":"The staff member’s last name.","type":"string"},"DisplayName":{"description":"The display name of the staff member.","type":"string"},"Email":{"description":"The staff member’s email address.","type":"string"},"Bio":{"description":"The staff member’s biography. This string contains HTML.","type":"string"},"Address":{"description":"The address of the staff member who is teaching the class.","type":"string"},"Address2":{"description":"The address2 of the staff member who is teaching the class.","type":"string"},"City":{"description":"The staff member’s city.","type":"string"},"State":{"description":"The staff member’s state.","type":"string"},"PostalCode":{"description":"The staff member’s postal code.","type":"string"},"ForeignZip":{"description":"The staff member’s Foreign Zip code.","type":"string"},"Country":{"description":"The staff member’s country.","type":"string"},"WorkPhone":{"description":"The staff member’s work phone number.","type":"string"},"HomePhone":{"description":"The staff member’s home phone number.","type":"string"},"CellPhone":{"description":"The staff member’s mobile phone number.","type":"string"},"Active":{"description":"When `true`, indicates that the staff member is Active.\r\nWhen `false`, indicates that the staff member is not Active.","type":"boolean"},"IsSystem":{"description":"When `true`, indicates that the staff member is a system .\r\nWhen `false`, indicates that the staff member is not system.","type":"boolean"},"SmodeId":{"format":"int32","description":"The Staff's Smode Id","type":"integer"},"AppointmentTrn":{"description":"When `true`, indicates that the staff member offers appointments.\r\nWhen `false`, indicates that the staff member does not offer appointments.","type":"boolean"},"AlwaysAllowDoubleBooking":{"description":"When `true`, indicates that the staff member can be scheduled for overlapping services.\r\nWhen `false`, indicates that the staff can only be scheduled for one service at a time in any given time-frame.","type":"boolean"},"IndependentContractor":{"description":"When `true`, indicates that the staff member is an independent contractor.\r\nWhen `false`, indicates that the staff member is not an independent contractor.","type":"boolean"},"ImageUrl":{"description":"The URL of the staff member’s image, if one has been uploaded.","type":"string"},"IsMale":{"description":"When `true`, indicates that the staff member is male.\r\nWhen `false`, indicates that the staff member is female.","type":"boolean"},"ReservationTrn":{"description":"When `true`, indicates that the staff member offers Reservation.\r\nWhen `false`, indicates that the staff member does not offer Reservation.","type":"boolean"},"SortOrder":{"format":"int32","description":"If configured by the business owner, this field determines a staff member’s weight when sorting. Use this field to sort staff members on your interface.","type":"integer"},"MultiLocationPermission":{"description":"When `true`, indicates that the staff member has Multi Location Permission.\r\nWhen `false`, indicates that the staff member does not has Multi Location Permission.","type":"boolean"},"Name":{"description":"The staff member’s name.","type":"string"},"ProviderIDs":{"description":"A list of ProviderIds for the staff.","type":"array","items":{"type":"string"}},"StaffSettings":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.StaffSetting","description":"This object contains the staff settings."},"Rep":{"description":"When `true`, indicates that the staff is sales Rep 1 else `false`.","type":"boolean"},"Rep2":{"description":"When `true`, indicates that the staff is sales Rep 2 else `false`.","type":"boolean"},"Rep3":{"description":"When `true`, indicates that the staff is sales Rep 3 else `false`.","type":"boolean"},"Rep4":{"description":"When `true`, indicates that the staff is sales Rep 4 else `false`.","type":"boolean"},"Rep5":{"description":"When `true`, indicates that the staff is sales Rep 5 else `false`.","type":"boolean"},"Rep6":{"description":"When `true`, indicates that the staff is sales Rep 6 else `false`.","type":"boolean"},"Assistant":{"description":"When `true`, indicates that the staff is assistant.\r\nWhen `false`, indicates that the staff is not assistant.","type":"boolean"},"Assistant2":{"description":"When `true`, indicates that the staff is assistant2.\r\nWhen `false`, indicates that the staff is not assistant2.","type":"boolean"},"EmploymentStart":{"format":"date-time","description":"The start date of employment.","type":"string"},"EmploymentEnd":{"format":"date-time","description":"The end date of employment.","type":"string"},"EmpID":{"description":"The custom staff ID assigned to the staff member.","type":"string"},"DefaultClassPayRate":{"format":"int32","description":"The staff member’s default class pay rate (payscale) ID from tblPayRates.InstructorDefault1Rate.","type":"integer"},"Appointments":{"description":"A list of appointments for the staff.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Appointment"}},"Unavailabilities":{"description":"A list of unavailabilities for the staff.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Unavailability"}},"Availabilities":{"description":"A list of availabilities for the staff.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Availability"}},"LoginLocations":{"description":"A list of LoginLocations for the staff","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Location"}}}},"Mindbody.PublicApi.Common.Models.ApiError":{"title":"ApiError","type":"object","properties":{"Message":{"description":"The text of the message. Each message is specific to the error that caused it.\r\nFor example, if the the error type is `InvalidFileFormat`, \r\nthe message could say \"The photo you attempted to upload is not a supported file type.\"","type":"string"},"Code":{"description":"The type of error that occurred, for example, `ClientNotFound` or `InvalidClassId`.","type":"string"},"ReasonCode":{"description":"An optional reason code that provides additional context for the error.\r\nFor example, when Code is \"ClassRequiresPayment\", ReasonCode may be \"UnpaidLimitExceeded\"\r\nto indicate the booking failed because the client exceeded their unpaid booking limit.\r\nThis field is only present for specific error scenarios and should be safely ignored\r\nif not recognized by the client.","type":"string"}}},"Mindbody.PublicApi.Common.Models.StaffSetting":{"title":"StaffSetting","description":"contains the information about the staff settings.","type":"object","properties":{"UseStaffNicknames":{"description":"When `true`, `DisplayName` of the staff will be displayed.\r\nWhen `false`, `DisplayName` will be displayed as null.","type":"boolean"},"ShowStaffLastNamesOnSchedules":{"description":"When `true`, indicates that the Name contains both the `FirstName` and `LastName` of the staff.\r\nWhen `false`, indicates that the Name contains only the `FirstName` of the staff.","type":"boolean"}}},"Mindbody.PublicApi.Common.Models.Appointment":{"title":"Appointment","description":"An appointment","type":"object","properties":{"GenderPreference":{"description":"Prefered gender of appointment.","type":"string"},"Duration":{"format":"int32","description":"Duration of appointment.","type":"integer"},"ProviderId":{"description":"If a user has Complementary and Alternative Medicine features enabled,\r\nthis will allow a Provider ID to be assigned to an appointment.","type":"string"},"Id":{"format":"int64","description":"The unique ID of the appointment.","type":"integer"},"Status":{"description":"The status of this appointment.","enum":["Booked","Completed","Confirmed","Arrived","NoShow","Cancelled","LateCancelled"],"type":"string"},"StartDateTime":{"format":"date-time","description":"The date and time the appointment will start.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the appointment will end.","type":"string"},"Notes":{"description":"The appointment notes.","type":"string"},"PartnerExternalId":{"description":"Optional external key for api partners.","type":"string"},"StaffRequested":{"description":"Whether the staff member was requested specifically by the client.","type":"boolean"},"ProgramId":{"format":"int32","description":"The ID of the program this appointment belongs to.","type":"integer"},"WaitlistEntryId":{"format":"int64","description":"The ID of the appointment waitlist.","type":"integer"},"SessionTypeId":{"format":"int32","description":"The ID of the session type of this appointment.","type":"integer"},"LocationId":{"format":"int32","description":"The ID of the location where this appointment will take place.","type":"integer"},"StaffId":{"format":"int64","description":"The ID of the staff member instructing this appointment.","type":"integer"},"ClientId":{"description":"The RSSID of the client booked for this appointment.","type":"string"},"FirstAppointment":{"description":"Whether this is the client's first appointment at the site.","type":"boolean"},"ClientServiceId":{"format":"int64","description":"The ID of the pass on the client's account that is paying for this appointment.","type":"integer"},"Resources":{"description":"The resources this appointment is using.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Resource"}},"AddOns":{"description":"The Add-Ons Associated with this appointment","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.AddOnSmall"}},"IsWaitlist":{"description":"Whether to add appointment to waitlist.","type":"boolean"},"OnlineDescription":{"description":"Online Description associated with the appointment","type":"string"}}},"Mindbody.PublicApi.Common.Models.Unavailability":{"title":"Unavailability","type":"object","properties":{"Id":{"format":"int32","description":"Unavailabiltity ID.","type":"integer"},"StartDateTime":{"format":"date-time","description":"Start of the unavailability.","type":"string"},"EndDateTime":{"format":"date-time","description":"End of the unavailability.","type":"string"},"Description":{"description":"Description of the unavailability.","type":"string"}}},"Mindbody.PublicApi.Common.Models.Availability":{"title":"Availability","description":"The availability of a specific staff","type":"object","properties":{"Id":{"format":"int32","description":"Id of the availability","type":"integer"},"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Staff","description":"Availabilities staff."},"SessionType":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.SessionType","description":"Availabilities session type."},"Programs":{"description":"Availabilities program list.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Program"}},"StartDateTime":{"format":"date-time","description":"Availabilities start date and time.","type":"string"},"EndDateTime":{"format":"date-time","description":"Availabilities end date and time.","type":"string"},"BookableEndDateTime":{"format":"date-time","description":"Availabilities bookable end date and time.","type":"string"},"Location":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Location","description":"Availabilities location."},"PrepTime":{"format":"int32","description":"Appointment prep time","type":"integer"},"FinishTime":{"format":"int32","description":"Appointment finish time","type":"integer"},"IsMasked":{"type":"boolean"},"ShowPublic":{"type":"boolean"},"ResourceAvailabilities":{"description":"List of resource availabilities that can be booked with this session type.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.ResourceAvailability"}}}},"Mindbody.PublicApi.Common.Models.Location":{"title":"Location","type":"object","properties":{"BusinessId":{"format":"int32","type":"integer"},"SiteId":{"format":"int32","type":"integer"},"BusinessDescription":{"type":"string"},"AdditionalImageURLs":{"type":"array","items":{"type":"string"}},"FacilitySquareFeet":{"format":"int32","type":"integer"},"ProSpaFinderSite":{"type":"boolean"},"HasClasses":{"type":"boolean"},"PhoneExtension":{"type":"string"},"Action":{"enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"Id":{"format":"int32","type":"integer"},"Name":{"type":"string"},"Address":{"type":"string"},"Address2":{"type":"string"},"Tax1":{"format":"float","type":"number"},"Tax2":{"format":"float","type":"number"},"Tax3":{"format":"float","type":"number"},"Tax4":{"format":"float","type":"number"},"Tax5":{"format":"float","type":"number"},"Phone":{"type":"string"},"City":{"type":"string"},"StateProvCode":{"type":"string"},"PostalCode":{"type":"string"},"Latitude":{"format":"double","type":"number"},"Longitude":{"format":"double","type":"number"},"DistanceInMiles":{"format":"double","type":"number"},"ImageURL":{"type":"string"},"Description":{"type":"string"},"HasSite":{"type":"boolean"},"CanBook":{"type":"boolean"},"NumberTreatmentRooms":{"format":"int32","type":"integer"},"Active":{"type":"boolean"},"InvActive":{"type":"boolean"},"WsShow":{"type":"boolean"},"Email":{"type":"string"},"ContactName":{"type":"string"},"ShipAddress":{"type":"string"},"ShipState":{"type":"string"},"ShipPostal":{"type":"string"},"ShipPhone":{"type":"string"},"ShipPOC":{"type":"string"},"TaxGrouping":{"type":"boolean"},"LabelTax1":{"type":"string"},"LabelTax2":{"type":"string"},"LabelTax3":{"type":"string"},"LabelTax4":{"type":"string"},"LabelTax5":{"type":"string"},"WAC":{"type":"boolean"},"ShipAddress2":{"type":"string"},"MasterLocId":{"format":"int32","type":"integer"},"StreetAddress":{"type":"string"},"Country":{"type":"string"},"Ext":{"type":"string"},"Amenities":{"type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Amenity"}},"TotalNumberOfDeals":{"format":"int64","type":"integer"},"TotalNumberOfRatings":{"format":"int32","type":"integer"},"AverageRating":{"format":"double","type":"number"}}},"Mindbody.PublicApi.Common.Models.Resource":{"title":"Resource","type":"object","properties":{"Id":{"format":"int32","type":"integer"},"Name":{"type":"string"}}},"Mindbody.PublicApi.Common.Models.AddOnSmall":{"title":"AddOnSmall","type":"object","properties":{"Id":{"format":"int64","description":"The unique ID of the appointment add on.","type":"integer"},"Name":{"description":"The Name of the appointment add on.","type":"string"},"StaffId":{"format":"int64","description":"The unique ID of the staff on appointment.","type":"integer"},"TypeId":{"format":"int32","description":"The ID of the session type of this appointment.","type":"integer"}}},"Mindbody.PublicApi.Common.Models.SessionType":{"title":"SessionType","type":"object","properties":{"Type":{"enum":["All","DropIn","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"},"DefaultTimeLength":{"format":"int32","type":"integer"},"StaffTimeLength":{"format":"int32","type":"integer"},"ProgramId":{"format":"int32","type":"integer"},"NumDeducted":{"format":"int32","type":"integer"},"Id":{"format":"int32","type":"integer"},"Name":{"type":"string"},"Active":{"type":"boolean"},"Capacity":{"format":"int32","type":"integer"},"ResourceRequired":{"type":"boolean"},"Category":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.ServiceTag"},"Subcategory":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.ServiceTag"},"OnlineDescription":{"type":"string"},"AvailableForAddOn":{"type":"boolean"}}},"Mindbody.PublicApi.Common.Models.Program":{"title":"Program","type":"object","properties":{"CancelOffset":{"format":"int32","type":"integer"},"Id":{"format":"int32","type":"integer"},"Name":{"type":"string"},"ScheduleType":{"enum":["All","DropIn","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"},"ContentFormat":{"enum":["InPerson","Mindbody","Other"],"type":"string"},"OnlineBookingDisabled":{"type":"boolean"},"ScheduleOffset":{"format":"int32","type":"integer"},"ScheduleOffsetEnd":{"format":"int32","type":"integer"},"PricingRelationships":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.PricingRelationships"}}},"Mindbody.PublicApi.Common.Models.ResourceAvailability":{"title":"ResourceAvailability","description":"An availability of a resource","type":"object","properties":{"ResourceId":{"format":"int32","description":"Id","type":"integer"},"StartDateTime":{"format":"date-time","description":"Starts","type":"string"},"EndDateTime":{"format":"date-time","description":"Ends","type":"string"},"SessionTypeIds":{"description":"List of SessionTypeIds that this availability is restricted to. If empty, no restrictions.","type":"array","items":{"format":"int32","type":"integer"}},"ProgramIds":{"description":"List of ProgramIds that this availability is restricted to. If empty, no restrictions.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Common.Models.Amenity":{"title":"Amenity","description":"A specific amenity at a location","type":"object","properties":{"Id":{"format":"int32","description":"The identifying ID of the amenity.","type":"integer"},"Name":{"description":"The name of the amenity (e.g. \"Lockers\" or \"Food/Drink\").","type":"string"}}},"Mindbody.PublicApi.Common.Models.ServiceTag":{"title":"ServiceTag","description":"ServiceTag refers to Category and Subcategory fields for classes and appointments","type":"object","properties":{"Id":{"format":"int32","type":"integer"},"Name":{"type":"string"}}},"Mindbody.PublicApi.Common.Models.PricingRelationships":{"title":"PricingRelationships","type":"object","properties":{"PaysFor":{"type":"array","items":{"format":"int32","type":"integer"}},"PaidBy":{"type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.DeleteAvailabilityRequest":{"title":"DeleteAvailabilityRequest","description":"This is the delete availability request coming DTO","type":"object","properties":{"AvailabilityId":{"format":"int32","description":"The ID of the availability or unavailability.","type":"integer"},"Test":{"description":"When `true`, indicates that this is a test request and no data is deleted from the subscriber’s database.\r\nWhen `false`, the record will be deleted.\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetUnavailabilitiesRequest":{"title":"GetUnavailabilitiesRequest","type":"object","properties":{"StaffIds":{"description":"A list of requested staff IDs.","type":"array","items":{"format":"int64","type":"integer"}},"StartDate":{"format":"date-time","description":"The start date of the requested date range. \r\n<br />Default: **today’s date**","type":"string"},"EndDate":{"format":"date-time","description":"The end date of the requested date range. \r\n<br />Default: **today’s date**","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.AppointmentController.GetUnavailabilitiesResponse":{"title":"GetUnavailabilitiesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Unavailabilities":{"description":"Contains information about unavailabilities","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.UnavailabilityPlain"}}}},"Mindbody.PublicApi.Dto.Models.V6.UnavailabilityPlain":{"title":"UnavailabilityPlain","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the unavailability.","type":"integer"},"StaffId":{"format":"int64","description":"Id of the staff","type":"integer"},"StartDateTime":{"format":"date-time","description":"The date and time the unavailability starts.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the unavailability ends.","type":"string"},"Description":{"description":"A description of the unavailability.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassesRequest":{"title":"GetClassesRequest","type":"object","properties":{"ClassDescriptionIds":{"description":"The requested class description IDs.","type":"array","items":{"format":"int32","type":"integer"}},"ClassIds":{"description":"The requested class IDs.","type":"array","items":{"format":"int32","type":"integer"}},"ClassScheduleIds":{"description":"The requested classSchedule Ids.","type":"array","items":{"format":"int32","type":"integer"}},"StaffIds":{"description":"The requested IDs of the teaching staff members.","type":"array","items":{"format":"int64","type":"integer"}},"StartDateTime":{"format":"date-time","description":"The requested start date for filtering. This also determines what you will see for the ‘BookingWindow’ StartDateTime in the response. For example, if you pass a StartDateTime that is on OR before the BookingWindow ‘Open’ days of the class, you will retrieve the actual ‘StartDateTime’ for the Booking Window. If you pass a StartDateTime that is after the BookingWindow ‘date’, then you will receive results based on that start date.\r\nNOTE: ClassDate does not take Class Time into consideration.","type":"string"},"EndDateTime":{"format":"date-time","description":"The requested end date for filtering.\r\nNOTE: ClassDate does not take Class Time into consideration.\r\n<br />Default: **today’s date**","type":"string"},"ClientId":{"description":"The client ID of the client who is viewing this class list. Based on identity, the client may be able to see additional information, such as membership specials.","type":"string"},"UniqueClientId":{"format":"int64","description":"The unique ID of the client who is viewing this class list. Based on identity, the client may be able to see additional information, such as membership specials.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","type":"integer"},"ProgramIds":{"description":"A list of program IDs on which to base the search.","type":"array","items":{"format":"int32","type":"integer"}},"SessionTypeIds":{"description":"A list of session type IDs on which to base the search.","type":"array","items":{"format":"int32","type":"integer"}},"LocationIds":{"description":"A list of location IDs on which to base the search.","type":"array","items":{"format":"int32","type":"integer"}},"SemesterIds":{"description":"A list of semester IDs on which to base the search.","type":"array","items":{"format":"int32","type":"integer"}},"HideCanceledClasses":{"description":"When `true`, canceled classes are removed from the response.<br />\r\nWhen `false`, canceled classes are included in the response.<br />\r\nDefault: **false**","type":"boolean"},"SchedulingWindow":{"description":"When `true`, classes outside scheduling window are removed from the response.<br />\r\nWhen `false`, classes are included in the response, regardless of the scheduling window.<br />\r\nDefault: **false**","type":"boolean"},"LastModifiedDate":{"format":"date-time","description":"When included in the request, only records modified on or after the `LastModifiedDate` specified are included in the response.","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"System.Threading.CancellationToken":{"title":"CancellationToken","type":"object","properties":{"IsCancellationRequested":{"type":"boolean","readOnly":true},"CanBeCanceled":{"type":"boolean","readOnly":true},"WaitHandle":{"$ref":"#/definitions/System.Threading.WaitHandle","readOnly":true}}},"System.Threading.WaitHandle":{"title":"WaitHandle","type":"object","properties":{"SafeWaitHandle":{"$ref":"#/definitions/Microsoft.Win32.SafeHandles.SafeWaitHandle"}}},"Microsoft.Win32.SafeHandles.SafeWaitHandle":{"title":"SafeWaitHandle","type":"object","properties":{"IsInvalid":{"type":"boolean","readOnly":true},"IsClosed":{"type":"boolean","readOnly":true}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassesResponse":{"title":"GetClassesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Classes":{"description":"A list of the requested classes.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Class"}}}},"Mindbody.PublicApi.Dto.Models.V6.Class":{"title":"Class","description":"Represents a single class instance. The class meets at the start time, goes until the end time.","type":"object","properties":{"ClassScheduleId":{"format":"int32","description":"The ID used to retrieve the class schedule for the desired class.","type":"integer"},"Visits":{"description":"Contains information about visits.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Visit"}},"Clients":{"description":"Contains information about clients.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Client"}},"Location":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location","description":"Contains information about a location."},"Resource":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ResourceSlim","description":"Contains information about a resource, such as a room, assigned to a class."},"MaxCapacity":{"format":"int32","description":"The maximum number of clients allowed in the class.","type":"integer"},"WebCapacity":{"format":"int32","description":"The maximum number of clients allowed to sign up online for the class.","type":"integer"},"TotalBooked":{"format":"int32","description":"The total number of clients booked in the class.","type":"integer"},"TotalSignedIn":{"format":"int32","description":"The total number of clients signed into the class.","type":"integer"},"TotalBookedWaitlist":{"format":"int32","description":"The total number of booked clients on the waiting list for the class.","type":"integer"},"WebBooked":{"format":"int32","description":"The total number of clients who signed up online for the class.","type":"integer"},"SemesterId":{"format":"int32","description":"The ID of the semester that the class is a part of, if any.","type":"integer"},"IsCanceled":{"description":"When `true`, indicates that the class has been cancelled.<br />\r\nWhen `false`, indicates that the class has not been cancelled.","type":"boolean"},"Substitute":{"description":"When `true`, indicates that the class is being taught by a substitute teacher.<br />\r\nWhen `false`, indicates that the class is being taught by its regular teacher.","type":"boolean"},"Active":{"description":"When `true`, indicates that the class is shown to clients when in consumer mode.<br />\r\nWhen `false`, indicates that the class is not shown to clients when in consumer mode.","type":"boolean"},"IsWaitlistAvailable":{"description":"When `true`, indicates that the clients can be placed on a waiting list for the class.<br />\r\nWhen `false`, indicates that the clients cannot be placed on a waiting list for the class.","type":"boolean"},"IsEnrolled":{"description":"When `true`, indicates that the client with the given `ClientId` is enrolled in this class.<br />\r\nWhen `false`, indicates that the client with the given `ClientId` is not enrolled in this class.","type":"boolean"},"HideCancel":{"description":"When `true`, indicates that this class is hidden when cancelled.<br />\r\nWhen `false`, indicates that this class is not hidden when cancelled.","type":"boolean"},"Id":{"format":"int32","description":"The unique identifier for the class.","type":"integer"},"IsAvailable":{"description":"When `true`, indicates that the client with the given client ID can book this class.<br />\r\nWhen `false`, indicates that the client with the given client ID cannot book this class.","type":"boolean"},"StartDateTime":{"format":"date-time","description":"The time this class is scheduled to start.","type":"string"},"EndDateTime":{"format":"date-time","description":"The time this class is scheduled to end.","type":"string"},"LastModifiedDateTime":{"format":"date-time","description":"The last time this class was modified.","type":"string"},"ClassDescription":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassDescription","description":"Contains information that defines the class."},"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Contains information about the staff member."},"BookingWindow":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.BookingWindow","description":"Contains information about the window for booking."},"BookingStatus":{"description":"Contains the booking’s payment status.","enum":["PaymentRequired","BookAndPayLater","Free"],"type":"string"},"VirtualStreamLink":{"description":"The link to the Mindbody-hosted live stream for the class. This is `null` when no live stream is configured for the class.","type":"string"},"WaitListSize":{"format":"int32","description":"The maximum number allowed on the waiting list for the class.","type":"integer"},"ClassNotes":{"description":"Notes for the class","type":"string"},"ThemeName":{"description":"The class instance theme name.<br />\r\nThe theme name is free optional custom name suffix which can be added to highlight the class instance.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.Visit":{"title":"Visit","description":"Represents a specific visit to a class","type":"object","properties":{"AppointmentId":{"format":"int32","description":"The appointment’s ID.","type":"integer"},"AppointmentGenderPreference":{"description":"The gender of staff member with whom the client prefers to book appointments. \r\n\r\nPossible values are:\r\n* Female - Indicates that the client prefers to book appointments with female staff members.\r\n* Male - Indicates that the client prefers to book appointments with male staff members.\r\n* None - Indicates that the client does not have a staff member gender preference.","enum":["None","Female","Male"],"type":"string"},"AppointmentStatus":{"description":"The status of the appointment.","enum":["None","Requested","Booked","Completed","Confirmed","Arrived","NoShow","Cancelled","LateCancelled"],"type":"string"},"ClassId":{"format":"int32","description":"The class ID that was used to retrieve the visits.","type":"integer"},"ClientId":{"description":"The ID of the client associated with the visit.","type":"string"},"ClientPhotoUrl":{"description":"PhotoUrl for the client","type":"string"},"ClientUniqueId":{"format":"int64","description":"The unique ID of the client associated with the visit.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The time this class is scheduled to start.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the visit ends. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.","type":"string"},"Id":{"format":"int64","description":"The ID of the visit.","type":"integer"},"LastModifiedDateTime":{"format":"date-time","description":"When included in the request, only records modified on or after the specified `LastModifiedDate` are included in the response. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.","type":"string"},"LateCancelled":{"description":"When `true`, indicates that the class has been `LateCancelled`.<br />\r\nWhen `false`, indicates that the class has not been `LateCancelled`.","type":"boolean"},"SiteId":{"format":"int32","description":"The ID of the business where the visit is booked.","type":"integer"},"LocationId":{"format":"int32","description":"The ID of the location where the visit took place or is to take place.","type":"integer"},"MakeUp":{"description":"When `true`, the client can make up this session and a session is not deducted from the pricing option that was used to sign the client into the enrollment. When the client has the make-up session, a session is automatically removed from a pricing option that matches the service category of the enrollment and is within the same date range of the missed session.<br />\r\nWhen `false`, the client cannot make up this session. See [Enrollments: Make-ups](https://support.mindbodyonline.com/s/article/203259433-Enrollments-Make-ups?language=en_US) for more information.","type":"boolean"},"Name":{"description":"The name of the class.","type":"string"},"ServiceId":{"format":"int64","description":"The unique ID assigned to this pricing option when it was purchased by the client.","type":"integer"},"ServiceName":{"description":"The name of the pricing option at the site where it was purchased.","type":"string"},"Service":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientService","description":"The details of the pricing option at the site where it was purchased."},"ProductId":{"format":"int64","description":"The ID of the pricing option at the site where it was purchased.","type":"integer"},"SignedIn":{"description":"When `true`, indicates that the client has been signed in.<br />\r\nWhen `false`, indicates that the client has not been signed in.","type":"boolean"},"StaffId":{"format":"int64","description":"The ID of the staff member who is teaching the class.","type":"integer"},"WebSignup":{"description":"When `true`, indicates that the client signed up online.<br />\r\nWhen `false`, indicates that the client was signed up by a staff member.","type":"boolean"},"Action":{"description":"The action taken.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"Missed":{"description":"When `true`, indicates that the class has been `Missed`.<br />\r\nWhen `false`, indicates that the class has not been `Missed`.","type":"boolean"},"VisitType":{"format":"int32","description":"Indicates the Id of visit type.","type":"integer"},"TypeGroup":{"format":"int32","description":"Indicates the Id of type group.","type":"integer"},"TypeTaken":{"description":"Indicates the service type taken.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.Client":{"title":"Client","description":"The Client.","type":"object","properties":{"AppointmentGenderPreference":{"description":"The gender of staff member with whom the client prefers to book appointments.","enum":["None","Female","Male"],"type":"string"},"BirthDate":{"format":"date-time","description":"The client’s date of birth.","type":"string"},"Country":{"description":"The client’s country.","type":"string"},"CreationDate":{"format":"date-time","description":"The date the client’s profile was created and added to the business, either by the client from the online store, or by a staff member. This value always returns in the format `yyyy-mm-ddThh:mm:ss:ms`.","type":"string"},"CustomClientFields":{"description":"Contains information about the custom fields used for clients in the business.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CustomClientFieldValue"}},"ClientCreditCard":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientCreditCard","description":"Contains information about the client’s credit card."},"ClientIndexes":{"description":"Contains the IDs of the client’s assigned ClientIndexes and ClientIndexValues.\r\n\r\nIf an index is already assigned to the client, it is overwritten with the passed index value. You cannot currently remove client indexes using the Public API. Only the indexes passed in the request are returned in the response.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AssignedClientIndex"}},"ClientRelationships":{"description":"Contains information about the relationship between two clients.\r\n\r\nThis parameter does not include all of the relationships assigned to the client, only the ones passed in the request.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientRelationship"}},"FirstAppointmentDate":{"format":"date-time","description":"The date of the client’s first booked appointment at the business.","type":"string"},"FirstClassDate":{"format":"date-time","description":"The date of the clients first booked class at the business.","type":"string"},"FirstName":{"description":"The client’s first name.","type":"string"},"Id":{"description":"The client’s ID, as configured by the business owner. This is the client’s barcode ID if the business owner assigns barcodes to clients. This ID is used throughout the Public API for client-related Public API calls. When used in a POST `UpdateClient` request, the `Id` is used to identify the client for the update.","type":"string"},"IsCompany":{"description":"When `true`, indicates that the client should be marked as a company at the business.<br />\r\nWhen `false`, indicates the client is an individual and does not represent a company.","type":"boolean"},"IsProspect":{"description":"This value is set only if the business owner allows individuals to be prospects.<br />\r\nWhen `true`, indicates that the client should be marked as a prospect for the business.<br />\r\nWhen `false`, indicates that the client should not be marked as a prospect for the business.","type":"boolean"},"LastName":{"description":"The client’s last name.","type":"string"},"Liability":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Liability","description":"Contains the client’s liability agreement information for the business."},"LiabilityRelease":{"description":"Passing `true` sets the client’s liability information as follows:\r\n* `IsReleased` is set to `true`.\r\n* `AgreementDate` is set to the time zone of the business when the call was processed.\r\n* `ReleasedBy` is set to `null` if the call is made by the client, `0` if the call was made by the business owner, or to a specific staff member’s ID if a staff member made the call.\r\nPassing `false` sets the client’s liability information as follows:\r\n* `IsReleased` is set to `false`.\r\n* `AgreementDate` is set to `null`.\r\n* `ReleasedBy` is set to `null`.","type":"boolean"},"MembershipIcon":{"format":"int32","description":"The ID of the [membership icon](https://support.mindbodyonline.com/s/article/203259703-Membership-Setup-screen?language=en_US) displayed next to the client’s name, if the client has a membership on their account.","type":"integer"},"MobileProvider":{"format":"int32","description":"The client’s mobile provider.","type":"integer"},"Notes":{"description":"Any notes entered on the client’s account by staff members. This value should never be shown to clients unless the business owner has a specific reason for showing them.","type":"string"},"State":{"description":"The client’s state.","type":"string"},"UniqueId":{"format":"int64","description":"The client’s system-generated ID at the business. This value cannot be changed by business owners and is always unique across all clients at the business. This ID is not widely used in the Public API, but can be used by your application to uniquely identify clients.","type":"integer"},"LastModifiedDateTime":{"format":"date-time","description":"The UTC date and time when the client’s information was last modified.","type":"string"},"RedAlert":{"description":"Contains any red alert information entered by the business owner for the client.","type":"string"},"YellowAlert":{"description":"Contains any yellow alert information entered by the business owner for the client.","type":"string"},"MiddleName":{"description":"The client’s middle name.","type":"string"},"ProspectStage":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ProspectStage","description":"Contains information about the client [prospect stage](https://support.mindbodyonline.com/s/article/206176457-Prospect-Stages?language=en_US)."},"Email":{"description":"The client’s email address.","type":"string"},"MobilePhone":{"description":"The client’s mobile phone number.","type":"string"},"HomePhone":{"description":"The client’s home phone number.","type":"string"},"WorkPhone":{"description":"The client’s work phone number.","type":"string"},"AccountBalance":{"format":"double","description":"The client’s current [account balance](https://mindbody-online-support.force.com/support/s/article/203262013-Adding-account-payments-video-tutorial?language=en_US).","type":"number"},"AddressLine1":{"description":"The first line of the client’s street address.","type":"string"},"AddressLine2":{"description":"The second line of the client’s street address, if needed.","type":"string"},"City":{"description":"The client’s city.","type":"string"},"PostalCode":{"description":"The client’s postal code.","type":"string"},"WorkExtension":{"description":"The client’s work phone extension number.","type":"string"},"ReferredBy":{"description":"Specifies how the client was referred to the business. You can get a list of possible strings using the `GetClientReferralTypes` endpoint.","type":"string"},"PhotoUrl":{"description":"The URL of the client’s photo for the client profile.","type":"string"},"EmergencyContactInfoName":{"description":"The name of the client’s emergency contact.","type":"string"},"EmergencyContactInfoEmail":{"description":"The email address of the client’s emergency contact.","type":"string"},"EmergencyContactInfoPhone":{"description":"The phone number of the client’s emergency contact.","type":"string"},"EmergencyContactInfoRelationship":{"description":"The client’s relationship with the emergency contact.","type":"string"},"Gender":{"description":"The gender of the client.","type":"string"},"LastFormulaNotes":{"description":"The last [formula note](https://support.mindbodyonline.com/s/article/203259903-Appointments-Formula-notes?language=en_US) entered for the client.","type":"string"},"Active":{"description":"When `true`, indicates that the client’s profile is marked as active on the site.<br />\r\nWhen `false`, the client’s profile is inactive.\r\nDefaults to `true` based on the assumption that if a client is currently inactive OR is to be marked inactive, this property will explicitly be mapped/set to `false`.","type":"boolean"},"SalesReps":{"description":"A list of sales representatives.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SalesRep"}},"Status":{"description":"The status of the client in the business. Possible values are:\r\n* Declined\r\n* Non-Member\r\n* Active\r\n* Expired\r\n* Suspended\r\n* Terminated","type":"string"},"Action":{"description":"The action taken.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"SendAccountEmails":{"description":"When `true`, indicates that the client has opted to receive general account notifications by email. This property is editable. \r\n<br />Default: **false**","type":"boolean"},"SendAccountTexts":{"description":"When `true`, indicates that the client has opted to receive general account notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.","type":"boolean"},"SendPromotionalEmails":{"description":"When `true`, indicates that the client has opted to receive promotional notifications by email. This property is editable. \r\n<br />Default: **false**","type":"boolean"},"SendPromotionalTexts":{"description":"When `true`, indicates that the client has opted to receive promotional notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.","type":"boolean"},"SendScheduleEmails":{"description":"When `true`, indicates that the client has opted to receive schedule notifications by email. This property is editable. \r\n<br />Default: **false**","type":"boolean"},"SendScheduleTexts":{"description":"When `true`, indicates that the client has opted to receive schedule notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.","type":"boolean"},"HomeLocation":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location","description":"Information about the Home Location for this client"},"LockerNumber":{"description":"The clients locker number.","type":"string"},"ClientType":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientType","description":"The client's assigned client type.\r\nReturns null if the client has no client type assigned.\r\nFor more information, see [Client Types](https://support.mindbodyonline.com/s/article/203259193-Client-Types)."}}},"Mindbody.PublicApi.Dto.Models.V6.ClassDescription":{"title":"ClassDescription","description":"Represents a class definition. The class meets at the start time, goes until the end time.","type":"object","properties":{"Active":{"description":"When `true`, indicates that the business can assign this class description to new class schedules.<br />\r\nWhen `false`, indicates that the business cannot assign this class description to new class schedules.","type":"boolean"},"Description":{"description":"The long version of the class description.","type":"string"},"Id":{"format":"int32","description":"The class description's ID.","type":"integer"},"ImageURL":{"description":"The class description's image URL, if any. If it does not exist, nothing is returned.","type":"string"},"LastUpdated":{"format":"date-time","description":"The date this class description was last modified.","type":"string"},"Level":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Level","description":"The level information about this class."},"Name":{"description":"The name of this class description.","type":"string"},"Notes":{"description":"Any notes about the class description.","type":"string"},"Prereq":{"description":"Any prerequisites for the class.","type":"string"},"Program":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Program","description":"Contains information about the class description's program."},"SessionType":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SessionType","description":"Contains information about the class description's session type."},"Category":{"description":"The category of this class description.","type":"string"},"CategoryId":{"format":"int32","description":"The category ID of this class description.","type":"integer"},"Subcategory":{"description":"The subcategory of this class description.","type":"string"},"SubcategoryId":{"format":"int32","description":"The subcategory ID of this class description.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.BookingWindow":{"title":"BookingWindow","description":"The booking window for registration","type":"object","properties":{"StartDateTime":{"format":"date-time","description":"Date and time that the booking window opens; that is, the first day of sales.","type":"string"},"EndDateTime":{"format":"date-time","description":"Date and time that the booking window closes; that is, the last day of sales.","type":"string"},"DailyStartTime":{"format":"date-time","description":"The time that the booking window opens; that is, the time that the store opens.","type":"string"},"DailyEndTime":{"format":"date-time","description":"The time that the booking window closes; that is, the time that the store closes.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientService":{"title":"ClientService","description":"A service that is on a client's account.","type":"object","properties":{"ActiveDate":{"format":"date-time","description":"The date that this pricing option became active and could be used to pay for services.","type":"string"},"Count":{"format":"int32","description":"The number of service sessions this pricing option contained when first purchased.","type":"integer"},"Current":{"description":"When `true`, there are service sessions remaining on the pricing option that can be used pay for the current session.<br />\r\nWhen `false`, the client cannot use this pricing option to pay for other services.","type":"boolean"},"ExpirationDate":{"format":"date-time","description":"The date when the pricing option expires and can no longer be used to pay for services, even if unused service sessions remain on the option; expressed as UTC.","type":"string"},"Id":{"format":"int64","description":"The unique ID assigned to this pricing option, specific to when it was purchased by the client.","type":"integer"},"ProductId":{"format":"int32","description":"The unique ID of this pricing option, not specific to any client's purchase of it.","type":"integer"},"Name":{"description":"The name of this pricing option.","type":"string"},"PaymentDate":{"format":"date-time","description":"The date on which the client paid for this pricing option.","type":"string"},"Program":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Program","description":"Contains information about the service category this service falls under."},"Remaining":{"format":"int32","description":"The number of service sessions remaining in the pricing option that can still be used.","type":"integer"},"SiteId":{"format":"int32","description":"The ID of the subscriber site associated with this pricing option.","type":"integer"},"Action":{"description":"The action taken.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"ClientID":{"description":"The Client ID assigned to this pricing option, specific to when it was purchased by the client.","type":"string"},"Returned":{"description":"Identification for purchased service is returned or not.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.CustomClientFieldValue":{"title":"CustomClientFieldValue","description":"The value of a custom client field","type":"object","properties":{"Value":{"description":"The value of a specific custom field for a client.","type":"string"},"Id":{"format":"int32","description":"The ID of the custom client field.","type":"integer"},"DataType":{"description":"The data type of the field.","type":"string"},"Name":{"description":"The name of the field.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientCreditCard":{"title":"ClientCreditCard","description":"A client credit card.","type":"object","properties":{"Address":{"description":"The billing address for the credit card.","type":"string"},"CardHolder":{"description":"The name of the card holder.","type":"string"},"CardNumber":{"description":"The credit card number.","type":"string"},"CardType":{"description":"The type of credit card, for example Visa or MasterCard.","type":"string"},"City":{"description":"The city in which the billing address is located.","type":"string"},"ExpMonth":{"description":"The month in which the credit card expires.","type":"string"},"ExpYear":{"description":"The year in which the credit card expires.","type":"string"},"LastFour":{"description":"The last four digits of the credit card number.","type":"string"},"PostalCode":{"description":"The postal code where the billing address is located.","type":"string"},"State":{"description":"The state that the billing address is located in.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AssignedClientIndex":{"title":"AssignedClientIndex","description":"Represents a client index value assigned to a client","type":"object","properties":{"Id":{"format":"int32","description":"The index ID assigned to the client.","type":"integer"},"ValueId":{"format":"int32","description":"The index’s value ID.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientRelationship":{"title":"ClientRelationship","description":"A relation between two clients.","type":"object","properties":{"RelatedClientId":{"description":"The RSSID of the related client.","type":"string"},"RelatedUniqueId":{"format":"int64","description":"The UniqueId of the related client.","type":"integer"},"Relationship":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Relationship","description":"Contains details about the relationship between two clients."},"RelationshipName":{"description":"The name of the relationship of the related client.","type":"string"},"Delete":{"description":"When true, the associated relationship is removed from the client’s list of relationships.\r\nThis property is ignored in all other use cases.\r\nDefault: *false*","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.Liability":{"title":"Liability","type":"object","properties":{"AgreementDate":{"format":"date-time","description":"The date and time at which the client agreed to the liability waiver for the business.","type":"string"},"IsReleased":{"description":"The client’s liability release status.<br />\r\nWhen `true`, indicates that the client has agreed to the liability release for the business.<br />\r\nWhen `false`, indicates that the client has not agreed to the liability release for the business.","type":"boolean"},"ReleasedBy":{"format":"int64","description":"An ID indicating who released liability for the client. If the client agreed to the liability waiver by signing into an account online, this value is `null`. If a staff member marked the waiver as signed on behalf of the client, it is the staff member’s ID. `0` indicates that the business owner marked the liability waiver as signed on behalf of the client.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ProspectStage":{"title":"ProspectStage","type":"object","properties":{"Active":{"description":"When `true`, indicates that the client is a prospect at the business and has not yet purchased any of the business pricing options.\r\nWhen `false`, indicates that the client has already purchased at least one pricing option from the business.","type":"boolean"},"Description":{"description":"A description of the prospect stage.","type":"string"},"Id":{"format":"int32","description":"The ID of the prospect stage assigned to the client.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SalesRep":{"title":"SalesRep","type":"object","properties":{"FirstName":{"description":"The first name of the sales representative.","type":"string"},"Id":{"format":"int64","description":"The staff ID of the sales representative.","type":"integer"},"LastName":{"description":"The last name of the sales representative.","type":"string"},"SalesRepNumber":{"format":"int32","description":"This value is the number that identifies the type of sales representative assigned to this client. One to six types of sales representatives can be assigned to a client at any given time, depending on site settings.","type":"integer"},"SalesRepNumbers":{"description":"A list of the different types of sales representative functions assigned to this staff member.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientType":{"title":"ClientType","description":"Represents a client's type classification.","type":"object","properties":{"Id":{"format":"int32","description":"The unique identifier for the client type.","type":"integer"},"Name":{"description":"The display name of the client type.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.Level":{"title":"Level","description":"A session level.","type":"object","properties":{"Id":{"format":"int32","description":"Contains the Id given to this level.","type":"integer"},"Name":{"description":"Contains the name given to this level.","type":"string"},"Description":{"description":"Contains a description of this level.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.Relationship":{"title":"Relationship","description":"Jim is a RelationshipName1 of John. John is a RelationshipName2 of Jim.","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the relationship.","type":"integer"},"RelationshipName1":{"description":"The name of the first relationship.","type":"string"},"RelationshipName2":{"description":"The name of the second relationship.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassDescriptionsRequest":{"title":"GetClassDescriptionsRequest","type":"object","properties":{"ClassDescriptionId":{"format":"int32","description":"The ID of the requested client.","type":"integer"},"ProgramIds":{"description":"A list of requested program IDs.","type":"array","items":{"format":"int32","type":"integer"}},"StartClassDateTime":{"format":"date-time","description":"Filters the results to class descriptions for scheduled classes that happen on or after the given date and time.","type":"string"},"EndClassDateTime":{"format":"date-time","description":"Filters the results to class descriptions for scheduled classes that happen before the given date and time.","type":"string"},"StaffId":{"format":"int64","description":"Filters results to class descriptions for scheduled classes taught by the given staff member.","type":"integer"},"LocationId":{"format":"int32","description":"Filters results to classes descriptions for schedule classes as the given location.","type":"integer"},"IncludeInactive":{"description":"Includes inactive class descriptions, defaulting to true. When set to false, it filters out inactive class descriptions.","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassDescriptionsResponse":{"title":"GetClassDescriptionsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ClassDescriptions":{"description":"Contains information about the class descriptions.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassDescription"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassVisitsRequest":{"title":"GetClassVisitsRequest","description":"Get class visit request.","required":["ClassID"],"type":"object","properties":{"ClassID":{"format":"int64","description":"The class ID.","type":"integer"},"LastModifiedDate":{"format":"date-time","description":"When included in the request, only records modified on or after the `LastModifiedDate` specified are included in the response.","type":"string"},"UseSiteSettingsStaffName":{"description":"When `true`, the staff DisplayName will be populated based on site-level settings.\r\nWhen `false` or omitted, the staff DisplayName will contain only the FirstName.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassVisitsResponse":{"title":"GetClassVisitsResponse","type":"object","properties":{"Class":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Class","description":"Contains class and booking information."}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassSchedulesRequest":{"title":"GetClassSchedulesRequest","type":"object","properties":{"ClassScheduleIds":{"description":"The class schedule IDs.\r\n<br />Default: **all**","type":"array","items":{"format":"int32","type":"integer"}},"EndDate":{"format":"date-time","description":"The end date of the range. Return any active enrollments that occur on or before this day.\r\n<br />Default: **StartDate**","type":"string"},"LocationIds":{"description":"The location IDs. \r\n<br />Default: **all**","type":"array","items":{"format":"int32","type":"integer"}},"ProgramIds":{"description":"The program IDs. \r\n<br />Default: **all**","type":"array","items":{"format":"int32","type":"integer"}},"SessionTypeIds":{"description":"The session type IDs. \r\n<br />Default: **all**","type":"array","items":{"format":"int32","type":"integer"}},"StaffIds":{"description":"The staff IDs. \r\n<br />Default: **all**","type":"array","items":{"format":"int64","type":"integer"}},"StartDate":{"format":"date-time","description":"The start date of the range. Return any active enrollments that occur on or after this day.\r\n<br />Default: **today’s date**","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetClassSchedulesResponse":{"title":"GetClassSchedulesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ClassSchedules":{"description":"Contains information about the class schedules.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassSchedule"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClassSchedule":{"title":"ClassSchedule","description":"Represents a single class instance. The class meets at the start time, goes until the end time.","type":"object","properties":{"Classes":{"description":"Contains information about a class.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Class"}},"Clients":{"description":"Contains information about clients.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Client"}},"Course":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Course","description":"Contains information about the course that the enrollment is a part of."},"SemesterId":{"format":"int32","description":"The semester ID for the enrollment (if any).","type":"integer"},"IsAvailable":{"description":"When `true`, indicates that the enrollment shows in consumer mode, has not started yet, and there is room in each class of the enrollment.<br />\r\nWhen `false`, indicates that either the enrollment does not show in consumer mode, has already started, or there is no room in some classes of the enrollment.","type":"boolean"},"Id":{"format":"int32","description":"The unique ID of the class schedule.","type":"integer"},"ClassDescription":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassDescription","description":"Contains information about the class."},"DaySunday":{"description":"When `true`, indicates that this schedule occurs on Sundays.","type":"boolean"},"DayMonday":{"description":"When `true`, indicates that this schedule occurs on Mondays.","type":"boolean"},"DayTuesday":{"description":"When `true`, indicates that this schedule occurs on Tuesdays.","type":"boolean"},"DayWednesday":{"description":"When `true`, indicates that this schedule occurs on Wednesdays.","type":"boolean"},"DayThursday":{"description":"When `true`, indicates that this schedule occurs on Thursdays.","type":"boolean"},"DayFriday":{"description":"When `true`, indicates that this schedule occurs on Fridays.","type":"boolean"},"DaySaturday":{"description":"When `true`, indicates that this schedule occurs on Saturdays.","type":"boolean"},"AllowOpenEnrollment":{"description":"When `true`, indicates that the enrollment allows booking after the enrollment has started.","type":"boolean"},"AllowDateForwardEnrollment":{"description":"When `true`, indicates that this the enrollment shows in consumer mode, the enrollment has not started yet, and there is room in each class of the enrollment.","type":"boolean"},"StartTime":{"format":"date-time","description":"The time this class schedule starts.","type":"string"},"EndTime":{"format":"date-time","description":"The time this class schedule ends.","type":"string"},"StartDate":{"format":"date-time","description":"The date this class schedule starts.","type":"string"},"EndDate":{"format":"date-time","description":"The date this class schedule ends.","type":"string"},"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Contains information about the staff member who is regularly scheduled to teach the class."},"Location":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location","description":"Contains information about the regularly scheduled location of this class."},"FrequencyType":{"description":"The class schedule recurrence type.","enum":["Daily","Weekly","Monthly"],"type":"string"},"FrequencyInterval":{"format":"int32","description":"The interval between class schedule occurencies.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.Course":{"title":"Course","description":"A course.","type":"object","properties":{"Id":{"format":"int64","description":"The course ID.","type":"integer"},"Name":{"description":"The course name.","type":"string"},"Description":{"description":"A description of the course.","type":"string"},"Notes":{"description":"Any notes that have been written about the course.","type":"string"},"StartDate":{"format":"date-time","description":"Date and time that the course starts.","type":"string"},"EndDate":{"format":"date-time","description":"Date and time that the course ends.","type":"string"},"Location":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location","description":"Contains information about the location."},"Organizer":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Contains information about the staff member in charge of organizing the event."},"Program":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Program","description":"Contains information about the service category to which the course belongs."},"ImageUrl":{"description":"The URL of the image associated with this course, if one exists.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.UpdateClassScheduleNotesRequest":{"title":"UpdateClassScheduleNotesRequest","description":"A model for requesting the updates of notes of a class schedule.","type":"object","properties":{"Notes":{"description":"Gets the class notes.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.SubstituteClassTeacherRequest":{"title":"SubstituteClassTeacherRequest","required":["ClassId","StaffId"],"type":"object","properties":{"ClassId":{"format":"int32","description":"The ID of the class to which a substitute teacher needs to be assigned.","type":"integer"},"StaffId":{"format":"int64","description":"The staff ID of the teacher to substitute.","type":"integer"},"OverrideConflicts":{"description":"When `true`, overrides any conflicts in the schedule.","type":"boolean"},"SendClientEmail":{"description":"When `true`, sends the client an automatic email about the substitution, if the client has opted to receive email.","type":"boolean"},"SendOriginalTeacherEmail":{"description":"When `true`, sends the originally scheduled teacher an automatic email about the substitution.","type":"boolean"},"SendSubstituteTeacherEmail":{"description":"When `true`, sends the substituted teacher an automatic email about the substitution.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.SubstituteClassTeacherResponse":{"title":"SubstituteClassTeacherResponse","type":"object","properties":{"Class":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SubstituteTeacherClass","description":"Contains information about the class that is being assigned a substitute teacher."}}},"Mindbody.PublicApi.Dto.Models.V6.SubstituteTeacherClass":{"title":"SubstituteTeacherClass","description":"Represents a single class instance. Used in SubstituteClassTeacher endpoint.","type":"object","properties":{"ClassScheduleId":{"format":"int32","description":"The class schedule ID of the requested class.","type":"integer"},"Location":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location","description":"Contains information about the location where the class is taking place."},"MaxCapacity":{"format":"int32","description":"The total number of bookings allowed in the class.","type":"integer"},"WebCapacity":{"format":"int32","description":"The total number of online bookings allowed in the class.","type":"integer"},"TotalBooked":{"format":"int32","description":"The total number of clients who are booked into the class prior to this call being made.","type":"integer"},"TotalBookedWaitlist":{"format":"int32","description":"The total number of booked clients who are on the waiting list for the class prior to this call being made.","type":"integer"},"WebBooked":{"format":"int32","description":"The total number of bookings in the class made by online users, prior to this call being made. This property is the current number of bookings counted toward the `WebCapacity` limit.","type":"integer"},"SemesterId":{"format":"int32","description":"Identifies the semester assigned to this class.","type":"integer"},"IsCanceled":{"description":"When `true`, indicates that the class has been canceled.<br />\r\nWhen `false`, indicates that the class has not been canceled and may still be bookable.","type":"boolean"},"Substitute":{"description":"When `true`, indicates that the class is being taught by a substitute teacher.","type":"boolean"},"Active":{"description":"When `true`, indicates that the class is being shown to clients in consumer mode.","type":"boolean"},"IsWaitlistAvailable":{"description":"When `true`, indicates that the class has a waiting list and there is space available on the waiting list for another client.<br />\r\nWhen `false`, indicates either that the class does not have a waiting list or there is no space available on the class waiting list.","type":"boolean"},"HideCancel":{"description":"When `true`, indicates that this class is should not be shown to clients when `IsCancelled` is `true`.<br />\r\nWhen `false`, indicates that this class is should be shown to clients when `IsCancelled` is `true`.<br />\r\nThis property can be ignored when the `IsCancelled` property is `false`.","type":"boolean"},"Id":{"format":"int32","description":"The unique identifier of the class.","type":"integer"},"IsAvailable":{"description":"When `true`, indicates that the class can be booked.<br />\r\nWhen `false`, that the class cannot be booked at this time.","type":"boolean"},"StartDateTime":{"format":"date-time","description":"The date and time that this class is scheduled to start.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time when this class is scheduled to end.","type":"string"},"LastModifiedDateTime":{"format":"date-time","description":"The last time the class was modified.","type":"string"},"ClassDescription":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassDescription","description":"Contains information about this class."},"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Contains information about the teacher of the class."},"VirtualStreamLink":{"description":"The URL for the pre-recorded live stream for the class if hosted on the mindbody virtual wellness platform","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetCoursesRequest":{"title":"GetCoursesRequest","description":"This is the request class for the get courses API","type":"object","properties":{"LocationIDs":{"description":"Return only courses that are available for the specified LocationIds.","type":"array","items":{"format":"int32","type":"integer"}},"CourseIDs":{"description":"Return only courses that are available for the specified CourseIds.","type":"array","items":{"format":"int64","type":"integer"}},"StaffIDs":{"description":"Return only courses that are available for the specified StaffIds.","type":"array","items":{"format":"int64","type":"integer"}},"ProgramIDs":{"description":"Return only courses that are available for the specified ProgramIds.","type":"array","items":{"format":"int32","type":"integer"}},"StartDate":{"format":"date-time","description":"The start date range. Any active courses that are on or after this day.\r\n<br />(optional) Defaults to today.","type":"string"},"EndDate":{"format":"date-time","description":"The end date range. Any active courses that are on or before this day.\r\n<br />(optional) Defaults to StartDate.","type":"string"},"SemesterIDs":{"description":"Return only courses that are available for the specified SemesterIds.","type":"array","items":{"format":"int32","type":"integer"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetCoursesReponse":{"title":"GetCoursesReponse","description":"This is the response class for the get courses API","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"This is the pgaination response"},"Courses":{"description":"This is the list course data","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Course"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.CancelSingleClassRequest":{"title":"CancelSingleClassRequest","type":"object","properties":{"ClassID":{"format":"int64","description":"Class ID to lookup.","type":"integer"},"HideCancel":{"description":"When `true`, indicates that this class is hidden when cancelled.\r\nWhen `false`, indicates that this class is not hidden when cancelled.","type":"boolean"},"SendClientEmail":{"description":"When `true`, sends the client an automatic email about the cancellation, if the client has opted to receive email.","type":"boolean"},"SendStaffEmail":{"description":"When `true`, sends the staff an automatic email about the cancellation, if the staff has opted to receive email.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.CancelSingleClassResponse":{"title":"CancelSingleClassResponse","type":"object","properties":{"Class":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Class","description":"A resulting class."}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveClientFromClassRequest":{"title":"RemoveClientFromClassRequest","required":["ClassId"],"type":"object","properties":{"ClientId":{"description":"The RSSID of the client to remove from the specified class.","type":"string"},"UniqueClientId":{"format":"int64","description":"The Unique Id of the client to remove from the specified class\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","type":"integer"},"ClassId":{"format":"int32","description":"The ID of the class that you want to remove the client from.","type":"integer"},"Test":{"description":"When `true`, the request ensures that its parameters are valid without affecting real data.<br />\r\nWhen `false`, the request performs as intended and may affect live client data.<br />\r\nDefault: **false**","type":"boolean"},"SendEmail":{"description":"When `true`, indicates that the client should be sent an email. Depending on the site and client settings, an email may or may not be sent.<br />\r\nDefault: **false**\r\nNote: When the Authorization header is passed and the SendEmail is set to `true`, then an email will be sent.\r\nWhen the Authorization header is passed and the SendEmail is set to `false`, then an email will not be sent.\r\nWhen the Authorization header is not passed and the SendEmail is set to either `true` or `false`, then an email will not be sent.","type":"boolean"},"LateCancel":{"description":"When `true`, indicates that the client is to be late cancelled from the class.<br />\r\nWhen `false`, indicates that the client is to be early cancelled from the class.<br />\r\nDefault: **false**","type":"boolean"},"VisitId":{"format":"int32","description":"The ID of the client visit that you want to remove from the class.\r\nDefault: **0**","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveClientFromClassResponse":{"title":"RemoveClientFromClassResponse","type":"object","properties":{"Class":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Class","description":"Contains information about the class from which the client was removed."}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.AddClientToClassRequest":{"title":"AddClientToClassRequest","required":["ClientId","ClassId"],"type":"object","properties":{"ClientId":{"description":"The ID of the client who is being booked into the class","type":"string"},"ClassId":{"format":"int32","description":"The ID of the class into which the client is being booked","type":"integer"},"Test":{"description":"When `true`, indicates that input information is validated, but not committed.<br />\r\nWhen `false`, the information is committed and the database is affected.<br />\r\nDefault: **false**","type":"boolean"},"RequirePayment":{"description":"When `true`, the client must have an active, usable pricing option on their account.<br />\r\nWhen `false` or omitted, an active pricing option is not required to complete the client’s booking.","type":"boolean"},"Waitlist":{"description":"When `true`, indicates that the client should be added to a specific class waiting list.<br />\r\nWhen `false`, the client should not be added to the waiting list.","type":"boolean"},"SendEmail":{"description":"When `true`, the subscriber’s configured Booking Confirmation automatic email is sent to the client. Note that an email is sent only if the client has an email address and automatic emails have been set up.<br />\r\nWhen `false`, indicates that the client does not receive emails.<br />\r\nDefault: **false**\r\n**Note**: When the Authorization header is passed and the SendEmail is set to `true`, then an email will be sent.\r\nWhen the Authorization header is passed and the SendEmail is set to `false`, then an email will not be sent.\r\nWhen the Authorization header is not passed and the SendEmail is set to either `true` or `false`, then an email will not be sent.","type":"boolean"},"WaitlistEntryId":{"format":"int32","description":"The ID of the waiting list entry from which you are moving a client into a class.","type":"integer"},"ClientServiceId":{"format":"int32","description":"The ID of the pricing option on the client’s account that you want to use to pay for this booking, if payment is required at the time of the update.","type":"integer"},"CrossRegionalBooking":{"description":"When `true`, cross regional series are checked and used if applicable.","type":"boolean"},"CrossRegionalBookingClientServiceSiteId":{"format":"int32","description":"If the request is cross regional, use a purchased pricing option from this specified site. If omitted, an attempt is made to use an applicable pricing option from the local site.","type":"integer"},"UniqueId":{"format":"int64","description":"The UniqueID of the client who is being booked into the class","type":"integer"},"AutoAssignSpot":{"description":"When provided, overrides whether the booking service attempts to automatically assign a Pick-a-Spot spot for the client.\r\nWhen omitted, Scheduling Domain determines whether to auto assign a spot from its settings.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.AddClientToClassResponse":{"title":"AddClientToClassResponse","type":"object","properties":{"Visit":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ExtensionModels.AddClientToClassVisit","description":"Contains information about the created visit."}}},"Mindbody.PublicApi.Dto.Models.V6.ExtensionModels.AddClientToClassVisit":{"title":"AddClientToClassVisit","type":"object","properties":{"AppointmentId":{"format":"int32","description":"The appointment’s ID.","type":"integer"},"AppointmentGenderPreference":{"description":"The gender of staff member with whom the client prefers to book appointments.","enum":["None","Female","Male"],"type":"string"},"AppointmentStatus":{"description":"The status of the appointment.","enum":["None","Requested","Booked","Completed","Confirmed","Arrived","NoShow","Cancelled","LateCancelled"],"type":"string"},"ClassId":{"format":"int32","description":"The class ID that was used to retrieve the visits.","type":"integer"},"ClientId":{"description":"The ID of the client associated with the visit.","type":"string"},"StartDateTime":{"format":"date-time","description":"The time this class is scheduled to start.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the visit ends. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.","type":"string"},"Id":{"format":"int64","description":"The ID of the visit.","type":"integer"},"LastModifiedDateTime":{"format":"date-time","description":"When included in the request, only records modified on or after the specified `LastModifiedDate` are included in the response. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.","type":"string"},"LateCancelled":{"description":"When `true`, indicates that the class has been `LateCancelled`.<br />\r\nWhen `false`, indicates that the class has not been `LateCancelled`.","type":"boolean"},"LocationId":{"format":"int32","description":"The ID of the location where the visit took place or is to take place.","type":"integer"},"MakeUp":{"description":"When `true`, the client can make up this session and a session is not deducted from the pricing option that was used to sign the client into the enrollment. When the client has the make-up session, a session is automatically removed from a pricing option that matches the service category of the enrollment and is within the same date range of the missed session.<br />\r\nWhen `false`, the client cannot make up this session. See [Enrollments: Make-ups](https://support.mindbodyonline.com/s/article/203259433-Enrollments-Make-ups?language=en_US) for more information.","type":"boolean"},"Name":{"description":"The name of the class.","type":"string"},"ServiceId":{"format":"int64","description":"The ID of the client's pricing option applied to the class visit.","type":"integer"},"ServiceName":{"description":"The name of the pricing option applied to the class visit.","type":"string"},"ProductId":{"format":"int64","description":"The business' ID of the type of pricing option used to pay for the class visit.","type":"integer"},"SignedIn":{"description":"When `true`, indicates that the client has been signed in.<br />\r\nWhen `false`, indicates that the client has not been signed in.","type":"boolean"},"StaffId":{"format":"int64","description":"The ID of the staff member who is teaching the class.","type":"integer"},"WebSignup":{"description":"When `true`, indicates that the client signed up online.<br />\r\nWhen `false`, indicates that the client was signed up by a staff member.","type":"boolean"},"Action":{"description":"The action taken.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"CrossRegionalBookingPerformed":{"description":"When `true`, indicates that the client is paying for the visit using a pricing option from one of their associated cross-regional profiles.","type":"boolean"},"SiteId":{"format":"int32","description":"The ID of the business from which cross-regional payment is applied.","type":"integer"},"WaitlistEntryId":{"format":"int32","description":"When this value is not null, it indicates that the client is on the waiting list for the requested class. The only additional fields that are populated when this is not null are:\r\n* ClassId\r\n* ClientId\r\n\r\nYou can call GET WaitlistEntries using `WaitlistEntryId` to obtain more data about this waiting list entry.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveClientsFromClassesRequest":{"title":"RemoveClientsFromClassesRequest","description":"Remove Clients From Classes Request","type":"object","properties":{"Details":{"description":" This object includes\r\n`ClientIds`: List of the RSSID(string) of the clients to remove from the specified class.\r\n `ClassId`: The ID(number) of the class that you want to remove the clients from.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassController.ClassClientDetail"}},"Test":{"description":"When `true`, the request ensures that its parameters are valid without affecting real data.<br />\r\nWhen `false`, the request performs as intended and may affect live client data.<br />\r\nDefault: **false**","type":"boolean"},"SendEmail":{"description":"When `true`, indicates that the client should be sent an email. Depending on the site and client settings, an email may or may not be sent.<br />\r\nDefault: **false**\r\n**Note**: When the Authorization header is passed and the SendEmail is set to `true`, then an email will be sent.\r\nWhen the Authorization header is passed and the SendEmail is set to `false`, then an email will not be sent.\r\nWhen the Authorization header is not passed and the SendEmail is set to either `true` or `false`, then an email will not be sent.","type":"boolean"},"LateCancel":{"description":"When `true`, indicates that the client is to be late cancelled from the class.<br />\r\nWhen `false`, indicates that the client is to be early cancelled from the class.<br />\r\nDefault: **false**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.ClassClientDetail":{"title":"ClassClientDetail","description":"Class Client Detail Object","required":["ClientIds","ClassId"],"type":"object","properties":{"ClientIds":{"description":"The RSSID of the clients to remove from the specified classes.","type":"array","items":{"type":"string"}},"ClassId":{"format":"int32","description":"The ID of the classes that you want to remove the clients from.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveClientsFromClassesResponse":{"title":"RemoveClientsFromClassesResponse","description":"Remove Clients From Classes Response","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Classes":{"description":"Contains information about the classes from which the clients were removed.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Class"}},"Errors":{"description":"Contains information about the errors","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ApiError"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.UpdateClassRequest":{"title":"UpdateClassRequest","description":"A model for requesting the updates of class properties.","type":"object","properties":{"ClassId":{"format":"int32","description":"Gets the class identifier.","type":"integer"},"ThemeName":{"description":"Gets the class theme.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.AddClassEnrollmentScheduleRequest":{"title":"AddClassEnrollmentScheduleRequest","type":"object","properties":{"ClassDescriptionId":{"format":"int32","description":"The Id of the class/enrollment description. This can be found in GetClassDescriptions.","type":"integer"},"LocationId":{"format":"int32","description":"The Location Id of the enrollment schedule.","type":"integer"},"StartDate":{"format":"date-time","description":"The start date of the enrollment schedule.","type":"string"},"EndDate":{"format":"date-time","description":"The end date of the enrollment schedule.","type":"string"},"StartTime":{"format":"date-time","description":"Enrollment start time (use null or omit for TBD).","type":"string"},"EndTime":{"format":"date-time","description":"Enrollment end time (ignored if StartTime is null or omitted).","type":"string"},"DaySunday":{"description":"If the enrollment occurs on Sunday(s).","type":"boolean"},"DayMonday":{"description":"If the enrollment occurs on Monday(s).","type":"boolean"},"DayTuesday":{"description":"If the enrollment occurs on Tuesday(s).","type":"boolean"},"DayWednesday":{"description":"If the enrollment occurs on Wednesday(s).","type":"boolean"},"DayThursday":{"description":"If the enrollment occurs on Thursday(s).","type":"boolean"},"DayFriday":{"description":"If the enrollment occurs on Friday(s).","type":"boolean"},"DaySaturday":{"description":"If the enrollment occurs on Saturday(s).","type":"boolean"},"StaffId":{"format":"int64","description":"The staff member teaching the enrollment.","type":"integer"},"StaffPayRate":{"format":"int32","description":"The staff pay rate. Must be between 1-21.","type":"integer"},"ResourceId":{"format":"int32","description":"The room where the enrollment is taking place.","type":"integer"},"MaxCapacity":{"format":"int32","description":"How many people can attend.","type":"integer"},"WebCapacity":{"format":"int32","description":"How many people can signup online.\r\nDefault: **0**","type":"integer"},"WaitlistCapacity":{"format":"int32","description":"How many people can waitlist.\r\nDefault:**0**","type":"integer"},"BookingStatus":{"description":"One of: PaymentRequired, BookAndPayLater, Free","type":"string"},"AllowOpenEnrollment":{"description":"Allow clients to choose which sessions they’d like to sign up for.\r\nDefault: **false**","type":"boolean"},"AllowDateForwardEnrollment":{"description":"Allow booking after the enrollment has started.\r\nDefault: **false**","type":"boolean"},"PricingOptionsProductIds":{"description":"Pricing Options for this schedule","type":"array","items":{"format":"int32","type":"integer"}},"ShowToPublic":{"description":"Allow clients to see this schedule\r\nDefault: **true**","type":"boolean"}}},"Mindbody.PublicApi.Data.Models.WrittenClassSchedulesInfo":{"title":"WrittenClassSchedulesInfo","type":"object","properties":{"ClassId":{"format":"int32","description":"The ClassScheduleId.","type":"integer"},"ClassInstanceIds":{"description":"The individual ClassIds of the enrollment schedule.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.UpdateClassEnrollmentScheduleRequest":{"title":"UpdateClassEnrollmentScheduleRequest","type":"object","properties":{"ClassId":{"format":"int32","description":"The class id, a block of schedules","type":"integer"},"ClassDescriptionId":{"format":"int32","description":"Used only internally, overridden if sent","type":"integer"},"LocationId":{"format":"int32","description":"The location where the class is taking place","type":"integer"},"StartDate":{"format":"date-time","description":"Class start time (use null for TBD)","type":"string"},"EndDate":{"format":"date-time","description":"Class end time (ignored if StartTime is null)","type":"string"},"StartTime":{"format":"date-time","description":"Class start time (use null for TBD)","type":"string"},"EndTime":{"format":"date-time","description":"Class end time (ignored if StartTime is null)","type":"string"},"DaySunday":{"description":"(optional) - If the class occurs on Sunday (ignored if EndDate is null)","type":"boolean"},"DayMonday":{"description":"(optional) - If the class occurs on Monday (ignored if EndDate is null)","type":"boolean"},"DayTuesday":{"description":"(optional) - If the class occurs on Tuesday (ignored if EndDate is null)","type":"boolean"},"DayWednesday":{"description":"(optional) - If the class occurs on Wednesday (ignored if EndDate is null)","type":"boolean"},"DayThursday":{"description":"(optional) - If the class occurs on Thursday (ignored if EndDate is null)","type":"boolean"},"DayFriday":{"description":"(optional) - If the class occurs on Friday (ignored if EndDate is null)","type":"boolean"},"DaySaturday":{"description":"(optional) - If the class occurs on Saturday (ignored if EndDate is null","type":"boolean"},"StaffId":{"format":"int64","description":"The staff member teaching the class","type":"integer"},"StaffPayRate":{"format":"int32","description":"The staff pay rate","type":"integer"},"ResourceId":{"format":"int32","description":"(optional) - The room where the class is taking place","type":"integer"},"MaxCapacity":{"format":"int32","description":"How many people can attend","type":"integer"},"WebCapacity":{"format":"int32","description":"How many people can signup online (if 0 clients cannot signup online)","type":"integer"},"WaitlistCapacity":{"format":"int32","description":"One of: PaymentRequired, BookAndPayLater, Free","type":"integer"},"BookingStatus":{"description":"One of: PaymentRequired, BookAndPayLater, Free","type":"string"},"AllowOpenEnrollment":{"description":"Allow clients to choose which sessions they'd like to sign up for","type":"boolean"},"AllowDateForwardEnrollment":{"description":"Allow booking after the enrollment has started","type":"boolean"},"RetainScheduleChanges":{"description":"Whether or not to retain manual schedule changes within the date range","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientsRequest":{"title":"GetClientsRequest","type":"object","properties":{"ClientIDs":{"description":"The requested client IDs.\r\nDefault: **all IDs** that the authenticated user’s access level allows.<br />\r\nNote: You can fetch information for maximum 20 clients at once.","type":"array","items":{"type":"string"}},"SearchText":{"description":"Text to use in the search. Can include FirstName, LastName, and Email. Note that user credentials must be provided.","type":"string"},"IsProspect":{"description":"When `true`, filters the results to include only those clients marked as prospects for the business.<br />\r\nWhen `false`, indicates that only those clients who are not marked prospects should be returned.","type":"boolean"},"LastModifiedDate":{"format":"date-time","description":"Filters the results to include only the clients that have been modified on or after this date.","type":"string"},"UniqueIds":{"description":"Filters results to clients with these `UniqueIDs`. This parameter cannot be used with `ClientIDs` or `SearchText`.\r\nDefault: **all UniqueIDs** that the authenticated user’s access level allows.","type":"array","items":{"format":"int64","type":"integer"}},"IncludeInactive":{"description":"When `true`, indicates the results to include active and inactive clients.<br />\r\nWhen `false`, indicates that only those clients who are marked as active should be returned.\r\nDefault: **false**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientsResponse":{"title":"GetClientsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination properties to use."},"Clients":{"description":"The requested clients.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientWithSuspensionInfo"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientWithSuspensionInfo":{"title":"ClientWithSuspensionInfo","description":"A Client DTO with Suspension Information","type":"object","properties":{"SuspensionInfo":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientSuspensionInfo","description":"Contains information about the client account suspension.\r\nIf **Scheduling Suspensions** setting in General Settings and Options is disabled, \r\nthis field will be null for GetClients and return validation error for UpdateClient."},"AppointmentGenderPreference":{"description":"The gender of staff member with whom the client prefers to book appointments.","enum":["None","Female","Male"],"type":"string"},"BirthDate":{"format":"date-time","description":"The client’s date of birth.","type":"string"},"Country":{"description":"The client’s country.","type":"string"},"CreationDate":{"format":"date-time","description":"The date the client’s profile was created and added to the business, either by the client from the online store, or by a staff member. This value always returns in the format `yyyy-mm-ddThh:mm:ss:ms`.","type":"string"},"CustomClientFields":{"description":"Contains information about the custom fields used for clients in the business.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CustomClientFieldValue"}},"ClientCreditCard":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientCreditCard","description":"Contains information about the client’s credit card."},"ClientIndexes":{"description":"Contains the IDs of the client’s assigned ClientIndexes and ClientIndexValues.\r\n\r\nIf an index is already assigned to the client, it is overwritten with the passed index value. You cannot currently remove client indexes using the Public API. Only the indexes passed in the request are returned in the response.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AssignedClientIndex"}},"ClientRelationships":{"description":"Contains information about the relationship between two clients.\r\n\r\nThis parameter does not include all of the relationships assigned to the client, only the ones passed in the request.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientRelationship"}},"FirstAppointmentDate":{"format":"date-time","description":"The date of the client’s first booked appointment at the business.","type":"string"},"FirstClassDate":{"format":"date-time","description":"The date of the clients first booked class at the business.","type":"string"},"FirstName":{"description":"The client’s first name.","type":"string"},"Id":{"description":"The client’s ID, as configured by the business owner. This is the client’s barcode ID if the business owner assigns barcodes to clients. This ID is used throughout the Public API for client-related Public API calls. When used in a POST `UpdateClient` request, the `Id` is used to identify the client for the update.","type":"string"},"IsCompany":{"description":"When `true`, indicates that the client should be marked as a company at the business.<br />\r\nWhen `false`, indicates the client is an individual and does not represent a company.","type":"boolean"},"IsProspect":{"description":"This value is set only if the business owner allows individuals to be prospects.<br />\r\nWhen `true`, indicates that the client should be marked as a prospect for the business.<br />\r\nWhen `false`, indicates that the client should not be marked as a prospect for the business.","type":"boolean"},"LastName":{"description":"The client’s last name.","type":"string"},"Liability":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Liability","description":"Contains the client’s liability agreement information for the business."},"LiabilityRelease":{"description":"Passing `true` sets the client’s liability information as follows:\r\n* `IsReleased` is set to `true`.\r\n* `AgreementDate` is set to the time zone of the business when the call was processed.\r\n* `ReleasedBy` is set to `null` if the call is made by the client, `0` if the call was made by the business owner, or to a specific staff member’s ID if a staff member made the call.\r\nPassing `false` sets the client’s liability information as follows:\r\n* `IsReleased` is set to `false`.\r\n* `AgreementDate` is set to `null`.\r\n* `ReleasedBy` is set to `null`.","type":"boolean"},"MembershipIcon":{"format":"int32","description":"The ID of the [membership icon](https://support.mindbodyonline.com/s/article/203259703-Membership-Setup-screen?language=en_US) displayed next to the client’s name, if the client has a membership on their account.","type":"integer"},"MobileProvider":{"format":"int32","description":"The client’s mobile provider.","type":"integer"},"Notes":{"description":"Any notes entered on the client’s account by staff members. This value should never be shown to clients unless the business owner has a specific reason for showing them.","type":"string"},"State":{"description":"The client’s state.","type":"string"},"UniqueId":{"format":"int64","description":"The client’s system-generated ID at the business. This value cannot be changed by business owners and is always unique across all clients at the business. This ID is not widely used in the Public API, but can be used by your application to uniquely identify clients.","type":"integer"},"LastModifiedDateTime":{"format":"date-time","description":"The UTC date and time when the client’s information was last modified.","type":"string"},"RedAlert":{"description":"Contains any red alert information entered by the business owner for the client.","type":"string"},"YellowAlert":{"description":"Contains any yellow alert information entered by the business owner for the client.","type":"string"},"MiddleName":{"description":"The client’s middle name.","type":"string"},"ProspectStage":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ProspectStage","description":"Contains information about the client [prospect stage](https://support.mindbodyonline.com/s/article/206176457-Prospect-Stages?language=en_US)."},"Email":{"description":"The client’s email address.","type":"string"},"MobilePhone":{"description":"The client’s mobile phone number.","type":"string"},"HomePhone":{"description":"The client’s home phone number.","type":"string"},"WorkPhone":{"description":"The client’s work phone number.","type":"string"},"AccountBalance":{"format":"double","description":"The client’s current [account balance](https://mindbody-online-support.force.com/support/s/article/203262013-Adding-account-payments-video-tutorial?language=en_US).","type":"number"},"AddressLine1":{"description":"The first line of the client’s street address.","type":"string"},"AddressLine2":{"description":"The second line of the client’s street address, if needed.","type":"string"},"City":{"description":"The client’s city.","type":"string"},"PostalCode":{"description":"The client’s postal code.","type":"string"},"WorkExtension":{"description":"The client’s work phone extension number.","type":"string"},"ReferredBy":{"description":"Specifies how the client was referred to the business. You can get a list of possible strings using the `GetClientReferralTypes` endpoint.","type":"string"},"PhotoUrl":{"description":"The URL of the client’s photo for the client profile.","type":"string"},"EmergencyContactInfoName":{"description":"The name of the client’s emergency contact.","type":"string"},"EmergencyContactInfoEmail":{"description":"The email address of the client’s emergency contact.","type":"string"},"EmergencyContactInfoPhone":{"description":"The phone number of the client’s emergency contact.","type":"string"},"EmergencyContactInfoRelationship":{"description":"The client’s relationship with the emergency contact.","type":"string"},"Gender":{"description":"The gender of the client.","type":"string"},"LastFormulaNotes":{"description":"The last [formula note](https://support.mindbodyonline.com/s/article/203259903-Appointments-Formula-notes?language=en_US) entered for the client.","type":"string"},"Active":{"description":"When `true`, indicates that the client’s profile is marked as active on the site.<br />\r\nWhen `false`, the client’s profile is inactive.\r\nDefaults to `true` based on the assumption that if a client is currently inactive OR is to be marked inactive, this property will explicitly be mapped/set to `false`.","type":"boolean"},"SalesReps":{"description":"A list of sales representatives.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SalesRep"}},"Status":{"description":"The status of the client in the business. Possible values are:\r\n* Declined\r\n* Non-Member\r\n* Active\r\n* Expired\r\n* Suspended\r\n* Terminated","type":"string"},"Action":{"description":"The action taken.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"SendAccountEmails":{"description":"When `true`, indicates that the client has opted to receive general account notifications by email. This property is editable. \r\n<br />Default: **false**","type":"boolean"},"SendAccountTexts":{"description":"When `true`, indicates that the client has opted to receive general account notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.","type":"boolean"},"SendPromotionalEmails":{"description":"When `true`, indicates that the client has opted to receive promotional notifications by email. This property is editable. \r\n<br />Default: **false**","type":"boolean"},"SendPromotionalTexts":{"description":"When `true`, indicates that the client has opted to receive promotional notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.","type":"boolean"},"SendScheduleEmails":{"description":"When `true`, indicates that the client has opted to receive schedule notifications by email. This property is editable. \r\n<br />Default: **false**","type":"boolean"},"SendScheduleTexts":{"description":"When `true`, indicates that the client has opted to receive schedule notifications by text message. This parameter cannot be updated by developers. If included in a request, it is ignored.","type":"boolean"},"HomeLocation":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location","description":"Information about the Home Location for this client"},"LockerNumber":{"description":"The clients locker number.","type":"string"},"ClientType":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientType","description":"The client's assigned client type.\r\nReturns null if the client has no client type assigned.\r\nFor more information, see [Client Types](https://support.mindbodyonline.com/s/article/203259193-Client-Types)."}}},"Mindbody.PublicApi.Dto.Models.V6.ClientSuspensionInfo":{"title":"ClientSuspensionInfo","description":"A Client DTO with Suspension Information","type":"object","properties":{"BookingSuspended":{"description":"When 'true', indicates that the client is suspended from booking","type":"boolean"},"SuspensionStartDate":{"description":"Indicates the Date that BookingSuspension starts 'YYYY-MM-DD'","type":"string"},"SuspensionEndDate":{"description":"Indicates the Date that BookingSuspension ends 'YYYY-MM-DD'","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientDuplicatesRequest":{"title":"GetClientDuplicatesRequest","type":"object","properties":{"FirstName":{"description":"The client first name to match on when searching for duplicates.","type":"string"},"LastName":{"description":"The client last name to match on when searching for duplicates.","type":"string"},"Email":{"description":"The client email to match on when searching for duplicates.","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientDuplicatesResponse":{"title":"GetClientDuplicatesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ClientDuplicates":{"description":"The requested clients.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientDuplicate"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientDuplicate":{"title":"ClientDuplicate","description":"A client record that is considered a duplicate based on matching of the client's first name, last name, AND email fields","type":"object","properties":{"Id":{"description":"The client’s ID, as configured by the business owner. This is the client’s barcode ID if the business owner assigns barcodes to clients. This ID is used throughout the Public API for client-related Public API calls. When used in a POST `UpdateClient` request, the `Id` is used to identify the client for the update.","type":"string"},"UniqueId":{"format":"int64","description":"The client’s system-generated ID at the business. This value cannot be changed by business owners and is always unique across all clients at the business. This ID is not widely used in the Public API, but can be used by your application to uniquely identify clients.","type":"integer"},"FirstName":{"description":"The client’s first name.","type":"string"},"LastName":{"description":"The client’s last name.","type":"string"},"Email":{"description":"The client’s email address.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UploadClientDocumentRequest":{"title":"UploadClientDocumentRequest","required":["ClientId","File"],"type":"object","properties":{"ClientId":{"description":"The RSSID of the client for whom the document is to be uploaded.","type":"string"},"File":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientDocument","description":"Contains information about the file to be uploaded."}}},"Mindbody.PublicApi.Dto.Models.V6.ClientDocument":{"title":"ClientDocument","required":["FileName","MediaType","Buffer"],"type":"object","properties":{"FileName":{"description":"The name of the file to be used on the client’s documents page when it is uploaded.","type":"string"},"MediaType":{"description":"The type of file or file extension. Possible values are:\r\n* pdf\r\n* jpg\r\n* jpeg\r\n* tif\r\n* tiff\r\n* png\r\n* doc\r\n* docx\r\n* bmp\r\n* txt\r\n* rtf\r\n* xlsx\r\n* xls\r\n* gif\r\n* zip\r\n* ppt\r\n* pptx\r\n* mov","type":"string"},"Buffer":{"format":"byte","description":"A Base64-encoded string representation of the file’s byte array.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UploadClientDocumentResponse":{"title":"UploadClientDocumentResponse","type":"object","properties":{"FileSize":{"format":"int64","description":"The size of the uploaded file.","type":"integer"},"FileName":{"description":"The name of the uploaded file.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientVisitsRequest":{"title":"GetClientVisitsRequest","type":"object","properties":{"ClientId":{"description":"The ID of the requested client.","type":"string"},"UniqueClientId":{"format":"int64","description":"The unique ID of the requested client.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","type":"integer"},"ClientAssociatedSitesOffset":{"format":"int32","description":"The number of sites to skip when returning the site associated with a client.","type":"integer"},"CrossRegionalLookup":{"description":"When `true`, indicates that past and scheduled client visits across all sites in the region are returned.<br />\r\nWhen `false`, indicates that only visits at the current site are returned.","type":"boolean"},"EndDate":{"format":"date-time","description":"The date past which class visits are not returned.\r\nDefault: **today's date**","type":"string"},"StartDate":{"format":"date-time","description":"The date before which class visits are not returned.\r\nDefault: **the end date**","type":"string"},"UnpaidsOnly":{"description":"When `true`, indicates that only visits that have not been paid for are returned.<br />\r\nWhen `false`, indicates that all visits are returned, regardless of whether they have been paid for.<br />\r\nDefault: **false**","type":"boolean"},"Order":{"description":"The sort order for the results.<br />\r\nWhen `desc`, results are returned in descending order (newest first).<br />\r\nWhen `asc`, results are returned in ascending order (oldest first).","type":"string"},"ExcludeTypeTakenDescriptions":{"description":"A list of TypeTaken description values (case-insensitive) to exclude from the results.<br />\r\nVisits whose TypeTaken matches any value in this list are omitted.<br />\r\nWhen empty or not provided, no visits are excluded by TypeTaken.<br />","type":"array","items":{"type":"string"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientVisitsResponse":{"title":"GetClientVisitsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Visits":{"description":"Contains information about client visits.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Visit"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientScheduleRequest":{"title":"GetClientScheduleRequest","type":"object","properties":{"ClientId":{"description":"The ID of the requested client.","type":"string"},"UniqueClientId":{"format":"int64","description":"The unique ID of the requested client.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","type":"integer"},"ClientAssociatedSitesOffset":{"format":"int32","description":"The number of sites to skip when returning the site associated with a client.","type":"integer"},"CrossRegionalLookup":{"description":"When `true`, indicates that past and scheduled client visits across all sites in the region are returned.\r\nWhen `false`, indicates that only visits at the current site are returned.","type":"boolean"},"EndDate":{"format":"date-time","description":"The date past which class visits are not returned.\r\nDefault is today’s date","type":"string"},"StartDate":{"format":"date-time","description":"The date before which class visits are not returned.\r\nDefault is the end date","type":"string"},"IncludeWaitlistEntries":{"description":"When `true`, waitlist entries are included in the response.\r\nWhen `false`, waitlist entries are removed from the response.\r\nDefault: **false**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientScheduleResponse":{"title":"GetClientScheduleResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Visits":{"description":"Contains information about client visits including waitlist entries info","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.VisitWithWaitlistInfo"}}}},"Mindbody.PublicApi.Dto.Models.V6.VisitWithWaitlistInfo":{"title":"VisitWithWaitlistInfo","description":"A Visit DTO with Waitlist Information","type":"object","properties":{"WaitlistInfo":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.VisitWaitlistInfo","description":"Contains information about the visit waitlist info."},"AppointmentId":{"format":"int32","description":"The appointment’s ID.","type":"integer"},"AppointmentGenderPreference":{"description":"The gender of staff member with whom the client prefers to book appointments. \r\n\r\nPossible values are:\r\n* Female - Indicates that the client prefers to book appointments with female staff members.\r\n* Male - Indicates that the client prefers to book appointments with male staff members.\r\n* None - Indicates that the client does not have a staff member gender preference.","enum":["None","Female","Male"],"type":"string"},"AppointmentStatus":{"description":"The status of the appointment.","enum":["None","Requested","Booked","Completed","Confirmed","Arrived","NoShow","Cancelled","LateCancelled"],"type":"string"},"ClassId":{"format":"int32","description":"The class ID that was used to retrieve the visits.","type":"integer"},"ClientId":{"description":"The ID of the client associated with the visit.","type":"string"},"ClientPhotoUrl":{"description":"PhotoUrl for the client","type":"string"},"ClientUniqueId":{"format":"int64","description":"The unique ID of the client associated with the visit.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The time this class is scheduled to start.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time the visit ends. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.","type":"string"},"Id":{"format":"int64","description":"The ID of the visit.","type":"integer"},"LastModifiedDateTime":{"format":"date-time","description":"When included in the request, only records modified on or after the specified `LastModifiedDate` are included in the response. The Public API returns UTC dates and times. For example, a class that occurs on June 25th, 2018 at 2:15PM (EST) appears as “2018-06-25T19:15:00Z” because EST is five hours behind UTC. Date time pairs always return in the format YYYY-MM-DDTHH:mm:ssZ.","type":"string"},"LateCancelled":{"description":"When `true`, indicates that the class has been `LateCancelled`.<br />\r\nWhen `false`, indicates that the class has not been `LateCancelled`.","type":"boolean"},"SiteId":{"format":"int32","description":"The ID of the business where the visit is booked.","type":"integer"},"LocationId":{"format":"int32","description":"The ID of the location where the visit took place or is to take place.","type":"integer"},"MakeUp":{"description":"When `true`, the client can make up this session and a session is not deducted from the pricing option that was used to sign the client into the enrollment. When the client has the make-up session, a session is automatically removed from a pricing option that matches the service category of the enrollment and is within the same date range of the missed session.<br />\r\nWhen `false`, the client cannot make up this session. See [Enrollments: Make-ups](https://support.mindbodyonline.com/s/article/203259433-Enrollments-Make-ups?language=en_US) for more information.","type":"boolean"},"Name":{"description":"The name of the class.","type":"string"},"ServiceId":{"format":"int64","description":"The unique ID assigned to this pricing option when it was purchased by the client.","type":"integer"},"ServiceName":{"description":"The name of the pricing option at the site where it was purchased.","type":"string"},"Service":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientService","description":"The details of the pricing option at the site where it was purchased."},"ProductId":{"format":"int64","description":"The ID of the pricing option at the site where it was purchased.","type":"integer"},"SignedIn":{"description":"When `true`, indicates that the client has been signed in.<br />\r\nWhen `false`, indicates that the client has not been signed in.","type":"boolean"},"StaffId":{"format":"int64","description":"The ID of the staff member who is teaching the class.","type":"integer"},"WebSignup":{"description":"When `true`, indicates that the client signed up online.<br />\r\nWhen `false`, indicates that the client was signed up by a staff member.","type":"boolean"},"Action":{"description":"The action taken.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"Missed":{"description":"When `true`, indicates that the class has been `Missed`.<br />\r\nWhen `false`, indicates that the class has not been `Missed`.","type":"boolean"},"VisitType":{"format":"int32","description":"Indicates the Id of visit type.","type":"integer"},"TypeGroup":{"format":"int32","description":"Indicates the Id of type group.","type":"integer"},"TypeTaken":{"description":"Indicates the service type taken.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.VisitWaitlistInfo":{"title":"VisitWaitlistInfo","description":"A Visit DTO with Waitlist Information","type":"object","properties":{"WaitlistId":{"format":"int32","description":"waitlist entry Id","type":"integer"},"WaitlistOrderNumber":{"format":"int32","description":"order of the waitlist entry","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetActiveClientMembershipsRequest":{"title":"GetActiveClientMembershipsRequest","required":["ClientId"],"type":"object","properties":{"ClientId":{"description":"The ID of the client for whom memberships are returned.","type":"string"},"UniqueClientId":{"format":"int64","description":"The Unique ID of the client for whom memberships are returned. Note that UniqueClientId takes precedence over ClientId if both are provided.","type":"integer"},"LocationId":{"format":"int32","description":"Filters results to memberships that can be used to pay for scheduled services at that location. This parameter can not be passed when `CrossRegionalLookup` is `true`.","type":"integer"},"CrossRegionalLookup":{"description":"Used to retrieve a client’s memberships from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that a `SiteID` is returned and populated in the `ClientServices` response when `CrossRegionalLookup` is set to `true`.\r\nDefault: **false**","type":"boolean"},"ClientAssociatedSitesOffset":{"format":"int32","description":"Used to retrieve a client’s memberships from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` set to `true` to use this parameter.<br />\r\nDefault: **0**\r\n\r\nFor example, if a client is associated with 25 sites, you need to call GET `ActiveClientMemberships` three times, as follows:\r\n* Use GET `CrossRegionalClientAssociations` to determine how many sites a client is associated with, which tells you how many additional calls you need to make.\r\n* Either omit `ClientAssociatedSitesOffset` or set it to 0 to return the client’s memberships from sites 1-10\r\n* Set `ClientAssociatedSitesOffset` to 10 to return the client’s memberships from sites 11-20\r\n* Set `ClientAssociatedSitesOffset` to 20 to return the client’s memberships from sites 21-25","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetActiveClientMembershipsResponse":{"title":"GetActiveClientMembershipsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ClientMemberships":{"description":"Details about the requested memberships.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientMembership"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientMembership":{"title":"ClientMembership","type":"object","properties":{"RestrictedLocations":{"description":"The locations that the membership is restricted to, if any.\r\nPlease note that client memberships with location restrictions can only be used to pay for scheduled services at the site to which they belong. Memberships with location restrictions can not be used to pay for scheduled services at other sites within an organization.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location"}},"IconCode":{"description":"Text code that represents the `MembershipIcon`.","type":"string"},"MembershipId":{"format":"int32","description":"The membership's ID.","type":"integer"},"ActiveDate":{"format":"date-time","description":"The date that this pricing option became active and could be used to pay for services.","type":"string"},"Count":{"format":"int32","description":"The number of service sessions this pricing option contained when first purchased.","type":"integer"},"Current":{"description":"When `true`, there are service sessions remaining on the pricing option that can be used pay for the current session.<br />\r\nWhen `false`, the client cannot use this pricing option to pay for other services.","type":"boolean"},"ExpirationDate":{"format":"date-time","description":"The date when the pricing option expires and can no longer be used to pay for services, even if unused service sessions remain on the option; expressed as UTC.","type":"string"},"Id":{"format":"int64","description":"The unique ID assigned to this pricing option, specific to when it was purchased by the client.","type":"integer"},"ProductId":{"format":"int32","description":"The unique ID of this pricing option, not specific to any client's purchase of it.","type":"integer"},"Name":{"description":"The name of this pricing option.","type":"string"},"PaymentDate":{"format":"date-time","description":"The date on which the client paid for this pricing option.","type":"string"},"Program":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Program","description":"Contains information about the service category this service falls under."},"Remaining":{"format":"int32","description":"The number of service sessions remaining in the pricing option that can still be used.","type":"integer"},"SiteId":{"format":"int32","description":"The ID of the subscriber site associated with this pricing option.","type":"integer"},"Action":{"description":"The action taken.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"ClientID":{"description":"The Client ID assigned to this pricing option, specific to when it was purchased by the client.","type":"string"},"Returned":{"description":"Identification for purchased service is returned or not.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetRequiredClientFieldsResponse":{"title":"GetRequiredClientFieldsResponse","type":"object","properties":{"RequiredClientFields":{"description":"A list of strings that maps to the client fields that are required by the site.","type":"array","items":{"type":"string"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientAccountBalancesRequest":{"title":"GetClientAccountBalancesRequest","required":["ClientIds"],"type":"object","properties":{"BalanceDate":{"format":"date-time","description":"The date you want a balance relative to. \r\nDefault: **the current date**","type":"string"},"ClassId":{"format":"int32","description":"The class ID of the event for which you want a balance.","type":"integer"},"ClientIds":{"description":"The list of clients IDs for which you want account balances.","type":"array","items":{"type":"string"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientAccountBalancesResponse":{"title":"GetClientAccountBalancesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Clients":{"description":"A list of clients.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Client"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientPurchasesRequest":{"title":"GetClientPurchasesRequest","required":["ClientId"],"type":"object","properties":{"ClientId":{"description":"The ID of the client you are querying for purchases.","type":"string"},"UniqueClientId":{"format":"int64","description":"The unique ID of the requested client.","type":"integer"},"StartDate":{"format":"date-time","description":"Filters results to purchases made on or after this timestamp.<br />\r\nDefault: **now**","type":"string"},"EndDate":{"format":"date-time","description":"Filters results to purchases made before this timestamp.<br />\r\nDefault: **end of today**","type":"string"},"SaleId":{"format":"int32","description":"Filters results to the single record associated with this ID.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientPurchasesResponse":{"title":"GetClientPurchasesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Purchases":{"description":"Contains information that describes the item sold and the payment.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientPurchaseRecord"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientPurchaseRecord":{"title":"ClientPurchaseRecord","description":"A record of a specific client purchase","type":"object","properties":{"Sale":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Sale","description":"Contains details about the sale and payment for a purchase event."},"Description":{"description":"The item name and description.","type":"string"},"AccountPayment":{"description":"If `true`, the item was a payment credited to an account.","type":"boolean"},"Price":{"format":"double","description":"The price paid for the item.","type":"number"},"AmountPaid":{"format":"double","description":"The amount paid for the item.","type":"number"},"Discount":{"format":"double","description":"The discount amount that was applied to the item.","type":"number"},"Tax":{"format":"double","description":"The amount of tax that was applied to the item.","type":"number"},"Returned":{"description":"The return status of the item. If `true`, this item was returned.","type":"boolean"},"Quantity":{"format":"int32","description":"The quantity of the item purchased.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.Sale":{"title":"Sale","description":"Contains the Sale details.","type":"object","properties":{"Id":{"format":"int64","description":"The sale ID.","type":"integer"},"SaleDate":{"format":"date-time","description":"The date the item was sold.","type":"string"},"SaleTime":{"description":"The time the item was sold.","type":"string"},"SaleDateTime":{"format":"date-time","description":"The date and time the item was sold.","type":"string"},"OriginalSaleDateTime":{"format":"date-time","description":"The date and time the item was sold originally.","type":"string"},"SalesRepId":{"format":"int64","description":"The sales representative ID","type":"integer"},"ClientId":{"description":"The ID of the client who made the purchase.","type":"string"},"RecipientClientId":{"format":"int64","description":"Recipient Client Id.\r\nNote: This field will be deprecated in a future release.\r\nThis information will live inside the `PurchasedItems` list instead, since items can be purchased to different recipients.","type":"integer"},"PurchasedItems":{"description":"Contains the `PurchasedItem` objects that describe the purchased items.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PurchasedItem"}},"LocationId":{"format":"int32","description":"The ID of the location where the sale takes place.","type":"integer"},"Payments":{"description":"Contains the `SalePayment` objects that describe the payments that contributed to this sale.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SalePayment"}}}},"Mindbody.PublicApi.Dto.Models.V6.PurchasedItem":{"title":"PurchasedItem","type":"object","properties":{"SaleDetailId":{"format":"int32","description":"The ID which gets assigned to the item when item is added to the cart.","type":"integer"},"Id":{"format":"int64","description":"The ID of the purchased item. Use this ID when calling the GET Services or GET Products endpoint.","type":"integer"},"IsService":{"description":"When `true`, indicates that the purchased item was a pricing option for a service.","type":"boolean"},"BarcodeId":{"description":"The barcode number of the purchased item. Use this ID when calling the GET Products endpoint.","type":"string"},"Description":{"description":"The description of the sale transaction/pricing option.","type":"string"},"ContractId":{"format":"int32","description":"The contract purchased by the client. Use this ID when calling the GET Contract endpoint.","type":"integer"},"CategoryId":{"format":"int32","description":"The revenue category ID used for sale. Use this ID when calling the GET Categories endpoint.","type":"integer"},"SubCategoryId":{"format":"int32","description":"The ID of revenue subcategory.","type":"integer"},"UnitPrice":{"format":"double","description":"er Unit Price of the item purchased.","type":"number"},"Quantity":{"format":"int32","description":"Quantity of the purchased item, applicable for products only. Note: Negative numbers indicate returned items.","type":"integer"},"DiscountPercent":{"format":"double","description":"The percent discount that was applied to the items subtotal.","type":"number"},"DiscountAmount":{"format":"double","description":"The total discount amount that was applied to the items subtotal.","type":"number"},"Tax1":{"format":"double","description":"A decimal representation of the first tax rate that was applied to the items subtotal.","type":"number"},"Tax2":{"format":"double","description":"A decimal representation of the second tax rate that was applied to the items subtotal.","type":"number"},"Tax3":{"format":"double","description":"A decimal representation of the third tax rate that was applied to the items subtotal.","type":"number"},"Tax4":{"format":"double","description":"A decimal representation of the fourth tax rate that was applied to the items subtotal.","type":"number"},"Tax5":{"format":"double","description":"A decimal representation of the fifth tax rate that was applied to the items subtotal.","type":"number"},"TaxAmount":{"format":"double","description":"Total tax amount that is summation of tax1, tax2, tax3, tax4 and tax5.","type":"number"},"TotalAmount":{"format":"double","description":"The items total, once discounts and/or tax was applied.","type":"number"},"Notes":{"description":"Note made by the customer while purchasing item.","type":"string"},"Returned":{"description":"When `true`, indicates that the purchased item is returned, `false` otherwise.","type":"boolean"},"PaymentRefId":{"format":"int32","description":"The payment reference ID generated during payment of sold item.","type":"integer"},"ExpDate":{"format":"date-time","description":"The expiration date of the pricing option purchased.","type":"string"},"ActiveDate":{"format":"date-time","description":"The activation date of pricing option purchased.","type":"string"},"GiftCardBarcodeId":{"description":"Gift Card BarcodeId","type":"string"},"RecipientClientId":{"format":"int64","description":"The ClientId of the recipient for this purchased item.\r\nThis value may differ from the Sale’s ClientId when items are purchased for another client (e.g., gifting). \r\nUsed to attribute the entitlement/ownership of the item to a client other than the purchaser.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SalePayment":{"title":"SalePayment","type":"object","properties":{"Id":{"format":"int64","description":"A unique identifier for this payment.","type":"integer"},"Amount":{"format":"double","description":"The total amount of sales that were made on the sale date, including all payment methods that were used and taxes that were collected.","type":"number"},"Method":{"format":"int32","description":"The method used to make this payment.","type":"integer"},"Type":{"description":"The payment method type used for the client’s purchase.","type":"string"},"Notes":{"description":"Payment notes that are entered under the selected payment method in the Retail screen before completing the sale.","type":"string"},"TransactionId":{"format":"int32","description":"The ID of transaction. Use this ID when calling the GET Transactions endpoint.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientIndexesRequest":{"title":"GetClientIndexesRequest","type":"object","properties":{"RequiredOnly":{"description":"When `true`, filters the results to only indexes that are required on creation.<br />\r\nWhen `false` or omitted, returns all of the client indexes.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientIndexesResponse":{"title":"GetClientIndexesResponse","type":"object","properties":{"ClientIndexes":{"description":"Contains information about the client indexes.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientIndex"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientIndex":{"title":"ClientIndex","description":"A client index.","type":"object","properties":{"Id":{"format":"int32","description":"The unique ID of the client index.","type":"integer"},"Name":{"description":"The name of the client index.","type":"string"},"RequiredBusinessMode":{"description":"When `true`, indicates that the index is required when creating profiles in business mode.","type":"boolean"},"RequiredConsumerMode":{"description":"When `true`, indicates that the index is required when creating profiles in consumer mode.","type":"boolean"},"Values":{"description":"Contains a list with a single object representing the index value assigned to the client index.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientIndexValue"}},"Action":{"description":"The action performed on this object.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientIndexValue":{"title":"ClientIndexValue","description":"A client index value.","type":"object","properties":{"Active":{"description":"For this call, this value is always `false` and can be ignored.\r\nWhen `false`, indicates that the index value has been deactivated and cannot be assigned to its parent index.","type":"boolean"},"Id":{"format":"int32","description":"The index value’s ID.","type":"integer"},"Name":{"description":"The name of the client index value.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetCustomClientFieldsRequest":{"title":"GetCustomClientFieldsRequest","type":"object","properties":{"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetCustomClientFieldsResponse":{"title":"GetCustomClientFieldsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"CustomClientFields":{"description":"Contains information about the available custom client fields.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CustomClientField"}}}},"Mindbody.PublicApi.Dto.Models.V6.CustomClientField":{"title":"CustomClientField","description":"A custom client field","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the custom client field.","type":"integer"},"DataType":{"description":"The data type of the field.","type":"string"},"Name":{"description":"The name of the field.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetCrossRegionalClientAssociationsRequest":{"title":"GetCrossRegionalClientAssociationsRequest","type":"object","properties":{"UniqueClientId":{"format":"int64","description":"Looks up the cross regional associations by the unique client’s ID.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId' OR the 'Email'. \r\n'UniqueClientId' takes precedence when provided. If not, but both 'ClientId' and 'Email' are provided, 'ClientId' is used by default.","type":"integer"},"ClientId":{"description":"Looks up the cross regional associations by the client’s ID.","type":"string"},"Email":{"description":"Looks up the cross regional associations by the client’s email address.","type":"string"},"FirstName":{"description":"First name (used for email queries)","type":"string"},"LastName":{"description":"Last name (used for email queries)","type":"string"},"V2":{"description":"Use newer method","type":"boolean"},"ExcludeInactiveSites":{"description":"Used to exclude inactive and deleted sites from the results.\r\nWhen this flag is set to `true`, client profiles associated with inactive and deleted sites are not getting returned.\r\nWhen this flag is set to `false`,client profiles associated with inactive and deleted sites are getting returned.\r\nDefault: **true**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetCrossRegionalClientAssociationsResponse":{"title":"GetCrossRegionalClientAssociationsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"CrossRegionalClientAssociations":{"description":"Contains information about the client’s cross regional associations.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CrossRegionalClientAssociation"}}}},"Mindbody.PublicApi.Dto.Models.V6.CrossRegionalClientAssociation":{"title":"CrossRegionalClientAssociation","description":"A client cross region association","type":"object","properties":{"SiteId":{"format":"int32","description":"The ID of the site to which the client belongs.","type":"integer"},"ClientId":{"description":"The client’s RSSID.","type":"string"},"UniqueId":{"format":"int64","description":"The client’s unique ID.","type":"integer"},"SiteIsActive":{"description":"Indicates if site is active","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.AddClientRequest":{"title":"AddClientRequest","required":["FirstName","LastName"],"type":"object","properties":{"AccountBalance":{"format":"double","description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"number"},"Action":{"description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"Active":{"description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"boolean"},"AddressLine1":{"description":"The first line of the client’s street address.\r\nUsed for the client’s primary address on file.","type":"string"},"AddressLine2":{"description":"The second line of the client’s street address, if needed.","type":"string"},"ApptGenderPrefMale":{"description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"boolean"},"BirthDate":{"format":"date-time","description":"The client’s date of birth.","type":"string"},"City":{"description":"The client’s city for the primary address.","type":"string"},"ClientCreditCard":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientCreditCard","description":"Contains information about the client’s credit card.\r\nThis operation is performed after the client is created and may fail independently, resulting in a `PartialSuccess` response."},"ClientIndexes":{"description":"Contains a list of the indexes and client index values to be assigned to the client.\r\nIf an index is already assigned to the client, it is overwritten with the passed index value. You cannot currently remove client indexes using the Public API.\r\nThis operation is performed after the client is created and may fail independently, resulting in a `PartialSuccess` response.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AssignedClientIndex"}},"ClientRelationships":{"description":"Contains information about client relationships that were added or updated for the client. This parameter does not include all of the relationships assigned to the client, only the ones passed in the request.\r\nThis operation is performed after the client is created and may fail independently, resulting in a `PartialSuccess` response.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientRelationship"}},"Country":{"description":"The country for the client’s primary address.","type":"string"},"CreationDate":{"format":"date-time","description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"string"},"CustomClientFields":{"description":"Contains information about the custom fields used for clients in the business.\r\nOnly the fields passed in the request are set.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CustomClientFieldValue"}},"Email":{"description":"The client’s email address.\r\nThis value is used for communications and duplicate detection.","type":"string"},"EmergencyContactInfoEmail":{"description":"The email address of the client’s emergency contact.<br />\r\nFor more information, see [Children’s program features(emergency contact information)](https://support.mindbodyonline.com/s/article/203259283-Children-s-program-features-emergency-contact-information?language=en_US).","type":"string"},"EmergencyContactInfoName":{"description":"The name of the client’s emergency contact.","type":"string"},"EmergencyContactInfoPhone":{"description":"The phone number of the client’s emergency contact.","type":"string"},"EmergencyContactInfoRelationship":{"description":"The client’s relationship with the emergency contact, for example, mother or spouse.","type":"string"},"FirstAppointmentDate":{"format":"date-time","description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"string"},"FirstName":{"description":"The client’s first name. You must specify a first name when you add a client.","type":"string"},"Gender":{"description":"The client’s gender. This value is matched against the site’s gender options and mapped to `GenderOptionId`.\r\nIf the gender does not exist, a new option is created when the caller has the ManageClientGender permission; otherwise, an error is returned.\r\nIf the gender exists but is inactive, an error is returned.","type":"string"},"HomeLocation":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location","description":"Sets the client’s home location to the passed location, based on its ID.\r\nIf omitted, the site’s default location is used."},"HomePhone":{"description":"The client’s home phone number.","type":"string"},"IsCompany":{"description":"When `true`, indicates that the client should be marked as a company at the business.<br />\r\nWhen `false`, indicates the client is an individual and does not represent a company.","type":"boolean"},"IsProspect":{"description":"This value is set only if the business owner allows individuals to be prospects.<br />\r\nIf the business owner has enabled the setting to default new client as a Prospect, the isProspect value will always be true. Otherwise,<br />\r\nWhen `true`, indicates that the client should be marked as a prospect for the business.<br />\r\nWhen `false`, indicates that the client should not be marked as a prospect for the business.","type":"boolean"},"LastFormulaNotes":{"description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"string"},"LastModifiedDateTime":{"format":"date-time","description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"string"},"LastName":{"description":"The client’s last name. You must specify a last name when you add a client.","type":"string"},"Liability":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Liability","description":"Contains the client’s liability agreement information for the business."},"LiabilityRelease":{"description":"When `true`, sets the client’s liability information as follows:\r\n* `IsReleased` is set to true.\r\n* `AgreementDate` is set to the time zone of the business when the call was processed.\r\n* `ReleasedBy` is set to `null` if the call is made by the client, `0` if the call was made by the business owner, or to a specific staff member’s ID if a staff member made the call.\r\nWhen `false`, sets the client’s liability information as follows:\r\n* `IsReleased` is set to `false`.\r\n* `AgreementDate` is set to `null`.\r\n* `ReleasedBy` is set to `null`.","type":"boolean"},"MembershipIcon":{"format":"int32","description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"integer"},"MiddleName":{"description":"The client’s middle name.","type":"string"},"MobilePhone":{"description":"The client’s mobile phone number.","type":"string"},"MobileProvider":{"format":"int32","description":"The client's mobile provider.","type":"integer"},"NewId":{"description":"The new RSSID to be used for the client. Use `NewId` to assign a specific alphanumeric value to be a client’s ID. This RSSID must be unique within the subscriber’s site. If this is a cross-regional update, the RSSID must be unique across the region. If the requested value is already in use, the call returns an error.\r\nNote: NewId value cannot fall within the reserved default ID range (100000000 -&gt; 101000000)","type":"string"},"Notes":{"description":"Any notes entered on the client’s account by staff members. This value should never be shown to clients unless the business owner has a specific reason for showing them.","type":"string"},"PhotoUrl":{"description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.\r\nIf you need to set a client photo URL, you can update it later using the `UpdateClient` endpoint.","type":"string"},"PostalCode":{"description":"The client’s postal code for the primary address.","type":"string"},"ProspectStage":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ProspectStage","description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version."},"RedAlert":{"description":"Contains any red alert information entered by the business owner for the client.","type":"string"},"ReferredBy":{"description":"Specifies how the client was referred to the business. You can get a list of possible strings using the `GET ClientReferralTypes` endpoint.<br />\r\nFor more information, see [Referral types and referral subtypes](https://support.mindbodyonline.com/s/article/203259393-Referral-types-and-referral-subtypes?language=en_US).","type":"string"},"SalesReps":{"description":"Contains information about the sales representatives to be assigned to the new client.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SalesRep"}},"SiteId":{"format":"int32","description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"integer"},"State":{"description":"The client’s state or region for the primary address.","type":"string"},"Status":{"description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"string"},"Test":{"description":"Deprecated. This parameter is accepted for backward compatibility but will return an error for this endpoint.\r\nIf passed as `true`, the request will fail to prevent unintended client creation.","type":"boolean"},"UniqueId":{"format":"int64","description":"Deprecated. This parameter is accepted for backward compatibility but is ignored by this endpoint and will be removed in a future API version.","type":"integer"},"WorkExtension":{"description":"The client’s work phone extension number.","type":"string"},"WorkPhone":{"description":"The client’s work phone number.","type":"string"},"YellowAlert":{"description":"Contains any yellow alert information entered by the business owner for the client.","type":"string"},"SendScheduleEmails":{"description":"When `true`, indicates that the client opts to receive schedule emails.\r\nDefault: **false**","type":"boolean"},"SendAccountEmails":{"description":"When `true`, indicates that the client opts to receive account emails.\r\nDefault: **false**","type":"boolean"},"SendPromotionalEmails":{"description":"When `true`, indicates that the client opts to receive promotional emails.\r\nDefault: **false**","type":"boolean"},"SendScheduleTexts":{"description":"When `true`, indicates that the client opts to receive schedule texts.\r\nThis value is applied only when the caller is permitted to set SMS preferences; otherwise it is ignored.","type":"boolean"},"SendAccountTexts":{"description":"When `true`, indicates that the client opts to receive account texts.\r\nThis value is applied only when the caller is permitted to set SMS preferences; otherwise it is ignored.","type":"boolean"},"SendPromotionalTexts":{"description":"When `true`, indicates that the client opts to receive promotional texts.\r\nThis value is applied only when the caller is permitted to set SMS preferences; otherwise it is ignored.","type":"boolean"},"LockerNumber":{"description":"The client’s locker number.","type":"string"},"ReactivateInactiveClient":{"description":"When `true`, indicates that the request should reactivate an existing inactive client if a duplicate is found.","type":"boolean"},"LeadChannelId":{"format":"int32","description":"The ID of the LeadChannel from Lead Management. This parameter is required by Lead Management to track the lead source for the new client.\r\nIf not supplied, Lead Management tracking is not applied.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.AddClientResponse":{"title":"AddClientResponse","type":"object","properties":{"Client":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Client","description":"Contains information about the client.\r\nSeveral properties in the returned Client object were deprecated in the AddClient request and were never persisted to the database.\r\nThe API previously echoed request values back as if they had been stored; it now returns the actual stored state (typically defaults such as null, 0, or empty).\r\nAffected properties include: PhotoUrl, ProspectStage, AccountBalance, Action, Active, ApptGenderPrefMale, CreationDate, FirstAppointmentDate, LastFormulaNotes, LastModifiedDateTime, MembershipIcon, Status, UniqueId.\r\nAdditionally, post-creation operations (ClientCreditCard, ClientIndexes, ClientRelationships, SalesReps) are performed after the client is created and may not be included in the immediate response; use GetClient or GetClientCompleteInfo to retrieve the current state."},"Status":{"description":"The overall status of the operation.\r\n\"Success\" indicates the client was created and all non-critical operations completed successfully.\r\n\"PartialSuccess\" indicates the client was created but one or more non-critical operations failed.\r\nWhen status is \"PartialSuccess\", retry only the failed operations, not the client creation itself.","type":"string"},"Errors":{"description":"List of errors from non-critical operations that failed.\r\nOnly populated when Status is \"PartialSuccess\".\r\nEach error includes the operation name and a message suitable for logging or retry decisions.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.OperationErrorResponse"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.OperationErrorResponse":{"title":"OperationErrorResponse","description":"Represents an error that occurred during a non-critical operation.","type":"object","properties":{"Operation":{"description":"The name of the operation that failed (e.g., \"CreditCardStorage\", \"WelcomeEmail\", \"MailingList\", \"ContactManagement\", \"ClientIndexes\", \"ClientRelationships\").","type":"string"},"Message":{"description":"A description of the error that occurred.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientRequest":{"title":"UpdateClientRequest","required":["Client"],"type":"object","properties":{"Client":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientWithSuspensionInfo","description":"Contains information about the client to be updated. The client ID is used to look up the existing client to update and any specified values are updated."},"Test":{"description":"When `true`, indicates that test mode is enabled. The method is validated, but no client data is added or updated.<br />\r\nDefault: **false**","type":"boolean"},"CrossRegionalUpdate":{"description":"When `true`, the updated information is propagated to all of the region’s sites where the client has a profile.<br />\r\nWhen `false`, only the local client is updated.<br />\r\nDefault: **true**<br />\r\nImportant: The fields below will automatically propagate cross-regionally when updated through the UpdateClient endpoint, regardless the CrossRegionalUpdate parameter is set to `true` or `false`.   \r\n * `RSSID`\r\n * `Prefix`\r\n * `Name (First, Middle, Last, Nickname)`\r\n * `Email`\r\n * `Birthday`\r\n * `Phone (Home, Mobile, Work, Extension)`\r\n * `Address`","type":"boolean"},"NewId":{"description":"The new RSSID to be used for the client. Use `NewId` to assign a specific number to be a client’s ID. If that number is not available, the call returns an error. This RSSID must be unique within the subscriber’s site. If this is a cross-regional update, the RSSID must be unique across the region. If the requested number is already in use, an error is returned.\r\nNote: NewId value cannot fall within the reserved default ID range (100000000 -&gt; 101000000)","type":"string"},"LeadChannelId":{"format":"int32","description":"The ID of the Lead Channel ID from lead management. If this is supplied then it will map lead channel on the lead management.\r\nIf this is not supplied then it will have Publicapi LeadChannelId.\r\nThis parameters required to track the lead channel if new client added to the location.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientResponse":{"title":"UpdateClientResponse","type":"object","properties":{"Client":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientWithSuspensionInfo","description":"Contains information about the updated client."}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientVisitRequest":{"title":"UpdateClientVisitRequest","required":["VisitId"],"type":"object","properties":{"VisitId":{"format":"int32","description":"The ID of the visit to be updated.","type":"integer"},"Makeup":{"description":"When `true`, indicates that the visit is eligible to be made up.","type":"boolean"},"SignedIn":{"description":"When `true`, indicates that the client has signed in for the visit.","type":"boolean"},"ClientServiceId":{"format":"int32","description":"The ID of the service to assign to the visit.","type":"integer"},"Execute":{"description":"The execute code used to update this visit. Possible values are:\r\n* Cancel\r\n* Latecancel\r\n* Unlatecancel","type":"string"},"Test":{"description":"When `true`, indicates that test mode is enabled. When test mode is enabled, input information is validated, but not committed.<br />\r\nDefault: **false**","type":"boolean"},"SendEmail":{"description":"When `true`, indicates that the client should be sent an email for cancellations. Note that email is not sent unless the client has an email address and automatic emails have been set up correctly.<br />\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientVisitResponse":{"title":"UpdateClientVisitResponse","type":"object","properties":{"Visit":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Visit","description":"The updated visit."}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.AddArrivalRequest":{"title":"AddArrivalRequest","required":["ClientId","LocationId"],"type":"object","properties":{"ClientId":{"description":"The ID of the requested client.","type":"string"},"LocationId":{"format":"int32","description":"The ID of the location for the requested arrival.","type":"integer"},"ArrivalTypeId":{"format":"int32","description":"The ID of the arrival program (service category) under which this arrival is to be logged. If this is not provided, the program ID of the first arrival pricing option found will be used.\r\nOPTIONAL: will take first payment found if not provided\r\nDefault: **null**","type":"integer"},"LeadChannelId":{"format":"int32","description":"The ID of the Lead Channel ID from lead management. If this is supplied then it will map lead channel on the lead management.\r\nIf this is not supplied then it wont save anything.\r\nThis parameters required to track the lead channel if new client added while adding arrival of client on non home location.","type":"integer"},"Test":{"description":"When `true`, indicates that the arrival log is to be validated, but no new arrival data is added. When `false`, the arrival is logged and the database is affected.\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.AddArrivalResponse":{"title":"AddArrivalResponse","type":"object","properties":{"ArrivalAdded":{"description":"When `true`, indicates that the arrival was added to the database.","type":"boolean"},"ClientService":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientService","description":"Contains information about the pricing option being used to pay for the client’s current service session."}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientServiceRequest":{"title":"UpdateClientServiceRequest","required":["ServiceId"],"type":"object","properties":{"ServiceId":{"format":"int32","description":"The ID of the service to update.","type":"integer"},"ActiveDate":{"format":"date-time","description":"The date that the service became active.","type":"string"},"ExpirationDate":{"format":"date-time","description":"The date that the service is to expire.","type":"string"},"Count":{"format":"int32","description":"The number of client service sessions to update.","type":"integer"},"Test":{"description":"When `true`, indicates that input information is to be validated, but not committed.<br />\r\nWhen `false` or omitted, the database is affected.<br />\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientServiceResponse":{"title":"UpdateClientServiceResponse","type":"object","properties":{"ClientService":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientService","description":"Contains information about the service to be updated."}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientCompleteInfoRequest":{"title":"GetClientCompleteInfoRequest","description":"request for GetClientCompleteInfoRequest","required":["ClientId"],"type":"object","properties":{"ClientId":{"description":"Filters results to client with these ID.","type":"string"},"StartDate":{"format":"date-time","description":"Filters results to pricing options that are purchased on or after this date. \r\nDefault: **today’s date**.","type":"string"},"EndDate":{"format":"date-time","description":"Filters results to pricing options that are purchased on or before this date. \r\nDefault: **today’s date**.","type":"string"},"CrossRegionalLookup":{"description":"Used to retrieve a clients pricing options from multiple sites within an organization.When included and set to `true`,\r\nit searches a maximum of ten sites with which this client is associated.When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated.\r\nYou can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. \r\nNote that a `SiteID` is returned and populated in the `ClientServices` response when `CrossRegionalLookup` is set to `true`.\r\n Default: **false**","type":"boolean"},"ClientAssociatedSitesOffset":{"format":"int32","description":"Used to retrieve a client’s pricing options from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` set to `true` to use this parameter.<br />\r\nDefault: **0**\r\n\r\nFor example, if a client is associated with 25 sites, you need to call `GetClientServices` three times, as follows:\r\n* Use `GET CrossRegionalClientAssociations` to determine how many sites a client is associated with, which tells you how many additional calls you need to make.\r\n* Either omit `ClientAssociatedSitesOffset` or set it to 0 to return the client’s services (pricing options) from sites 1-10.\r\n* Set `ClientAssociatedSitesOffset` to 10 to return the client pricing options from sites 11-20\r\n* Set `ClientAssociatedSitesOffset` to 20 to return the client pricing options from sites 21-25","type":"integer"},"RequiredClientData":{"description":"Used to retrieve list of purchased services, contract details, membership details and arrival programs for a specific client. \r\nDefault `ClientServices`, `ClientContracts`, `ClientMemberships` and `ClientArrivals` will be returned when `RequiredClientDatais` not set. \r\nWhen `RequiredClientData` is set to `Contracts` then only `ClientContracts` will be returned in the response. \r\nWhen `RequiredClientData` is set to Services then only `ClientServices` will be returned in the response.\r\nWhen `RequiredClientData` is set to `Memberships` then only `ClientMemberships` will be returned in the response. \r\nWhen `RequiredClientData` is set to `ArrivalPrograms` then only `ClientArrivals` will be returned in the response.","type":"array","items":{"type":"string"}},"ExcludeInactiveSites":{"description":"When this flag is set to `true`, will exclude inactive sites from the response\r\nDefault: **false**","type":"boolean"},"UseActivateDate":{"description":"When this flag is set to `true`, the date filtering will use activate date to filter the pricing options.\r\nWhen this flag is set to `false`, the date filtering will use purchase date to filter the pricing options.\r\nDefault: **false**","type":"boolean"},"ShowActiveOnly":{"description":"When `true`, includes active services only. Set this field to `true` when trying to determine if a client has a \r\nservice that can pay for a class or appointment.\r\nDefault: **false**","type":"boolean"},"UniqueClientId":{"format":"int64","description":"The unique ID of the client who is viewing this class list.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientCompleteInfoResponse":{"title":"GetClientCompleteInfoResponse","description":"Contains information about the requested client.","type":"object","properties":{"Client":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientWithSuspensionInfo","description":"Contains information about the requested client."},"ClientServices":{"description":"Contains information about client pricing options, including activation behavior details.\r\nEach item includes ActivationType and CannotPayForClassesBeforeActivation fields\r\nto help determine booking eligibility based on the pricing option's activation configuration.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientServiceWithActivationType"}},"ClientContracts":{"description":"Contains information about client contract.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientContract"}},"ClientMemberships":{"description":"Contains information about client Memberships.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientMembership"}},"ClientArrivals":{"description":"Contains information about client arrival services.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientArrival"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientServiceWithActivationType":{"title":"ClientServiceWithActivationType","description":"Represents a pricing option (service) on a client's account, including activation behavior details.\r\nThis model extends ClientService to include additional fields that describe\r\nhow and when the pricing option becomes active for use.\r\n\r\nFor more information about pricing option activation, see the following support articles:\r\n- [How to change a pricing option activation date set to begin on the client's first visit](https://support.mindbodyonline.com/s/article/203268693-How-do-I-adjust-a-pricing-option-that-activates-on-the-date-of-client-s-first-visit-to-cover-a-visit-before-its-activation-date)\r\n- [How to set offset activation dates for contracts](https://support.mindbodyonline.com/s/article/Offset-Activation)\r\n- [How do I expire or terminate an unused pricing option that activates on the date of the first visit](https://support.mindbodyonline.com/s/article/How-do-I-expire-terminate-an-unused-pricing-option-that-activates-on-date-of-first-visit)\r\n- [Pricing option activation date options](https://support.mindbodyonline.com/s/article/203257593-What-are-the-differences-between-the-different-pricing-option-activation-dates)","type":"object","properties":{"ActivationType":{"description":"Specifies how this pricing option is configured to activate.\r\nThis value reflects the activation behavior defined in the Core system when the pricing option was created.\r\nUse this field to determine whether the ActiveDate represents the purchase date\r\nor a future date pending the client's first visit.\r\nPossible values:\r\n- OnFirstVisit: The pricing option activates on the client's first visit (check-in) after purchase.\r\n  The ActiveDate is set to the date of that first visit.\r\n  Until the client checks in, the ActiveDate may be null or set to a future/placeholder date.\r\n- OnPurchase: The pricing option activates immediately upon purchase.\r\n  The ActiveDate is set to the purchase date.","enum":["OnFirstVisit","OnPurchase"],"type":"string"},"CannotPayForClassesBeforeActivation":{"description":"Indicates whether the site enforces activation date restrictions for booking.\r\nThis value reflects the site-level setting \"EnforceActivationDates\" (also known as \"Check Activation Dates\")\r\nfor the subscriber identified by SiteId.\r\nWhen integrating with booking workflows, use this field in conjunction with ActivationType\r\nto determine if a pricing option can be applied for a booking:\r\n- true: The site enforces activation dates. The client cannot use this pricing option to pay for\r\n  classes or appointments scheduled before the ActiveDate.\r\n- false: The site allows booking before activation. The client can use this pricing option to pay for\r\n  classes or appointments scheduled before the ActiveDate.\r\n  This is commonly used with \"Activate on First Visit\" pricing options to allow immediate booking.","type":"boolean"},"ActiveDate":{"format":"date-time","description":"The date that this pricing option became active and could be used to pay for services.","type":"string"},"Count":{"format":"int32","description":"The number of service sessions this pricing option contained when first purchased.","type":"integer"},"Current":{"description":"When `true`, there are service sessions remaining on the pricing option that can be used pay for the current session.<br />\r\nWhen `false`, the client cannot use this pricing option to pay for other services.","type":"boolean"},"ExpirationDate":{"format":"date-time","description":"The date when the pricing option expires and can no longer be used to pay for services, even if unused service sessions remain on the option; expressed as UTC.","type":"string"},"Id":{"format":"int64","description":"The unique ID assigned to this pricing option, specific to when it was purchased by the client.","type":"integer"},"ProductId":{"format":"int32","description":"The unique ID of this pricing option, not specific to any client's purchase of it.","type":"integer"},"Name":{"description":"The name of this pricing option.","type":"string"},"PaymentDate":{"format":"date-time","description":"The date on which the client paid for this pricing option.","type":"string"},"Program":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Program","description":"Contains information about the service category this service falls under."},"Remaining":{"format":"int32","description":"The number of service sessions remaining in the pricing option that can still be used.","type":"integer"},"SiteId":{"format":"int32","description":"The ID of the subscriber site associated with this pricing option.","type":"integer"},"Action":{"description":"The action taken.","enum":["None","Added","Updated","Failed","Removed"],"type":"string"},"ClientID":{"description":"The Client ID assigned to this pricing option, specific to when it was purchased by the client.","type":"string"},"Returned":{"description":"Identification for purchased service is returned or not.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientContract":{"title":"ClientContract","description":"A client contract.","type":"object","properties":{"PayerClientId":{"format":"int64","description":"The ID of the client who holds the contract.","type":"integer"},"AgreementDate":{"format":"date-time","description":"The date on which the contract was signed.","type":"string"},"AutopayStatus":{"description":"The status of the client’s autopay.","enum":["Active","Inactive","Suspended"],"type":"string"},"AutoRenewing":{"description":"Determines if the contract is auto-renewing.","type":"boolean"},"FirstAutoPay":{"format":"double","description":"The amount of the first autopay transaction.","type":"number"},"LastAutoPay":{"format":"double","description":"The amount of the last autopay transaction.","type":"number"},"NormalAutoPay":{"format":"double","description":"The amount of the normal recurring autopay transaction.","type":"number"},"IsMonthToMonth":{"description":"Indicates if the contract renews on a month-to-month basis.","type":"boolean"},"AutoRenewClientContractID":{"format":"int32","description":"The ID of the contract that this one auto-renews from.","type":"integer"},"ContractText":{"description":"The full text of the contract.","type":"string"},"ContractAutoRenewed":{"description":"Indicates whether the contract was auto-renewed from a previous one.","type":"boolean"},"ContractName":{"description":"The name of the contract.","type":"string"},"EndDate":{"format":"date-time","description":"The date that the contract expires.","type":"string"},"Id":{"format":"int32","description":"The unique ID of the sale of the contract. Each time a contract is sold, this ID increases sequentially.","type":"integer"},"OriginationLocationId":{"format":"int32","description":"The ID of the location where the contract was issued.","type":"integer"},"StartDate":{"format":"date-time","description":"The date that the contract became active.","type":"string"},"SiteId":{"format":"int32","description":"The ID of the site where the contract was issued.","type":"integer"},"UpcomingAutopayEvents":{"description":"Contains details of the autopay events.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.UpcomingAutopayEvent"}},"ContractID":{"format":"int32","description":"The ID of the contract.","type":"integer"},"TerminationDate":{"format":"date-time","description":"The date that the contract was terminated.","type":"string"},"MinimumCommitmentValue":{"format":"int32","description":"Minimum commitment value.","type":"integer"},"MinimumCommitmentUnit":{"description":"Minimum commitment unit type.","enum":["Weeks","Months","Years"],"type":"string"},"MinimumCommitmentEndDate":{"format":"date-time","description":"The earliest date a contract termination can take effect if a minimum commitment applies.\r\nThis represents the last day the client is obligated to remain on the contract.\r\nReturned even if the commitment has already been fulfilled.","type":"string","readOnly":true}}},"Mindbody.PublicApi.Dto.Models.V6.ClientArrival":{"title":"ClientArrival","type":"object","properties":{"ArrivalProgramID":{"format":"int32","description":"Arrival program id","type":"integer"},"ArrivalProgramName":{"description":"Arrival program name","type":"string"},"CanAccess":{"description":"Property to check client can access arrival service.","type":"boolean"},"LocationsIDs":{"description":"List of locations where arrival service can availed","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.UpcomingAutopayEvent":{"title":"UpcomingAutopayEvent","type":"object","properties":{"ClientContractId":{"format":"int32","description":"The ID of the contract.","type":"integer"},"ChargeAmount":{"format":"double","description":"The amount charged.","type":"number"},"Subtotal":{"format":"double","description":"Subtotal before tax.","type":"number"},"Tax":{"format":"double","description":"Tax amount.","type":"number"},"PaymentMethod":{"description":"The payment method.","enum":["Other","CreditCard","DebitAccount","ACH"],"type":"string"},"ScheduleDate":{"format":"date-time","description":"The date and time of the next payment.","type":"string"},"ProductId":{"format":"int32","description":"The product id.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetActiveClientsMembershipsRequest":{"title":"GetActiveClientsMembershipsRequest","required":["ClientIds"],"type":"object","properties":{"ClientIds":{"description":"The ID of the client for whom memberships are returned. Maximum allowed : 200.","type":"array","items":{"type":"string"}},"LocationId":{"format":"int32","description":"Filters results to memberships that can be used to pay for scheduled services at that location. This parameter can not be passed when `CrossRegionalLookup` is `true`.","type":"integer"},"CrossRegionalLookup":{"description":"Used to retrieve a client’s memberships from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that a `SiteID` is returned and populated in the `ClientServices` response when `CrossRegionalLookup` is set to `true`.\r\nDefault: **false**","type":"boolean"},"ClientAssociatedSitesOffset":{"format":"int32","description":"Used to retrieve a client’s memberships from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` set to `true` to use this parameter.<br />\r\nDefault: **0**\r\n\r\nFor example, if a client is associated with 25 sites, you need to call `GetClientServices` three times, as follows:\r\n* Use `GET CrossRegionalClientAssociations` to determine how many sites a client is associated with, which tells you how many additional calls you need to make.\r\n* Either omit `ClientAssociatedSitesOffset` or set it to 0 to return the client’s services (pricing options) from sites 1-10.\r\n* Set `ClientAssociatedSitesOffset` to 10 to return the client pricing options from sites 11-20\r\n* Set `ClientAssociatedSitesOffset` to 20 to return the client pricing options from sites 21-25","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetActiveClientsMembershipsResponse":{"title":"GetActiveClientsMembershipsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ClientMemberships":{"description":"Details about the requested memberships.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientMemberships"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientMemberships":{"title":"ClientMemberships","type":"object","properties":{"ClientId":{"description":"ID of the client.","type":"string"},"Memberships":{"description":"Contains information about the Client Memberships details.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientMembership"}},"ErrorMessage":{"type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.SendAutoEmailRequest":{"title":"SendAutoEmailRequest","required":["ClientId","EmailType"],"type":"object","properties":{"ClientId":{"description":"The ID of the client email will be sent to.","type":"string"},"EmailType":{"description":"The type of the email that will be sent to a client. \r\nPossible values are:\r\n* BusinessWelcomeEmail\r\n* ConsumerWelcomeEmail","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientContractsRequest":{"title":"GetClientContractsRequest","required":["ClientId"],"type":"object","properties":{"ClientId":{"description":"The ID of the client (RssId).","type":"string"},"UniqueClientId":{"format":"int64","description":"The unique ID of the requested client.","type":"integer"},"CrossRegionalLookup":{"description":"When `true`, indicates that the requesting client’s cross regional contracts are returned, if any.<br />\r\nWhen `false`, indicates that cross regional contracts are not returned.","type":"boolean"},"ClientAssociatedSitesOffset":{"format":"int32","description":"Determines how many sites are skipped over when retrieving a client’s cross regional contracts. Used when a client ID is linked to more than ten sites in an organization. Only a maximum of ten site databases are queried when this call is made and `CrossRegionalLookup` is set to `true`. To change which sites are queried, change this offset value.\r\nDefault: **0**","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientContractsResponse":{"title":"GetClientContractsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Contracts":{"description":"Contains the details of the client’s contract.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientContract"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.TerminateContractRequest":{"title":"TerminateContractRequest","required":["ClientId","ClientContractId","TerminationDate"],"type":"object","properties":{"ClientId":{"description":"The ID of the client.\r\nNOTE: this should be the PayerClientId (from GET ClientContracts and/or GET ClientCompleteInfo), which is the ID of the client who holds the contract.","type":"string"},"ClientContractId":{"format":"int32","description":"The unique ID of the sale of the contract","type":"integer"},"TerminationDate":{"format":"date-time","description":"The contract termination date.","type":"string"},"TerminationCode":{"description":"ex. Illness, Injury, Moving, BreakingContract (Note this can be customized by each studio).","type":"string"},"TerminationComments":{"description":"The comments for terminating a contract.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.TerminateContractResponse":{"title":"TerminateContractResponse","type":"object","properties":{"Contract":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientContract","description":"Contains confirmation message for the successful contract termination."}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateClientContractAutopaysRequest":{"title":"UpdateClientContractAutopaysRequest","type":"object","properties":{"ClientContractId":{"format":"int32","description":"Client Contract Id","type":"integer"},"AutopayStartDate":{"format":"date-time","description":"Autopay start date","type":"string"},"AutopayEndDate":{"format":"date-time","description":"(optional) - Indefinite if not provided","type":"string"},"ProductId":{"format":"int32","description":"Product Id to update (optional if contract has only one product)","type":"integer"},"ReplaceWithProductId":{"format":"int32","description":"(optional) - Replaces the product with this product","type":"integer"},"Amount":{"format":"double","description":"Overrides autopay amount or amount that would come from ProductId","type":"number"},"OverwriteAllProductIDs":{"description":"(optional) - If true, will update autopays with any productID","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.Contract":{"title":"Contract","type":"object","properties":{"Id":{"format":"int32","description":"The contract’s ID at the subscriber’s business.","type":"integer"},"Name":{"description":"The name of the contract.","type":"string"},"Description":{"description":"A description of the contract.","type":"string"},"AssignsMembershipId":{"format":"int32","description":"The ID of the membership that was assigned to the client when the client signed up for a contract.","type":"integer"},"AssignsMembershipName":{"description":"The name of the membership that was assigned to the client when the client signed up for this contract.","type":"string"},"SoldOnline":{"description":"When `true`, indicates that this membership is intended to be shown to clients in client experiences.<br />\r\nWhen `false`, this contract should only be shown to staff members.","type":"boolean"},"ContractItems":{"description":"Contains information about the items in the contract.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ContractItem"}},"IntroOffer":{"description":"Defines whether this contract is treated as an introductory offer. If this is an introductory offer, then clients are always charged a set number of times rather than month to month, using their AutoPays. Possible values are:\r\n* None\r\n* NewConsumer\r\n* NewAndReturningConsumer","type":"string"},"AutopaySchedule":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AutopaySchedule","description":"Contains information about the AutoPay schedule. This parameter is null if `AutopayTriggerType` has a value of `PricingOptionRunsOutOrExpires`."},"NumberOfAutopays":{"format":"int32","description":"The number of times that the AutoPay is to be run. This value is null if `FrequencyType` is `MonthToMonth`.","type":"integer"},"AutopayTriggerType":{"description":"Defines whether the AutoPay, if applicable to this contract, runs on a set schedule or when the pricing option runs out or expires. Possible values are:\r\n* OnSetSchedule\r\n* PricingOptionRunsOutOrExpires","type":"string"},"ActionUponCompletionOfAutopays":{"description":"The renewal action to be taken when this AutoPay is completed. Possible values are:\r\n* ContractExpires\r\n* ContractAutomaticallyRenews","type":"string"},"ClientsChargedOn":{"description":"The value that indicates when clients are charged. Possible values are:\r\n* OnSaleDate\r\n* FirstOfTheMonth\r\n* FifteenthOfTheMonth\r\n* LastDayOfTheMonth\r\n* FirstOrFifteenthOfTheMonth\r\n* FirstOrSixteenthOfTheMonth\r\n* FifteenthOrEndOfTheMonth\r\n* SpecificDate","type":"string"},"ClientsChargedOnSpecificDate":{"format":"date-time","description":"If `ClientsChargedOn` is defined as a specific date, this property holds the value of that date. Otherwise, this property is null.","type":"string"},"DiscountAmount":{"format":"double","description":"The calculated discount applied to the items in this contract.","type":"number"},"DepositAmount":{"format":"double","description":"The amount of the deposit required for this contract.","type":"number"},"FirstAutopayFree":{"description":"When `true`, indicates that the first payment for the AutoPay is free.","type":"boolean"},"LastAutopayFree":{"description":"When `true`, indicates that the last payment for the AutoPay is free.","type":"boolean"},"ClientTerminateOnline":{"description":"When `true`, indicates that the client can terminate this contract on the Internet.","type":"boolean"},"MembershipTypeRestrictions":{"description":"Contains information about the memberships that can purchase this contract. If null, then no membership restrictions exist, and anyone can purchase the contract.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.MembershipTypeRestriction"}},"LocationPurchaseRestrictionIds":{"description":"The IDs of the locations where this contract may be sold. If there are no restrictions, this value is null.","type":"array","items":{"format":"int32","type":"integer"}},"LocationPurchaseRestrictionNames":{"description":"Location names where the contract may be purchased. If this value is null, there are no restrictions.","type":"array","items":{"type":"string"}},"AgreementTerms":{"description":"Business-defined terms and conditions for the contract.","type":"string"},"RequiresElectronicConfirmation":{"description":"When `true`, clients who purchase the contract are prompted to agree to the terms of the contract the next time that they log in.","type":"boolean"},"AutopayEnabled":{"description":"When `true`, this contract establishes an AutoPay on the client’s account.","type":"boolean"},"FirstPaymentAmountSubtotal":{"format":"double","description":"The subtotal of the amount that the client is to be charged when signing up for the contract.","type":"number"},"FirstPaymentAmountTax":{"format":"double","description":"The amount of tax that the client is to be charged when signing up for the contract.","type":"number"},"FirstPaymentAmountTotal":{"format":"double","description":"The total amount that the client is to be charged when signing up for the contract.","type":"number"},"RecurringPaymentAmountSubtotal":{"format":"double","description":"The subtotal amount that the client is to be charged on an ongoing basis.","type":"number"},"RecurringPaymentAmountTax":{"format":"double","description":"The amount of tax the client is to be charged on an ongoing basis.","type":"number"},"RecurringPaymentAmountTotal":{"format":"double","description":"The total amount that the client is to be charged on an ongoing basis.","type":"number"},"TotalContractAmountSubtotal":{"format":"double","description":"The subtotal amount that the client is to be charged over the lifespan of the contract.","type":"number"},"TotalContractAmountTax":{"format":"double","description":"The total amount of tax the client is to be charged over the lifespan of the contract.","type":"number"},"TotalContractAmountTotal":{"format":"double","description":"The total amount the client is to be charged over the lifespan of the contract.","type":"number"},"PromoPaymentAmountSubtotal":{"format":"double","description":"Subtotal promotional period","type":"number"},"PromoPaymentAmountTax":{"format":"double","description":"Taxes of promotional period","type":"number"},"PromoPaymentAmountTotal":{"format":"double","description":"Total of promotional period","type":"number"},"NumberOfPromoAutopays":{"format":"int32","description":"Number of times that the AutoPay runs under the promotional period","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ContractItem":{"title":"ContractItem","type":"object","properties":{"Id":{"description":"The ID of the item.","type":"string"},"Name":{"description":"The name of the item.","type":"string"},"Description":{"description":"A description of the item.","type":"string"},"Type":{"description":"The type of the item.","type":"string"},"Price":{"format":"double","description":"The price of the item.","type":"number"},"Quantity":{"format":"int32","description":"The quantity of the item.","type":"integer"},"OneTimeItem":{"description":"When `true`, indicates that the item is charged only once.<br />\r\nWhen `false`, indicates that the item is charged multiple times.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.AutopaySchedule":{"title":"AutopaySchedule","type":"object","properties":{"FrequencyType":{"description":"Defines how often clients are charged. Possible values are:\r\n* SetNumberOfAutopays\r\n* MonthToMonth","type":"string"},"FrequencyValue":{"format":"int32","description":"The interval of AutoPay frequency, combined with `FrequencyTimeUnit`. This value is null if `FrequencyType` is `MonthToMonth`.","type":"integer"},"FrequencyTimeUnit":{"description":"Defines the time unit that sets how often to run the AutoPay, combined with `FrequencyValue`. This value is null if `FrequencyType` is `MonthToMonth`. Possible values are:\r\n* Weekly\r\n* Monthly\r\n* Yearly","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.MembershipTypeRestriction":{"title":"MembershipTypeRestriction","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the membership that is allowed to purchase the contract.","type":"integer"},"Name":{"description":"The name of the membership type.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.SuspendContractRequest":{"title":"SuspendContractRequest","required":["ClientId","ClientContractId"],"type":"object","properties":{"ClientId":{"description":"The ID of the client.","type":"string"},"ClientContractId":{"format":"int32","description":"The unique ID of the sale of the contract.","type":"integer"},"SuspensionType":{"description":"ex. Illness, Injury, Vacation. (Note this can be customized by each studio).\r\nIf provided, then Duration, DurationUnit, and SuspensionFee (if applicable) are automatically applied. Restrict Days are not supported.","type":"string"},"SuspensionStart":{"format":"date-time","description":"The contract suspension start date.\r\nDefault: *today’s date*","type":"string"},"Duration":{"format":"int32","description":"The number of (DurationUnit) the suspension lasts.","type":"integer"},"DurationUnit":{"format":"int32","description":"The unit applied to Duration.","type":"integer"},"OpenEnded":{"description":" When `true`, indicates that suspension is open ended. Also, when `true`, then Duration and DurationUnit are ignored.\r\nDefault: *false*","type":"boolean"},"SuspensionNotes":{"description":"The comments for suspending a contract.","type":"string"},"SuspensionFee":{"format":"double","description":"An optional charge that clients who wish to pause a contract for a set period of time can be charged.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.SuspendContractResponse":{"title":"SuspendContractResponse","type":"object","properties":{"Contract":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientContract","description":"Contains information about client contract."}}},"Mindbody.PublicApi.Dto.Models.V6.DirectDebitInfo":{"title":"DirectDebitInfo","type":"object","properties":{"NameOnAccount":{"description":"The name on the bank account.","type":"string"},"RoutingNumber":{"description":"The routing number for the bank.","type":"string"},"AccountNumber":{"description":"The last four of the bank account number.","type":"string"},"AccountType":{"description":"The account type.\r\n\r\nPossible values:\r\n* Checking\r\n* Savings","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.AddClientDirectDebitInfoRequest":{"title":"AddClientDirectDebitInfoRequest","type":"object","properties":{"Test":{"description":"When `true`, indicates that test mode is enabled. The information is to be validated, but no data will be added or updated.\r\nDefault: **false**","type":"boolean"},"ClientId":{"description":"The ID of the client being updated","type":"string"},"NameOnAccount":{"description":"The name on the bank account being added","type":"string"},"RoutingNumber":{"description":"The routing number of the bank account being added","type":"string"},"AccountNumber":{"description":"The bank account number","type":"string"},"AccountType":{"description":"The account type.\r\n\r\nPossible values:\r\n* Checking\r\n* Savings","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.AddClientDirectDebitInfoResponse":{"title":"AddClientDirectDebitInfoResponse","type":"object","properties":{"ClientId":{"description":"The ID of the client being updated","type":"string"},"NameOnAccount":{"description":"The name on the bank account being added","type":"string"},"RoutingNumber":{"description":"The routing number of the bank account being added","type":"string"},"AccountNumber":{"description":"The bank account number","type":"string"},"AccountType":{"description":"The account type.\r\n\r\nPossible values:\r\n* Checking\r\n* Savings","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientFormulaNotesRequest":{"title":"GetClientFormulaNotesRequest","type":"object","properties":{"ClientId":{"description":"The client ID of the client whose formula notes are being requested.","type":"string"},"AppointmentId":{"format":"int64","description":"The appointment ID of an appointment in the studio specified in the header of the request.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientFormulaNotesResponse":{"title":"GetClientFormulaNotesResponse","description":"Enables to retrieve cross regional formula notes for a client, or for a specific appointment. The two parameters are optional, however at least one must be provided. This endpoint supports pagination.","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"FormulaNotes":{"description":"Contains details about the client’s formula.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientController.FormulaNoteResponse"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.FormulaNoteResponse":{"title":"FormulaNoteResponse","description":"An individual Client Formula Note.","type":"object","properties":{"Id":{"format":"int64","description":"The formula note ID.","type":"integer"},"ClientId":{"description":"The unique Id of the client for the formula note. This is the unique ID for the client in the site where the formula note originated. This is different than the ClientId specified in the request, which is the id for the client assigned by the business.","type":"string"},"AppointmentId":{"format":"int64","description":"The appointment ID that the formula note is related to.","type":"integer"},"EntryDate":{"format":"date-time","description":"The date formula note was created.","type":"string"},"Note":{"description":"The new formula note text.","type":"string"},"SiteId":{"format":"int32","description":"The site Id.","type":"integer"},"SiteName":{"description":"The site name.","type":"string"},"StaffFirstName":{"description":"The first name of the staff for the optional associated appointment. If no appointment ID is provided, this will be null.","type":"string"},"StaffLastName":{"description":"The last name of the staff for the optional associated appointment. If no appointment ID is provided, this will be null.","type":"string"},"StaffDisplayName":{"description":"The display name of the staff for the optional associated appointment. If no appointment ID is provided, or no display name is specified for the staff member, this will be null.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.AddFormulaNoteRequest":{"title":"AddFormulaNoteRequest","required":["ClientId","Note"],"type":"object","properties":{"ClientId":{"description":"The ID of the client who needs to have a formula note added.","type":"string"},"AppointmentId":{"format":"int64","description":"The appointment ID that the formula note is related to.","type":"integer"},"Note":{"description":"The new formula note text.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.DeleteClientFormulaNoteRequest":{"title":"DeleteClientFormulaNoteRequest","required":["ClientId","FormulaNoteId"],"type":"object","properties":{"ClientId":{"description":"The client ID of the client whose formula note needs to be deleted.","type":"string"},"FormulaNoteId":{"format":"int64","description":"The formula note ID for the note to be deleted.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UploadClientPhotoRequest":{"title":"UploadClientPhotoRequest","required":["Bytes","ClientId"],"type":"object","properties":{"Bytes":{"format":"byte","description":"A Base64-encoded string representation of the image’s byte array.","type":"string"},"ClientId":{"description":"The RSSID of the client for whom the photo is to be uploaded.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UploadClientPhotoResponse":{"title":"UploadClientPhotoResponse","type":"object","properties":{"ClientId":{"description":"The RSSID of the client for whom the photo was uploaded.","type":"string"},"PhotoUrl":{"description":"The URL of the uploaded photo.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientReferralTypesRequest":{"title":"GetClientReferralTypesRequest","type":"object","properties":{"IncludeInactive":{"description":"When `true`, filters the results to include subtypes and inactive referral types.<br />\r\nWhen `false`, includes no subtypes and only active types.\r\nDefault:**false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientReferralTypesResponse":{"title":"GetClientReferralTypesResponse","type":"object","properties":{"ReferralTypes":{"description":"The list of available referral types.","type":"array","items":{"type":"string"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientRewardsRequest":{"title":"GetClientRewardsRequest","required":["ClientId"],"type":"object","properties":{"ClientId":{"description":"The ID of the client.","type":"string"},"StartDate":{"format":"date-time","description":"The start date of transaction.\r\nDefault: **today**","type":"string"},"EndDate":{"format":"date-time","description":"The end date of transaction.\r\nDefault: **StartDate**","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientRewardsResponse":{"title":"GetClientRewardsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Balance":{"format":"int64","description":"The total rewards points available to the indicated client after the above transaction.","type":"integer"},"Transactions":{"description":"Contains information about the reward transaction details.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientRewardTransaction"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientRewardTransaction":{"title":"ClientRewardTransaction","description":"Contains information about the transaction details.","type":"object","properties":{"ActionDateTime":{"format":"date-time","description":"The date and time when the points were earned or redeemed in the site local time zone.","type":"string"},"Action":{"description":"Indicates if rewards were earned or redeemed.","enum":["Earned","Redeemed","Returned","Removed","LateCanceled"],"type":"string"},"Source":{"description":"The source of the reward transaction.","type":"string"},"SourceID":{"format":"int64","description":"The unique identifier in the MINDBODY system for the **Source**.","type":"integer"},"ExpirationDateTime":{"format":"date-time","description":"The date and time when earned points expire. This is calculated based on site and client rewards settings. This date will be in the site local time zone and may be **null**.","type":"string"},"Points":{"format":"int64","description":"The amount of points the client earned or redeemed.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateClientRewardsRequest":{"title":"UpdateClientRewardsRequest","description":"Request object for using the API to Earn or Redeem reward points","required":["ClientId","Points","Action"],"type":"object","properties":{"ClientId":{"description":"The ID of the client that is getting rewards earned or redeemed.","type":"string"},"Points":{"format":"int64","description":"The amount of points the client is getting earned or redeemed, must be a positive number.","minimum":1,"type":"integer"},"Source":{"description":"If Action passed as **Earned**,\r\n\r\npossible values are:\r\n* Appointment Booking\r\n* Class Booking\r\n* Referral\r\n* Sale\r\n\r\n<br />Omit if Action passed as **Redeemed**.","type":"string"},"SourceId":{"format":"int64","description":"The unique identifier in the MINDBODY system for the **Source**. If Action is **Earned**, and an optional SourceID is provided, it is validated as follows: \r\n\r\n* If Source is Appointment Booking, then a provided SourceID must be a valid Visit.AppointmentId for the indicated Client.\r\n* If Source is **Class Booking**, then a provided SourceID must be a valid Visit.Id for the indicated client.\r\n* If Source is **Sale**, then a provided SourceID must be a valid Sale.Id for the indicated client. \r\n* If Source is **Referral**, then a provided SourceID must be a valid Client.Id (RelatedClientId) and have been referred by the indicated client (ClientRelationship.Id = -1).\r\nIf Action is **Redeemed**, and an optional SourceID is provided, then SourceID must be a valid Sale.Id for the indicated client, and refers to the sale where the indicated points were redeemed.","type":"integer"},"Action":{"description":"Indicates if rewards are getting earned or redeemed. \r\n\r\nPossible values are:\r\n*Earned\r\n*Redeemed","type":"string"},"ActionDateTime":{"format":"date-time","description":"The date and time when the points were earned or redeemed in UTC format. This date may be in the past, however it may not be in the future.\r\nDefault: **current date/time**","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientServicesRequest":{"title":"GetClientServicesRequest","description":"Represents a request to retrieve client services with various filtering options.\r\nNote: if you want to request for a single client, use UniqueClientId or ClientId. For multiple clients, use UniqueClientIds or ClientIds.","type":"object","properties":{"ClientId":{"description":"The ID of the client to query. The results are a list of pricing options that the client has purchased. Note that “service” and “pricing option” are synonymous in this section of the documentation.","type":"string"},"UniqueClientId":{"format":"int64","description":"The unique ID of the client to query. Note that UniqueClientId takes precedence over ClientId.","type":"integer"},"ClientIds":{"description":"The IDs of the clients to query. The results are a list of pricing options that the clients have purchased.\r\nClientId parameter takes priority over ClientIds due to backward compatibility.\r\nSo if you want to use ClientIds, then ClientId needs to be empty.\r\nEither of ClientId or ClientIds need to be specified","type":"array","items":{"type":"string"}},"UniqueClientIds":{"description":"The Unique IDs of the clients to query. Note that UniqueClientIds collection takes precedence over ClientIds collection.","type":"array","items":{"format":"int64","type":"integer"}},"ClassId":{"format":"int32","description":"Filters results to only those pricing options that can be used to pay for this class.","type":"integer"},"ProgramIds":{"description":"Filters results to pricing options that belong to one of the given program IDs.","type":"array","items":{"format":"int32","type":"integer"}},"SessionTypeId":{"format":"int32","description":"Filters results to pricing options that will pay for the given session type ID. Use this to find pricing options that will pay for a specific appointment type.","type":"integer"},"LocationIds":{"description":"Filters results to pricing options that can be used at the listed location IDs.","type":"array","items":{"format":"int32","type":"integer"}},"VisitCount":{"format":"int32","description":"A filter on the minimum number of visits a service can pay for.","type":"integer"},"StartDate":{"format":"date-time","description":"Filters results to pricing options that are purchased on or after this date.\r\nDefault: **today’s date**","type":"string"},"EndDate":{"format":"date-time","description":"Filters results to pricing options that are purchased on or before this date.\r\n Default: **today’s date**","type":"string"},"ShowActiveOnly":{"description":"When `true`, includes active services only.\r\nDefault: **false**","type":"boolean"},"CrossRegionalLookup":{"description":"Used to retrieve a client’s pricing options from multiple sites within an organization. When included and set to `true`, it searches a maximum of ten sites with which this client is associated. When a client is associated with more than ten sites, use `ClientAssociatedSitesOffset` as many times as needed to search the additional sites with which the client is associated. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that a `SiteID` is returned and populated in the `ClientServices` response when `CrossRegionalLookup` is set to `true`.\r\nDefault: **false**","type":"boolean"},"IgnoreCrossRegionalSiteLimit":{"description":"Used to specify if the number of cross regional sites used to search for client’s pricing options should be ignored. \r\nDefault: **false**","type":"boolean"},"ClientAssociatedSitesOffset":{"format":"int32","description":"Used to retrieve a client’s pricing options from multiple sites within an organization when the client is associated with more than ten sites. To change which ten sites are searched, change this offset value. A value of 0 means that no sites are skipped and the first ten sites are returned. You can use the `CrossRegionalClientAssociations` value from `GET CrossRegionalClientAssociations` to determine how many sites the client is associated with. Note that you must always have `CrossRegionalLookup` set to `true` to use this parameter.<br />\r\nDefault: **0**\r\n\r\nFor example, if a client is associated with 25 sites, you need to call `GetClientServices` three times, as follows:\r\n* Use `GET CrossRegionalClientAssociations` to determine how many sites a client is associated with, which tells you how many additional calls you need to make.\r\n* Either omit `ClientAssociatedSitesOffset` or set it to 0 to return the client’s services (pricing options) from sites 1-10.\r\n* Set `ClientAssociatedSitesOffset` to 10 to return the client pricing options from sites 11-20\r\n* Set `ClientAssociatedSitesOffset` to 20 to return the client pricing options from sites 21-25","type":"integer"},"ExcludeInactiveSites":{"description":"When this flag is set to `true`, will exclude inactive sites from the response.\r\nDefault: **false**","type":"boolean"},"UseActivateDate":{"description":"When this flag is set to `true`, the date filtering will use activate date to filter the pricing options.\r\nWhen this flag is set to `false`, the date filtering will use purchase date to filter the pricing options.\r\nDefault: **false**","type":"boolean"},"ClassScheduleID":{"description":"Filters results to pricing options which are associated with one of the ClassScheduleIDs","type":"array","items":{"format":"int32","type":"integer"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetClientServicesResponse":{"title":"GetClientServicesResponse","description":"Contains the response for the GetClientServices endpoint.","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ClientServices":{"description":"Contains information about client pricing options, including activation behavior details.\r\nEach item includes ActivationType and CannotPayForClassesBeforeActivation fields\r\nto help determine booking eligibility based on the pricing option's activation configuration.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClientServiceWithActivationType"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetContactLogsRequest":{"title":"GetContactLogsRequest","required":["ClientId"],"type":"object","properties":{"ClientId":{"description":"The ID of the client whose contact logs are being requested.","type":"string"},"StartDate":{"format":"date-time","description":"Filters the results to contact logs created on or after this date.<br />\r\nDefault: **the current date**","type":"string"},"EndDate":{"format":"date-time","description":"Filters the results to contact logs created before this date.<br />\r\nDefault: **the start date**","type":"string"},"StaffIds":{"description":"Filters the results to return contact logs assigned to one or more staff IDs.","type":"array","items":{"format":"int64","type":"integer"}},"ShowSystemGenerated":{"description":"When `true`, system-generated contact logs are returned in the results.<br />\r\nDefault: **false**","type":"boolean"},"TypeIds":{"description":"Filters the results to contact logs assigned one or more of these type IDs.","type":"array","items":{"format":"int32","type":"integer"}},"SubtypeIds":{"description":"Filters the results to contact logs assigned one or more of these subtype IDs.","type":"array","items":{"format":"int32","type":"integer"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetContactLogsResponse":{"title":"GetContactLogsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ContactLogs":{"description":"Contains the information about the contact logs.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ContactLog"}}}},"Mindbody.PublicApi.Dto.Models.V6.ContactLog":{"title":"ContactLog","description":"A contact log.","type":"object","properties":{"Id":{"format":"int64","description":"The contact log’s ID.","type":"integer"},"Text":{"description":"The contact log’s body text.","type":"string"},"CreatedDateTime":{"format":"date-time","description":"The local date and time when the contact log was created.","type":"string"},"FollowupByDate":{"format":"date-time","description":"The date by which the assigned staff member should close or follow up on this contact log.","type":"string"},"ContactMethod":{"description":"The method by which the client wants to be contacted.","type":"string"},"ContactName":{"description":"The name of the client to contact.","type":"string"},"Client":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Client","description":"Information about the client to whom the contact log belongs."},"CreatedBy":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Information about the staff member who created the contact log."},"AssignedTo":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Information about the staff member to whom the contact log is assigned for follow up."},"Comments":{"description":"Information about the comment.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ContactLogComment"}},"Types":{"description":"Information about the type of contact log.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ContactLogType"}}}},"Mindbody.PublicApi.Dto.Models.V6.ContactLogComment":{"title":"ContactLogComment","description":"A contact log comment.","type":"object","properties":{"Id":{"format":"int32","description":"The comment’s ID.","type":"integer"},"Text":{"description":"The comment’s body text.","type":"string"},"CreatedDateTime":{"format":"date-time","description":"The local time when the comment was created.","type":"string"},"CreatedBy":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Information about the staff member who created the comment."}}},"Mindbody.PublicApi.Dto.Models.V6.ContactLogType":{"title":"ContactLogType","description":"A contact log type.","type":"object","properties":{"Id":{"format":"int32","description":"The Id of the contactlog Type.","type":"integer"},"Name":{"description":"The name of the contactlog Type.","type":"string"},"SubTypes":{"description":"Contains the SubType objects, each of which describes the subtypes for a contactlog Type.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ContactLogSubType"}}}},"Mindbody.PublicApi.Dto.Models.V6.ContactLogSubType":{"title":"ContactLogSubType","description":"A contact log subtype.","type":"object","properties":{"Id":{"format":"int32","description":"The unique ID of the subtype","type":"integer"},"Name":{"description":"The name of the subcontactlog Type.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetContactLogTypesRequest":{"title":"GetContactLogTypesRequest","type":"object","properties":{"ContactLogTypeId":{"format":"int32","description":"The requested ContactLogType ID.\r\nDefault: **all** IDs that the authenticated user’s access level allows.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetContactLogTypesResponse":{"title":"GetContactLogTypesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ContactLogTypes":{"description":"The requested Active ContactLogTypes","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ContactLogType"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.AddContactLogRequest":{"title":"AddContactLogRequest","required":["ClientId","ContactMethod"],"type":"object","properties":{"ClientId":{"description":"The ID of the client whose contact log is being added.","type":"string"},"AssignedToStaffId":{"format":"int64","description":"The ID of the staff member to whom the contact log is assigned.","type":"integer"},"Text":{"description":"The body of the contact log.","type":"string"},"FollowupByDate":{"format":"date-time","description":"The date by which the assigned staff member should complete this contact log.","type":"string"},"ContactMethod":{"description":"How the client wants to be contacted.","type":"string"},"ContactName":{"description":"The name of the person to be contacted by the assigned staff member.","type":"string"},"IsComplete":{"description":"When `true`, indicates that the contact log is complete.\r\nWhen `false`, indicates the contact log isn’t complete.","type":"boolean"},"Comments":{"description":"Any comments on the contact log.","type":"array","items":{"type":"string"}},"Types":{"description":"The contact log types used to tag this contact log.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AddContactLogType"}},"Test":{"description":"When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database.<br />\r\nWhen `false`, the database is updated.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.AddContactLogType":{"title":"AddContactLogType","description":"Defines what sort of subtypes we want to add to this contact log type","type":"object","properties":{"Id":{"format":"int32","description":"The contact log type’s ID.","type":"integer"},"SubTypes":{"description":"A list of the subtype IDs used to tag this contact log type.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.UpdateContactLogRequest":{"title":"UpdateContactLogRequest","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the contact log being updated.","type":"integer"},"Test":{"description":"When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database.<br />\r\nWhen `false`, the database is updated.","type":"boolean"},"AssignedToStaffId":{"format":"int64","description":"The ID of the staff member to whom the contact log is now being assigned.","type":"integer"},"Text":{"description":"The contact log’s new text.","type":"string"},"ContactName":{"description":"The name of the new person to be contacted by the assigned staff member.","type":"string"},"FollowupByDate":{"format":"date-time","description":"The new date by which the assigned staff member should complete this contact log.","type":"string"},"ContactMethod":{"description":"The new method by which the client wants to be contacted.","type":"string"},"IsComplete":{"description":"When `true`, indicates that the contact log is complete.\r\nWhen `false`, indicates the contact log isn’t complete.","type":"boolean"},"Comments":{"description":"Contains information about the comments being updated or added to the contact log. Comments that have an ID of `0` are added to the contact log.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.UpdateContactLogComment"}},"Types":{"description":"Contains information about the contact logs types being assigned to the contact log, in addition to the contact log types that are already assigned.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.UpdateContactLogType"}}}},"Mindbody.PublicApi.Dto.Models.V6.UpdateContactLogComment":{"title":"UpdateContactLogComment","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the contact log comment to be updated. Pass a value of `0` to add a new comment to the contact log.","type":"integer"},"Text":{"description":"The new text for the comment.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.UpdateContactLogType":{"title":"UpdateContactLogType","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the contact log type to update the subtypes of.","type":"integer"},"SubTypes":{"description":"The subtype IDs that are to be added to the contact log.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.DeleteContactLogRequest":{"title":"DeleteContactLogRequest","required":["ClientId","ContactLogId"],"type":"object","properties":{"ClientId":{"description":"The client ID of the client whose Contact Log is being deleted.","type":"string"},"ContactLogId":{"format":"int64","description":"The Contact Log ID.","type":"integer"},"Test":{"description":"When `true`, indicates that this is a test request and no data is inserted into the subscriber’s database.\r\nWhen `false`, the database is updated.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetContractsRequest":{"title":"GetContractsRequest","description":"Request query information for GET sale/contracts endpoint","required":["LocationId"],"type":"object","properties":{"ContractIds":{"description":"When included, the response only contains details about the specified contract IDs.","type":"array","items":{"format":"int32","type":"integer"}},"SoldOnline":{"description":" When `true`, the response only contains details about contracts and AutoPay options that can be sold online.\r\n When `false`, all contracts are returned.\r\nDefault: **false**","type":"boolean"},"LocationId":{"format":"int32","description":"The ID of the location that has the requested contracts and AutoPay options.","type":"integer"},"UniqueClientId":{"format":"int64","description":"The ID of the client.","type":"integer"},"PromoCode":{"description":"PromoCode to apply","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetContractsResponse":{"title":"GetContractsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Contracts":{"description":"Contains information about each contract.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Contract"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseContractRequest":{"title":"PurchaseContractRequest","required":["ContractId"],"type":"object","properties":{"Test":{"description":"When `true`, the Public API validates input information, but does not commit it, so no client data is affected.<br />\r\nWhen `false` or omitted, the transaction is committed, and client data is affected.<br />\r\nDefault: **false**","type":"boolean"},"LocationId":{"format":"int32","description":"The ID of the location where the client is purchasing the contract; used for AutoPays.","type":"integer"},"ClientId":{"description":"The ID of the client. Note that this is not the same as the client’s unique ID.","type":"string"},"UniqueClientId":{"format":"int64","description":"The unique ID of the client.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","type":"integer"},"ContractId":{"format":"int32","description":"The ID of the contract being purchased.","type":"integer"},"StartDate":{"format":"date-time","description":"The date that the contract starts.<br />\r\nDefault: **today’s date**","type":"string"},"FirstPaymentOccurs":{"description":"The date on which the first payment is to occur. Possible values:\r\n* Instant\r\n* `StartDate`","type":"string"},"ClientSignature":{"format":"byte","description":"A representation of the client’s signature. This value can take the form of Base64-encoded byte array. The file type should be PNG. The picture of the client’s signature is uploaded and viewable from the Client Documents page in the Core Business Mode software. The title of the document is:<br />\r\nclientContractSignature-{uniquePurchasedClientContractID}-{contractName}-{contractStartDate}.{fileType}","type":"string"},"PromotionCode":{"description":"A promotion code, if one applies. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price.","type":"string"},"PromotionCodes":{"description":"Promotion codes, if they apply. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price.","type":"array","items":{"type":"string"}},"CreditCardInfo":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CreditCardInfo","description":"Contains credit card payment information.<br />\r\nThis is only required if `StoredCardInfo` is not passed and both `UseDirectDebit` and `UseAccountCredit` are `false`."},"StoredCardInfo":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StoredCardInfo","description":"Contains information about the stored credit card payment.<br />\r\nThis is only required if `CreditCardInfo` is not passed and both `UseDirectDebit` and `UseAccountCredit` and are `false`."},"SendNotifications":{"description":"When `true`, indicates that email and SMS notifications should be sent to the client after purchase.<br />\r\nDefault: **true**","type":"boolean"},"SalesRepId":{"format":"int64","description":"The ID of the staff member to be marked as the sales rep for this contract sale.","type":"integer"},"UseDirectDebit":{"description":"When `true`, indicates that the direct debit information stored on the client's account is to be used to pay for the contract.<br />\r\nThis is only required if both `CreditCardInfo` and `StoredCardInfo` are not passed and `UseAccountCredit` is false.<br />\r\nDefault: **false**","type":"boolean"},"UseAccountCredit":{"description":"When `true`, indicates that the account credit of the client's account is to be used to pay for the contract.<br />\r\nThis is only required if both `CreditCardInfo` and `StoredCardInfo` are not passed and `UseDirectDebit` is false. <br />\r\nDefault: **false**","type":"boolean"},"ConsumerPresent":{"description":"When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge. It is not a good idea to have this always be false as that could very likely lead to a bank declining all transactions for the merchant.\r\nDefaults to **false**.","type":"boolean"},"PaymentAuthenticationCallbackUrl":{"description":"The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is true.","type":"string"},"ProrateDate":{"format":"date-time","description":"Optional, date to prorate contract","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.CreditCardInfo":{"title":"CreditCardInfo","description":"Information about an individual credit card","type":"object","properties":{"CreditCardNumber":{"type":"string"},"ExpMonth":{"type":"string"},"ExpYear":{"type":"string"},"BillingName":{"type":"string"},"BillingAddress":{"type":"string"},"BillingCity":{"type":"string"},"BillingState":{"type":"string"},"BillingPostalCode":{"type":"string"},"SaveInfo":{"type":"boolean"},"CardId":{"description":"Card Id of a stored instruments card","type":"string"},"CVV":{"description":"CVV of the card","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.StoredCardInfo":{"title":"StoredCardInfo","type":"object","properties":{"LastFour":{"type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseContractResponse":{"title":"PurchaseContractResponse","description":"Response model for POST PurchaseContract endpoint","type":"object","properties":{"ClientId":{"description":"The ID of the client who is purchasing the contract.","type":"string"},"UniqueClientId":{"format":"int64","description":"The Unique ID of the client who is purchasing the contract.","type":"integer"},"LocationId":{"format":"int32","description":"The ID of the location where the contract is being purchased.","type":"integer"},"ContractId":{"format":"int32","description":"The ID of the general contract being purchased.","type":"integer"},"ClientContractId":{"format":"int32","description":"The ID of the specific contract being purchased by this specific client, not to be confused with the `ContractId`, which refers to a general contract that the business offers.","type":"integer"},"Totals":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseContractResponseTotals","description":"Purchase totals"},"PaymentProcessingFailures":{"description":"Contains information only if SCA challenge is indicated.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PaymentProcessingFailure"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseContractResponseTotals":{"title":"PurchaseContractResponseTotals","description":"Totals for the purchase","type":"object","properties":{"Total":{"format":"double","description":"Total payment amount","type":"number"},"SubTotal":{"format":"double","description":"Sub total. For VAT, sum of asking prices (include taxes, excludes discounts). For non vat, excludes taxes and discounts.","type":"number"},"Discount":{"format":"double","description":"Discount","type":"number"},"Tax":{"format":"double","description":"Tax","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.PaymentProcessingFailure":{"title":"PaymentProcessingFailure","description":"Contains information about any payment processing failure.  Specifically for when an SCA challenge is","type":"object","properties":{"Type":{"description":"Returned only if SCA challenge is indicated.","type":"string"},"Message":{"description":"Returned only if SCA challenge is indicated.","type":"string"},"AuthenticationRedirectUrl":{"description":"Returned only if SCA challenge is indicated.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.InitiatePurchaseContractRequest":{"title":"InitiatePurchaseContractRequest","description":"Request to initiate a purchase contract.","required":["ClientId","ContractId","PaymentMethodId"],"type":"object","properties":{"Test":{"description":"When `true`, the Public API validates input information, but does not commit it, so no client data is affected.<br />\r\nWhen `false` or omitted, the transaction is committed, and client data is affected.<br />\r\nThis endpoint DOES NOT support the `Test` parameter.<br />\r\nDefault: **false**","type":"boolean"},"LocationId":{"format":"int32","description":"The ID of the location where the client is purchasing the contract; used for AutoPays. If no location ID is supplied, it defaults to the online store, represented by a null value. \r\nDefault: **null** (Online store location)","type":"integer"},"ClientId":{"description":"The ID of the client. Note that this is not the same as the client’s unique ID.","type":"string"},"ContractId":{"format":"int32","description":"The ID of the contract being purchased.","type":"integer"},"PromotionCode":{"description":"A promotion code, if one applies. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price.","type":"string"},"PromotionCodes":{"description":"Promotion codes, if they apply. Promotion codes are applied to items that are both marked as pay now in a contract and are discounted by the promotion code. If a pay now item is an autopay item, its autopay price is the price at the time of checkout, so, if a promotion code was applied, all autopays are scheduled using that discounted price.","type":"array","items":{"type":"string"}},"SendNotifications":{"description":"When `true`, indicates that email and SMS notifications should be sent to the client after purchase.<br />\r\nDefault: **true**","type":"boolean"},"SalesRepId":{"format":"int64","description":"The ID of the staff member to be marked as the sales rep for this contract sale.","type":"integer"},"PaymentAuthenticationCallbackUrl":{"description":"The URL consumer is redirected to after the payment.","type":"string"},"PaymentMethodId":{"format":"int32","description":"The type of alternative payment. Possible values are:\r\n* 997 - Indicates that the payment method is iDEAL | Wero.\r\n* 801 - Indicates that the payment method is Apple Pay.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.CrossSiteController.CopyCreditCardRequest":{"title":"CopyCreditCardRequest","description":"crosssite/copycreditcard","type":"object","properties":{"SourceSiteId":{"format":"int32","description":"The siteId of the source clientId.","type":"integer"},"SourceClientId":{"description":"The clientId at the source siteId.","type":"string"},"SourceUniqueClientId":{"format":"int64","description":"The unique clidnetId at the source siteId.","type":"integer"},"TargetSiteId":{"format":"int32","description":"The siteId of the target clientId.","type":"integer"},"TargetClientId":{"description":"The clientId at the target siteId.","type":"string"},"TargetUniqueClientId":{"format":"int64","description":"The unique clidnetId at the target siteId.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.CrossSiteController.CopyCreditCardResponse":{"title":"CopyCreditCardResponse","description":"crosssite/copycreditcard","type":"object","properties":{"CopiedFrom":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CrossSiteController.CopyCreditCardResponseClient","description":"Copied from"},"CopiedTo":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CrossSiteController.CopyCreditCardResponseClient","description":"Copied To"}}},"Mindbody.PublicApi.Dto.Models.V6.CrossSiteController.CopyCreditCardResponseClient":{"title":"CopyCreditCardResponseClient","type":"object","properties":{"ClientId":{"description":"ClientId","type":"string"},"UniqueId":{"format":"int64","description":"UniqeuId","type":"integer"},"SiteId":{"format":"int32","description":"SiteId","type":"integer"},"FirstName":{"description":"First name of ClientId","type":"string"},"LastName":{"description":"Last name of ClientId","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.AddClientToEnrollmentRequest":{"title":"AddClientToEnrollmentRequest","description":"Add Client To Enrollment Request Model","required":["ClientId","ClassScheduleId"],"type":"object","properties":{"ClientId":{"description":"The client IDs of the clients to add to the specified enrollments.","type":"string"},"ClassScheduleId":{"format":"int32","description":"The class schedule IDs of the enrollments to add the clients to. The ClassScheduleId can be found in GetEnrollments as the EnrollmentId.","type":"integer"},"EnrollDateForward":{"format":"date-time","description":"Enroll the clients from this date forward. `EnrollDateForward` takes priority over open enrollment.\r\nDefault: **null**","type":"string"},"EnrollOpen":{"description":"Enroll for selected dates.","type":"array","items":{"format":"date-time","type":"string"}},"Test":{"description":"When `true`, input information is validated, but not committed.<br />\r\nDefault: **false**","type":"boolean"},"SendEmail":{"description":"When `true`, indicates that the client should be sent an email. An email is only sent if the client has an email address and automatic emails have been set up. <br />\r\nDefault: **false**","type":"boolean"},"Waitlist":{"description":"When `true`, the client is added to a specific enrollments waiting list.\r\nDefault: **false**","type":"boolean"},"WaitlistEntryId":{"format":"int32","description":"The waiting list entry to add. Used to add a client to an enrollment from a waiting list entry.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetEnrollmentsRequest":{"title":"GetEnrollmentsRequest","type":"object","properties":{"ClassScheduleIds":{"description":"A list of the requested class schedule IDs. If omitted, all class schedule IDs return.","type":"array","items":{"format":"int32","type":"integer"}},"EndDate":{"format":"date-time","description":"The end of the date range. The response returns any active enrollments that occur on or before this day.<br />\r\nDefault: **StartDate**","type":"string"},"LocationIds":{"description":"List of the IDs for the requested locations. If omitted, all location IDs return.","type":"array","items":{"format":"int32","type":"integer"}},"ProgramIds":{"description":"List of the IDs for the requested programs. If omitted, all program IDs return.","type":"array","items":{"format":"int32","type":"integer"}},"SessionTypeIds":{"description":"List of the IDs for the requested session types. If omitted, all session types IDs return.","type":"array","items":{"format":"int32","type":"integer"}},"StaffIds":{"description":"List of the IDs for the requested staff IDs. If omitted, all staff IDs return.","type":"array","items":{"format":"int64","type":"integer"}},"StartDate":{"format":"date-time","description":"The start of the date range. The response returns any active enrollments that occur on or after this day.<br />\r\nDefault: **today’s date**","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetEnrollmentsResponse":{"title":"GetEnrollmentsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Enrollments":{"description":"Contains information about the enrollments.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassSchedule"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetGiftCardsRequest":{"title":"GetGiftCardsRequest","type":"object","properties":{"LocationId":{"format":"int32","description":"When included, returns gift cards that are sold at the provided location ID.","type":"integer"},"SoldOnline":{"description":"When `true`, only returns gift cards that are sold online.<br />\r\nDefault: **false**","type":"boolean"},"IncludeCustomLayouts":{"description":"When `true`, includes custom gift card layouts.<br />\r\nWhen `false`, includes only system layouts.\r\nDefault: **false**","type":"boolean"},"Ids":{"description":"Filters the results to the requested gift card IDs.<br />\r\nDefault: **all** gift cards.","type":"array","items":{"format":"int32","type":"integer"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetGiftCardResponse":{"title":"GetGiftCardResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"GiftCards":{"description":"Contains information about the gift cards.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.GiftCard"}}}},"Mindbody.PublicApi.Dto.Models.V6.GiftCard":{"title":"GiftCard","type":"object","properties":{"Id":{"format":"int32","description":"The gift card's `ProductID`.","type":"integer"},"LocationIds":{"description":"The IDs of the locations where the gift card is sold.","type":"array","items":{"format":"int32","type":"integer"}},"Description":{"description":"A description of the gift card.","type":"string"},"EditableByConsumer":{"description":"When `true`, indicates that the gift card can be edited by the client.","type":"boolean"},"CardValue":{"format":"double","description":"The value of the gift card.","type":"number"},"SalePrice":{"format":"double","description":"The sale price of the gift card, if applicable.","type":"number"},"SoldOnline":{"description":"When `true`, indicates that the gift card is sold online.","type":"boolean"},"MembershipRestrictionIds":{"description":"A list of IDs for membership restrictions, if this card is restricted to members with certain types of memberships.","type":"array","items":{"format":"int32","type":"integer"}},"GiftCardTerms":{"description":"The terms of the gift card.","type":"string"},"ContactInfo":{"description":"Contact information for the gift card.","type":"string"},"DisplayLogo":{"description":"When `true`, indicates that the logo should be displayed on the gift card.","type":"boolean"},"Layouts":{"description":"A list of layouts available for the gift card.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.GiftCardLayout"}}}},"Mindbody.PublicApi.Dto.Models.V6.GiftCardLayout":{"title":"GiftCardLayout","description":"Gift card layout","type":"object","properties":{"LayoutId":{"format":"int32","description":"The ID of the layout.","type":"integer"},"LayoutName":{"description":"The name of the layout.","type":"string"},"LayoutUrl":{"description":"The URL of the layout.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseGiftCardRequest":{"title":"PurchaseGiftCardRequest","required":["LocationId","PurchaserClientId","GiftCardId"],"type":"object","properties":{"Test":{"description":"When `true`, allows you to test the request without affecting the database.<br />\r\nWhen `false`, the request is carried out and the database is affected.","type":"boolean"},"LocationId":{"format":"int32","description":"The ID of the location where the gift card is being sold.","type":"integer"},"LayoutId":{"format":"int32","description":"The ID of the layout used for the gift card’s image.","type":"integer"},"PurchaserClientId":{"description":"The RSSID of the client who is purchasing the gift card.","type":"string"},"GiftCardId":{"format":"int32","description":"The product ID of the gift card being purchased.","type":"integer"},"SendEmailReceipt":{"description":"When `true`, indicates that a purchase receipt email should be sent to the purchasing client, if all settings are correctly configured.<br />\r\nWhen `false`, no email is sent to the purchaser.","type":"boolean"},"RecipientEmail":{"description":"The email address to send the gift card image to. This parameter is required if the `LayoutId` is not 0.<br />\r\nMaximum length: **100**","type":"string"},"RecipientName":{"description":"The name of the person who is to receive the gift card. This parameter is required if the `LayoutId` is not 0.<br />\r\nMaximum length: **20**","type":"string"},"Title":{"description":"The text to use as the title of the gift card, for example: Happy Birthday, Maria! This parameter is required if the `LayoutId` is not 0.<br />\r\nMaximum length: **20**","type":"string"},"GiftMessage":{"description":"A personal message to include in the gift card.<br />\r\nMaximum length: **300**","type":"string"},"DeliveryDate":{"format":"date-time","description":"The date that the gift card’s image is to be delivered to the recipient. This parameter cannot be set to a date in the past. This parameter is required if the `LayoutId` is not 0.\r\nDefault: **today**\r\nMinimum: **today**","type":"string"},"PaymentInfo":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.Payments.CheckoutPaymentInfo","description":"Contains information about the payment."},"SalesRepId":{"format":"int64","description":"The ID of the staff member who is to be marked as the sales rep for this gift card purchase.","type":"integer"},"ConsumerPresent":{"description":" When `true`, indicates that the consumer is available to address any SCA challenge issued by the bank.  EU Only.<br /> \r\nDefault: **false**","type":"boolean"},"PaymentAuthenticationCallbackUrl":{"description":"This is the Url the consumer will be redirected back to after completion of the Banks SCA challenge.","type":"string"},"BarcodeId":{"description":"Sets the barcode ID of the giftcard. When not provided, a barcode ID is automatically generated.<br />\r\nIf a giftcard with the given barcode ID already exists and the site supports reloadable giftcards, the existing giftcard is reloaded<br />\r\nMaximum length: **100**","pattern":"^[^<>'\"]{1,100}$","type":"string"},"SenderName":{"description":"Overrides the name that would otherwise be populated by specifying PurchaserClientId.<br />\r\nMaximum length: **20**","pattern":"^[^<>'\"]{1,20}$","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.Payments.CheckoutPaymentInfo":{"title":"CheckoutPaymentInfo","type":"object","properties":{"Type":{"description":"The type of payment. Possible values are:\r\n* CreditCard - Indicates that this payment item is a credit card.\r\n* StoredCard - Indicates that this payment item is a credit card stored on the client’s account.\r\n* DirectDebit - Indicates that this payment item is a direct debit.\r\n* EncryptedTrackData - Indicates that this payment item is a swiped credit card.\r\n* TrackData - Indicates that this payment item is a swiped credit card.\r\n* DebitAccount - Indicates that funds should be debited from the client’s account.\r\n* Custom - Indicates that this payment item is a custom payment method configured by the business.\r\n* Comp - Indicates that this payment item is making all or part of the cart’s total complementary.\r\n* Cash - Indicates that this payment item is cash.\r\n* Check - Indicates that this payment item is a check.\r\n* GiftCard - Indicates that this payment item is a gift card.","type":"string"},"Metadata":{"description":"Contains information about the cart’s payments. Possible values vary according to the Type property, as below:\r\n* CreditCard Keys - amount, creditCardNumber, expMonth, expYear, cvv, billingName, billingAddress, billingCity, billingState, billingPostalCode, saveInfo, cardId\r\n* StoredCard Keys - amount, lastFour\r\n* DirectDebit Keys - amount\r\n* EncryptedTrackData Keys - amount, trackData\r\n* TrackData Keys - amount, trackData\r\n* DebitAccount Keys - amount\r\n* Custom Keys - amount, id\r\n* Comp Keys - amount\r\n* Cash Keys - amount, notes\r\n* Check Keys - amount, notes\r\n* GiftCard - amount, notes, cardNumber","type":"object","additionalProperties":{"type":"object"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseGiftCardResponse":{"title":"PurchaseGiftCardResponse","type":"object","properties":{"BarcodeId":{"description":"The barcode ID assigned to the purchased gift card.","type":"string"},"Value":{"format":"double","description":"The monetary value of the gift card.","type":"number"},"AmountPaid":{"format":"double","description":"The amount paid for the gift card by the purchaser.","type":"number"},"FromName":{"description":"The name of the purchaser.","type":"string"},"LayoutId":{"format":"int32","description":"The ID of the layout used for this gift card.","type":"integer"},"EmailReceipt":{"description":"Whether or not an email receipt was sent to the purchaser. If true, a receipt was sent.","type":"boolean"},"PurchaserClientId":{"description":"The client ID of the purchaser.","type":"string"},"PurchaserEmail":{"description":"The purchaser’s email address.","type":"string"},"RecipientEmail":{"description":"The recipient’s email address.","type":"string"},"SaleId":{"format":"int64","description":"The sale ID of the gift card.","type":"integer"},"PaymentProcessingFailures":{"description":"Any cart processing failures, for example when SCA challenged, the cart is in PaymentAuthenticationRequired state and at least one of the failures listed will provide an authentication Url.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PaymentProcessingFailure"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetGiftCardBalanceResponse":{"title":"GetGiftCardBalanceResponse","type":"object","properties":{"BarcodeId":{"description":"The gift card's barcode ID.","type":"string"},"RemainingBalance":{"format":"double","description":"The gift card's remaining balance.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.MergeClientsRequest":{"title":"MergeClientsRequest","description":"Request for clients/mergeclients","type":"object","properties":{"SourceClientId":{"format":"int64","description":"The client that will be merged into TargetClientId","type":"integer"},"TargetClientId":{"format":"int64","description":"The client that will remain","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.SendPasswordResetEmailRequest":{"title":"SendPasswordResetEmailRequest","description":"Request to send a password reset email to a user","required":["UserEmail","UserFirstName","UserLastName"],"type":"object","properties":{"UserEmail":{"description":"The user’s email address. The software uses this parameter as the username.","type":"string"},"UserFirstName":{"description":"The user’s first name. The software uses this parameter to verify the user.","type":"string"},"UserLastName":{"description":"The user’s last name. The software uses this parameter to verify the user.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetScheduledServiceEarningsRequest":{"title":"GetScheduledServiceEarningsRequest","type":"object","properties":{"ScheduledServiceType":{"description":"Filters the results to schedule service earnings for specific types of services. Possible values:\r\n* Class\r\n* Appointment","type":"string"},"ScheduledServiceId":{"format":"int64","description":"Filters the results to a single scheduled service. This parameter must be used with a single ScheduledServiceType.","type":"integer"},"StaffId":{"format":"int64","description":"A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.\r\n* If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply.\r\n* If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to today’s date.","type":"string"},"EndDateTime":{"format":"date-time","description":"The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br />\r\nDefault: **Today’s date**\r\n* If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date.\r\n* If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date.","type":"string"},"LocationId":{"format":"int32","description":"A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetScheduledServiceEarningsResponse":{"title":"GetScheduledServiceEarningsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ScheduledServiceEarnings":{"description":"Contains the class payroll events.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ScheduledServiceEarningsEvent"}}}},"Mindbody.PublicApi.Dto.Models.V6.ScheduledServiceEarningsEvent":{"title":"ScheduledServiceEarningsEvent","type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member who taught the class.","type":"integer"},"ScheduledServiceId":{"format":"int64","description":"The class' ID.","type":"integer"},"ScheduledServiceType":{"description":"The type of the scheduled service; i.e, a class, appointment, or enrollment.","enum":["Class","Appointment","Enrollment","All"],"type":"string"},"Earnings":{"format":"double","description":"The total monetary amount the staff is to be paid for this class.","type":"number"},"DateTime":{"format":"date-time","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetTimeCardsRequest":{"title":"GetTimeCardsRequest","type":"object","properties":{"StaffId":{"format":"int64","description":"A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.\r\n* If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply.\r\n* If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to today’s date.","type":"string"},"EndDateTime":{"format":"date-time","description":"The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br />\r\nDefault: **Today’s date**\r\n* If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date.\r\n* If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date.","type":"string"},"LocationId":{"format":"int32","description":"A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetTimeCardsResponse":{"title":"GetTimeCardsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"TimeCards":{"description":"Information about time card entries, ordered by staff ID.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.TimeCardEvent"}}}},"Mindbody.PublicApi.Dto.Models.V6.TimeCardEvent":{"title":"TimeCardEvent","type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the requested staff member.","type":"integer"},"Task":{"description":"The staff member’s job title.","type":"string"},"TimeIn":{"format":"date-time","description":"The time that the staff member started the job task.","type":"string"},"TimeOut":{"format":"date-time","description":"The time that the staff member stopped doing the job task.","type":"string"},"Hours":{"format":"double","description":"The number of hours on this time card, rounded to the nearest fourth decimal place.","type":"number"},"HourlyRate":{"format":"double","description":"The hourly rate the business pays this staff for this `Task`.","type":"number"},"Earnings":{"format":"double","description":"The total amount earned by the staff member for this time card entry.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetCommissionsRequest":{"title":"GetCommissionsRequest","type":"object","properties":{"StaffId":{"format":"int64","description":"A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.\r\n* If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply.\r\n* If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to today’s date.","type":"string"},"EndDateTime":{"format":"date-time","description":"The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br />\r\nDefault: **Today’s date**\r\n* If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date.\r\n* If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date.","type":"string"},"LocationId":{"format":"int32","description":"A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetCommissionsResponse":{"title":"GetCommissionsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Commissions":{"description":"Contains information about commissions earned by staff for sales within the given date range. Results are ordered by `SaleId`, then by `StaffId`.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CommissionPayrollPurchaseEvent"}}}},"Mindbody.PublicApi.Dto.Models.V6.CommissionPayrollPurchaseEvent":{"title":"CommissionPayrollPurchaseEvent","type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member who earned commissions.","type":"integer"},"SaleDateTime":{"format":"date-time","description":"The date and time when the sale occurred.","type":"string"},"SaleId":{"format":"int64","description":"The sale’s ID.","type":"integer"},"SaleType":{"description":"The Sales type. When this is \"Purchase\" indicates that this sale paid commission to a staff. When this is \"Return\"","type":"string"},"ProductId":{"format":"int64","description":"The product ID of the item for which the staff earned commissions.","type":"integer"},"EarningsDetails":{"description":"Contains information about which commissions the staff earned for this item.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CommissionDetail"}},"Earnings":{"format":"double","description":"The total commissions earned by the staff for this item.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.CommissionDetail":{"title":"CommissionDetail","type":"object","properties":{"CommissionType":{"description":"The type of commission earned. Possible values are:\r\n* ItemStandardPercentageCommission\r\n* ItemStandardFlatCommission\r\n* ItemPromotionalPercentageCommission\r\n* ItemPromotionalFlatCommission\r\n* StaffStandardPercentageCommission\r\n* StaffStandardFlatCommission\r\n* StaffPromotionalPercentageCommission\r\n* StaffPromotionalFlatCommission","type":"string"},"CommissionEarnings":{"format":"double","description":"The portion of `Earnings` earned by this `CommissionType`.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetTipsRequest":{"title":"GetTipsRequest","type":"object","properties":{"StaffId":{"format":"int64","description":"A list of staff IDs that you want to retrieve payroll information for. If you do not supply a `StaffId`, all active staff members return, ordered by staff ID.","type":"integer"},"StartDateTime":{"format":"date-time","description":"The beginning of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.\r\n* If you do not supply a `StartDateTime`, data returns for the seven days prior to the `EndDateTime` that you supply.\r\n* If you do not supply either a `StartDateTime` or an `EndDateTime`, the data returns for seven days prior to today’s date.","type":"string"},"EndDateTime":{"format":"date-time","description":"The end of the date range for the payroll information to be returned. The maximum allowed date range is 14 days.<br />\r\nDefault: **Today’s date**\r\n* If you do not supply an `EndDateTime`, the data returns for the period from the `StartDateTime` that you supply to today’s date.\r\n* If you do not supply an `EndDateTime` or a `StartDateTime`, data returns for the seven days prior to today’s date.","type":"string"},"LocationId":{"format":"int32","description":"A LocationId that you want to retrieve payroll information for. If you do not supply a `LocationId`, data from all locations is returned.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.PayrollController.GetTipsResponse":{"title":"GetTipsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used. See Pagination for a description of the Pagination information."},"Tips":{"description":"Contains information about tips given to staff members within the given date range. Results are ordered by StaffId.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Tip"}}}},"Mindbody.PublicApi.Dto.Models.V6.Tip":{"title":"Tip","type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member the tip is for.","type":"integer"},"SaleId":{"format":"int64","description":"The sale’s ID associated with the tip.","type":"integer"},"SaleDateTime":{"format":"date-time","description":"The date and time when the tip was given.","type":"string"},"Earnings":{"format":"double","description":"The amount tipped to the staff member.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.GetPickASpotClassResponse":{"title":"GetPickASpotClassResponse","description":"Contains information about the get PickASpot class response.","type":"object","properties":{"classes":{"description":"Contains information about the PickASpot classes.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.PickASpotClass"}},"pagination":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.Pagination","description":"Contains information about the pagination used."},"responseDetails":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.ResponseDetails","description":"Contains information about the response details."}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.PickASpotClass":{"title":"PickASpotClass","description":"Contains information about the PickASpot classes.","type":"object","properties":{"SiteId":{"format":"int32","description":"The unique ID of the Site.","type":"integer"},"LocationId":{"format":"int32","description":"The unique ID of the Location.","type":"integer"},"ClassId":{"description":"The unique ID of the Class.","type":"string"},"ClassExternalId":{"description":"The unique Class external ID.","type":"string"},"ClassName":{"description":"Contains the class name.","type":"string"},"ClassStartTime":{"format":"date-time","description":"Class start time.","type":"string"},"ClassEndTime":{"format":"date-time","description":"Class end time.","type":"string"},"ClassMaximumCapacity":{"format":"int32","description":"Contains information about the Class maximum capacity.","type":"integer"},"RoomId":{"description":"The unique Room ID.","type":"string"},"Spots":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.Spot","description":"Contains information about the spot detail."},"Reservations":{"description":"Contains information about the reservation collection.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.Reservation"}}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.Pagination":{"title":"Pagination","description":"Contains information about the pagination used.","type":"object","properties":{"PageNumber":{"format":"int32","description":"Page number of results in dataset.","type":"integer"},"PageSize":{"format":"int32","description":"Number of results returned in this response.","type":"integer"},"TotalResultCount":{"format":"int32","description":"Total number of results in dataset.","type":"integer"},"TotalPageCount":{"format":"int32","description":"Total number of page in dataset.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.ResponseDetails":{"title":"ResponseDetails","description":"Contains information about the response message detail.","type":"object","properties":{"Status":{"description":"Contains information about the response status.","type":"string"},"TransactionId":{"description":"The unique transaction ID.","type":"string"},"Message":{"description":"Contains information about the response message detail.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.Spot":{"title":"Spot","description":"Contains information about the spot details.","type":"object","properties":{"ReservedSpotNumbers":{"description":"Contains information about the collection of reserved spot numbers.","type":"array","items":{"format":"int32","type":"integer"}},"AvailableSpotNumbers":{"description":"Contains information about the collection of available spot numbers.","type":"array","items":{"format":"int32","type":"integer"}},"UnavailableSpotNumbers":{"description":"Contains information about the collection of Unavailable spot numbers.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.Reservation":{"title":"Reservation","description":"Contains information about the reservation.","type":"object","properties":{"ReservationId":{"description":"The unique reservation ID.","type":"string"},"ReservationExternalId":{"description":"The unique reservation external ID.","type":"string"},"ClassId":{"description":"The unique class ID.","type":"string"},"ClassExternalId":{"description":"The unique class external ID.","type":"string"},"MemberExternalId":{"description":"The unique member external ID.","type":"string"},"ReservationType":{"description":"Contains information about the reservation type.","type":"string"},"Spots":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.Spot","description":"Contains information about the spot details."},"IsConfirmed":{"description":"Boolean value whether it is confirmed.","type":"boolean"},"ConfirmationDate":{"format":"date-time","description":"Contains information about the confirmation date.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.GetReservationResponse":{"title":"GetReservationResponse","description":"Contains information about the get reservation response","type":"object","properties":{"Reservations":{"description":"Contains information about the reservation details.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.Reservation"}},"Pagination":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.Pagination","description":"Contains information about the pagination used."},"ResponseDetails":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.ResponseDetails","description":"Contains information about the response details, e.g. status, transactionId."}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.CreateReservationResponse":{"title":"CreateReservationResponse","description":"Contains information about the create reservation response.","type":"object","properties":{"Reservation":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.Reservation","description":"Contains information about the reservation details."},"ResponseDetails":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.ResponseDetails","description":"Contains information about the response details, e.g. status, transactionId."}}},"System.Net.Http.HttpContent":{"title":"HttpContent","type":"object","properties":{"Headers":{"type":"array","items":{"$ref":"#/definitions/System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Collections.Generic.IEnumerable`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"},"readOnly":true}}},"System.Collections.Generic.KeyValuePair`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Collections.Generic.IEnumerable`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]":{"title":"0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]","type":"object","properties":{"key":{"type":"string"},"value":{"type":"array","items":{"type":"string"}}}},"Mindbody.PublicApi.Dto.Models.V6.PickASpot.UpdateReservationResponse":{"title":"UpdateReservationResponse","description":"Contains information about the update reservation response.","type":"object","properties":{"Reservation":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.Reservation","description":"Contains information about the reservation details."},"ResponseDetails":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PickASpot.ResponseDetails","description":"Contains information about the response details, e.g. status, transactionId."}}},"Mindbody.PublicApi.Dto.Models.V6.PricingOptionController.UpdatePricingOptionRequest":{"title":"UpdatePricingOptionRequest","description":"To Update pricing option data","required":["ProductId"],"type":"object","properties":{"ProductId":{"format":"double","description":"The id of the pricing option (legacy Id in mongo db)","type":"number"},"Name":{"description":"Pricing option name.","maxLength":100,"minLength":0,"type":"string"},"Price":{"format":"double","description":"Price of this Pricing option.","pattern":"^-?\\d+\\.?\\d{0,2}?$","type":"number"},"OnlinePrice":{"format":"double","description":"Online price of this Pricing option.","pattern":"^-?\\d+\\.?\\d{0,2}?$","type":"number"},"Count":{"format":"int32","description":"Number of sessions for this pricing option","maximum":2147483647,"minimum":1,"type":"integer"},"SellOnline":{"description":"Whether this pricing option sell online or not","type":"boolean"},"RevenueCategory":{"description":"Revenue Category of this pricing option","maxLength":35,"minLength":0,"type":"string"},"Discontinued":{"description":"Whether this pricing option active or inactive","type":"boolean"},"MembershipId":{"format":"int32","description":"The ID of the membership required to purchase the pricing option\r\nDefault is -1 and will not update Membership if it is not passed in body","type":"integer"},"IsThirdPartyDiscountPricing":{"description":"Is this pricing option sold at discounted rates by third-parties\r\nOnce set to true it cannot be changed","type":"boolean"},"Priority":{"description":"The priority of the pricing option\r\nPriority can be set to Low(-1), Medium (0), High(1)","type":"string"},"SellAtLocationIds":{"description":"The location IDs where this pricing option is sold \r\n(default is null and will not update SellAtLocation if it is not passed in body)","type":"array","items":{"format":"int32","type":"integer"}},"UseAtLocationIds":{"description":"The location IDs where this pricing option is used\r\n(default is null and will not update UseAtLocation if it is not passed in body)","type":"array","items":{"format":"int32","type":"integer"}},"ExpirationUnit":{"description":"The Expiration unit, either Days or Months","type":"string"},"ExpirationLength":{"format":"int32","description":"The number of days or months that the pricing option is active for.","maximum":32767,"minimum":1,"type":"integer"},"ExpirationType":{"description":"The date the pricing option begins its activation, \r\neither the SaleDate or DateOfClientFirstVisit","type":"string"},"RestrictedMembershipIds":{"description":"This pricing option can be used under these memberships only\r\nIf null/empty then not restricted to any membership","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetProductsRequest":{"title":"GetProductsRequest","description":"Represents a request to get products with optional filters.","type":"object","properties":{"ProductIds":{"description":"The barcode number of the product to be filter by.","type":"array","items":{"type":"string"}},"SearchText":{"description":"A search filter, used for searching by term.","type":"string"},"CategoryIds":{"description":"A list of revenue category IDs to filter by. Use this ID when calling the GET Categories endpoint.","type":"array","items":{"format":"int32","type":"integer"}},"SubCategoryIds":{"description":"A list of subcategory IDs to filter by. Use this ID when calling the GET Categories endpoint.","type":"array","items":{"format":"int32","type":"integer"}},"SecondaryCategoryIds":{"description":"A list of secondary categories to filter by. Use this ID when calling the GET Categories endpoint.","type":"array","items":{"format":"int32","type":"integer"}},"SellOnline":{"description":"When `true`, only products that can be sold online are returned.<br />\r\nWhen `false`, all products are returned.<br />\r\nDefault: **false**","type":"boolean"},"LocationId":{"format":"int32","description":"The location ID to use to determine the tax for the products that this request returns.<br />\r\nDefault: **online store**","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetProductsResponse":{"title":"GetProductsResponse","description":"Represents the response object for retrieving products.","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Products":{"description":"Contains information about the products.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Product"}}}},"Mindbody.PublicApi.Dto.Models.V6.Product":{"title":"Product","description":"Represents a product.","type":"object","properties":{"ProductId":{"format":"int32","description":"The unique ID associated with product.","type":"integer"},"Id":{"description":"The barcode number of the product. This is the `PurchasedItems[].BarcodeId` returned from GET Sales.","type":"string"},"CategoryId":{"format":"int32","description":"The revenue category ID of the product. Use this ID when calling the GET Categories endpoint.","type":"integer"},"SubCategoryId":{"format":"int32","description":"The SubCategory ID of the product. Use this ID when calling the GET Categories endpoint.","type":"integer"},"SecondaryCategoryId":{"format":"int32","description":"The SecondaryCategory ID of the product. Use this ID when calling the GET Categories endpoint.","type":"integer"},"Price":{"format":"double","description":"The price of the product.","type":"number"},"TaxIncluded":{"format":"double","description":"If tax inclusive-pricing is enabled, this field shows how much tax was added to the price. To fetch this value `LocationId` must be passed as a query parameter.","type":"number"},"TaxRate":{"format":"double","description":"The tax rate that was applied to this purchase. To fetch this value `LocationId` must be passed as a query parameter.","type":"number"},"GroupId":{"format":"int32","description":"The unique ID of the product group.","type":"integer"},"Name":{"description":"The name of the product.","type":"string"},"OnlinePrice":{"format":"double","description":"The online price of the product.","type":"number"},"ShortDescription":{"description":"A short text description of the product.","type":"string"},"LongDescription":{"description":"A long, more detailed text description of the product.","type":"string"},"TypeGroup":{"format":"int32","description":"The Type group of the product.","type":"integer"},"SupplierId":{"format":"int32","description":"The unique ID of the supplier of product.","type":"integer"},"SupplierName":{"description":"The Supplier Name of the product.","type":"string"},"ImageURL":{"description":"The URL of the image associated with this product.","type":"string"},"Color":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Color","description":"Contains information about color of the product."},"Size":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Size","description":"Contains information about the size of the product."},"ManufacturerId":{"description":"The ID number attributed to the product by the manufacturer.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.Color":{"title":"Color","description":"A color used by products.","type":"object","properties":{"Id":{"format":"int32","description":"The unique ID of the product color.","type":"integer"},"Name":{"description":"The name of the color of product.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.Size":{"title":"Size","type":"object","properties":{"Id":{"format":"int32","description":"The unique ID of the product size.","type":"integer"},"Name":{"description":"The name of the size of product.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateProductRequest":{"title":"UpdateProductRequest","description":"Update Product Request Model","type":"object","properties":{"BarcodeId":{"description":"The unique ID of the product variant, for example, a particular size and color combination.","type":"string"},"Price":{"format":"double","description":"The price of the product.","minimum":0,"type":"number"},"OnlinePrice":{"format":"double","description":"The online price of the product.","minimum":0,"type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetProductsInventoryRequest":{"title":"GetProductsInventoryRequest","type":"object","properties":{"ProductIds":{"description":"When included, the response only contains details about the specified product Ids.","type":"array","items":{"type":"string"}},"LocationIds":{"description":"When included, the response only contains details about the specified location Ids.","type":"array","items":{"format":"int32","type":"integer"}},"BarcodeIds":{"description":"When included, the response only contains details about the specified Barcode Ids.","type":"array","items":{"type":"string"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetProductsInventoryResponse":{"title":"GetProductsInventoryResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ProductsInventory":{"description":"Contains information about the products inventory.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ProductsInventory"}}}},"Mindbody.PublicApi.Dto.Models.V6.ProductsInventory":{"title":"ProductsInventory","type":"object","properties":{"ProductId":{"format":"int32","description":"A ProductId of the product.","type":"integer"},"BarcodeId":{"description":"The Id is barcode Id of the product.","type":"string"},"LocationId":{"format":"int32","description":"The LocationId of the product.","type":"integer"},"UnitsLogged":{"format":"int32","description":"UnitsLogged of the product.","type":"integer"},"UnitsSold":{"format":"int32","description":"UnitsSold of the product.","type":"integer"},"UnitsInStock":{"format":"int32","description":"The units in stock of the product","type":"integer"},"ReorderLevel":{"format":"int32","description":"ReorderLevel of the product.","type":"integer"},"MaxLevel":{"format":"int32","description":"MaxLevel of the product.","type":"integer"},"CreatedDateTimeUTC":{"format":"date-time","description":"CreatedDateTimeUTC of the product.","type":"string"},"ModifiedDateTimeUTC":{"format":"date-time","description":"ModifiedDateTimeUTC of the product.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateProductPriceRequest":{"title":"UpdateProductPriceRequest","description":"Update Product Price Request Model","type":"object","properties":{"BarcodeId":{"description":"The barcode number of the product. This is the `Products[].Id` returned from GET Products.","type":"string"},"Price":{"format":"double","description":"The price you sell the product for.","type":"number"},"OnlinePrice":{"format":"double","description":"The online price of the product.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateProductPriceResponse":{"title":"UpdateProductPriceResponse","description":"Update Product Price Response Model","type":"object","properties":{"Product":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Product","description":"Contains information about the product."}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.AddPromoCodeRequest":{"title":"AddPromoCodeRequest","required":["Code","Name"],"type":"object","properties":{"Code":{"description":"The code of the promocode.","type":"string"},"Name":{"description":"The name of the promocode.","type":"string"},"Active":{"description":"Indicates that promocode is active. Default: **true**","type":"boolean"},"Discount":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Discount","description":"Discount info"},"ActivationDate":{"format":"date-time","description":"The date of the promocode activation. Default: **today’s date**","type":"string"},"ExpirationDate":{"format":"date-time","description":"The date of the promocode expiration. Default: **a months from today’s date**","type":"string"},"MaxUses":{"format":"int32","description":"The maximun number of uses. A use is considered a single sale.","type":"integer"},"DaysAfterCloseDate":{"format":"int32","description":"The number of days a client has to use a promocode after they are no longer a prospect.","type":"integer"},"AllowOnline":{"description":"Indicates if promocode can be redeemed online in consumer mode. Default: **false**","type":"boolean"},"DaysValid":{"description":"Indicates what days of the week promocode is valid. Defaults to 7 days of the week. Possible values are:\r\n* Monday\r\n* Tuesday\r\n* Wednesday\r\n* Thursday\r\n* Friday\r\n* Saturday\r\n* Sunday","type":"array","items":{"type":"string"}},"ApplicableItems":{"description":"Contains information about a promocode applicable items.\r\nSee ApplicableItems for a details of the `ApplicableItems` object.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ApplicableItem"}}}},"Mindbody.PublicApi.Dto.Models.V6.Discount":{"title":"Discount","description":"Discount for a promo code","type":"object","properties":{"Type":{"description":"Type of discount percentage/amount","type":"string"},"Amount":{"format":"double","description":"Amount of discount","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.ApplicableItem":{"title":"ApplicableItem","description":"Item that will be applied to a promo code","type":"object","properties":{"Type":{"description":"Type of a promo code\r\nThe promotional item type. \r\nPossible values are:\r\n* ServiceCategory\r\n* RevenueCategory\r\n* Supplier\r\n* Item","type":"string"},"Id":{"format":"int32","description":"The promotional item ID.","type":"integer"},"Name":{"description":"The promotional item name.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.AddPromoCodeResponse":{"title":"AddPromoCodeResponse","type":"object","properties":{"PromoCode":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PromoCode","description":"Contains information about PromoCode"}}},"Mindbody.PublicApi.Dto.Models.V6.PromoCode":{"title":"PromoCode","type":"object","properties":{"PromotionID":{"format":"int32","description":"ID of the promo code","type":"integer"},"Name":{"description":"Name of the promo code","type":"string"},"Code":{"description":"The code of the promocode.","type":"string"},"Active":{"description":"Indicates that promocode is active.","type":"boolean"},"Discount":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Discount","description":"Contains information about the discount."},"ActivationDate":{"format":"date-time","description":"The promocode activation date.","type":"string"},"ExpirationDate":{"format":"date-time","description":"The promocode expiration date.","type":"string"},"MaxUses":{"format":"int32","description":"The maximun number of uses.","type":"integer"},"NumberOfAutopays":{"format":"int32","description":"Number of Autopays","type":"integer"},"DaysAfterCloseDate":{"format":"int32","description":"The number of days a client has to use a promocode after they are no longer a prospect.","type":"integer"},"AllowOnline":{"description":"Indicates if promocode to be redeemed online in consumer mode.","type":"boolean"},"LastModifiedDateTime":{"format":"date-time","description":"Promo code last modified date and time","type":"string"},"DaysValid":{"description":"What days the promo code can be used","type":"array","items":{"enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"type":"string"}},"ApplicableItems":{"description":"Contains information about a promocode applicable items.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ApplicableItem"}}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetPromoCodesRequest":{"title":"GetPromoCodesRequest","type":"object","properties":{"ActiveOnly":{"description":"If true, filters results to show only promocodes that are active. If **false**, all promocodes are returned.\r\nDefault: **true**","type":"boolean"},"OnlineOnly":{"description":"If `true`, filters results to show only promocodes that can be used for online sale.\r\nIf `false`, all promocodes are returned.\r\nDefault: **false**","type":"boolean"},"StartDate":{"format":"date-time","description":"Filters results to promocodes that were activated after this date.","type":"string"},"EndDate":{"format":"date-time","description":"Filters results to promocodes that were activated before this date.","type":"string"},"LastModifiedDate":{"format":"date-time","description":"Filters results to promocodes that were modified on or after this date.","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetPromoCodesResponse":{"title":"GetPromoCodesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Pagination Response"},"PromoCodes":{"description":"Contains information about Promocodes at a site","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PromoCode"}}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.DeactivatePromoCodeRequest":{"title":"DeactivatePromoCodeRequest","required":["PromotionId"],"type":"object","properties":{"PromotionId":{"format":"int32","description":"The promocodeID","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetSalesRequest":{"title":"GetSalesRequest","type":"object","properties":{"SaleId":{"format":"int64","description":"The sale ID associated with the particular item. It Filters results to the requested sale ID.","type":"integer"},"StartSaleDateTime":{"format":"date-time","description":"Filters results to sales that happened after this date and time.","type":"string"},"EndSaleDateTime":{"format":"date-time","description":"Filters results to sales that happened before this date and time.","type":"string"},"PaymentMethodId":{"format":"int32","description":"Filters results to sales paid for by the given payment method ID which indicates payment method(s) (i.e. cash, VISA, AMEX, Check, etc.).","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetSalesResponse":{"title":"GetSalesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Sales":{"description":"Contains the Sale objects, each of which describes the sale and payment for a purchase event.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Sale"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.ReturnSaleRequest":{"title":"ReturnSaleRequest","description":"ReturnSaleRequest","type":"object","properties":{"SaleId":{"format":"int64","description":"The Sale ID of the sale item to be returned.","type":"integer"},"ReturnReason":{"description":"The reason for the return.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.ReturnSaleResponse":{"title":"ReturnSaleResponse","description":"ReturnSaleResponse","type":"object","properties":{"ReturnSaleID":{"format":"int64","description":"The returned sale ID","type":"integer"},"TrainerID":{"format":"int64","description":"The trainer ID who returned the sale","type":"integer"},"Amount":{"format":"double","description":"The returned amount","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetCustomPaymentMethodsRequest":{"title":"GetCustomPaymentMethodsRequest","type":"object","properties":{"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetCustomPaymentMethodsResponse":{"title":"GetCustomPaymentMethodsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"PaymentMethods":{"description":"Contains information about the custom payment methods.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.CustomPaymentMethod"}}}},"Mindbody.PublicApi.Dto.Models.V6.CustomPaymentMethod":{"title":"CustomPaymentMethod","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the custom payment method.","type":"integer"},"Name":{"description":"The name of the custom payment method.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetAlternativePaymentMethodsRequest":{"title":"GetAlternativePaymentMethodsRequest","description":"request object for the GetAlternativePaymentMethods method.","type":"object","properties":{"LocationId":{"format":"int32","description":"The location ID\r\nDefault: **null** (Online store location)","type":"integer"},"ClientId":{"description":"The client ID","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetAlternativePaymentMethodsResponse":{"title":"GetAlternativePaymentMethodsResponse","description":"Response for the GetAlternativePaymentMethods method.","type":"object","properties":{"PaymentMethods":{"description":"Contains information about the alternative payment methods.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.AlternativePaymentMethod"}}}},"Mindbody.PublicApi.Dto.Models.V6.AlternativePaymentMethod":{"title":"AlternativePaymentMethod","description":"DTO object for alternative payment methods.","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the alternative payment method.","type":"integer"},"Name":{"description":"The name of the alternative payment method.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseAccountCreditRequest":{"title":"PurchaseAccountCreditRequest","required":["ClientId"],"type":"object","properties":{"Test":{"description":"When `true`, allows you to test the request without affecting the database.\r\nWhen `false`, the request is carried out and the database is affected.","type":"boolean"},"LocationId":{"format":"int32","description":"The ID of the location where the account credit is being sold.","type":"integer"},"ClientId":{"description":"The ID of the location where the account credit is being sold.","type":"string"},"SendEmailReceipt":{"description":"When `true`, indicates that a purchase receipt email should be sent to the purchasing client, if all settings are correctly configured.<br />\r\nWhen `false`, no email is sent to the purchaser.","type":"boolean"},"SalesRepId":{"format":"int64","description":"The ID of the staff member to be marked as the sales rep for this account credit sale.","type":"integer"},"ConsumerPresent":{"description":" When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge.\r\n It is not a good idea to have this always be false as that could very likely lead to a bank declining all transactions for the merchant. Defaults to false.\r\nDefault: **false**","type":"boolean"},"PaymentAuthenticationCallbackUrl":{"description":"The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is true.","type":"string"},"PaymentInfo":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.Payments.CheckoutPaymentInfo","description":"Contains information about the payment."}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.PurchaseAccountCreditResponse":{"title":"PurchaseAccountCreditResponse","type":"object","properties":{"AmountPaid":{"format":"double","description":"The amount paid for the gift card by the purchaser.","type":"number"},"ClientId":{"description":"The client ID of the purchaser.","type":"string"},"SaleId":{"format":"int64","description":"The sale ID of the gift card.","type":"integer"},"EmailReceipt":{"description":"Whether or not an email receipt was sent to the purchaser. If true, a receipt was sent.","type":"boolean"},"PaymentProcessingFailures":{"description":"Any cart processing failures, for example when SCA challenged, the cart is in PaymentAuthenticationRequired state and at least one of the failures listed will provide an authentication Url.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.PaymentProcessingFailure"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetPackagesRequest":{"title":"GetPackagesRequest","type":"object","properties":{"PackageIds":{"description":"A list of the packages IDs to filter by.","type":"array","items":{"format":"int32","type":"integer"}},"SellOnline":{"description":"When `true`, only returns products that can be sold online.<br />\r\nWhen `false`, all products are returned.<br />\r\nDefault: **false**","type":"boolean"},"LocationId":{"format":"int32","description":"The location ID to use to determine the tax for the products that this request returns.<br />\r\nDefault: **online store**","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetPackagesResponse":{"title":"GetPackagesResponse","type":"object","properties":{"Packages":{"description":"Contains information about the resulting packages.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Package"}},"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."}}},"Mindbody.PublicApi.Dto.Models.V6.Package":{"title":"Package","type":"object","properties":{"Id":{"format":"int32","description":"The ID of the package.","type":"integer"},"Name":{"description":"The name of the package.","type":"string"},"DiscountPercentage":{"format":"double","description":"The discount percentage applied to the package.","type":"number"},"SellOnline":{"description":"When `true`, only products that can be sold online are returned.<br />\r\nWhen `false`, all products are returned.","type":"boolean"},"Services":{"description":"Information about the services in the packages.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Service"}},"Products":{"description":"Information about the products in the packages.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Product"}}}},"Mindbody.PublicApi.Dto.Models.V6.Service":{"title":"Service","type":"object","properties":{"Price":{"format":"double","description":"The cost of the pricing option when sold at a physical location.","type":"number"},"OnlinePrice":{"format":"double","description":"The cost of the pricing option when sold online.","type":"number"},"TaxIncluded":{"format":"double","description":"The amount of tax included in the price, if inclusive pricing is enabled.","type":"number"},"ProgramId":{"format":"int32","description":"The ID of the program that this pricing option applies to.","type":"integer"},"TaxRate":{"format":"double","description":"The tax rate applied to the pricing option. This field is populated only when you include a `LocationID` in the request.","type":"number"},"ProductId":{"format":"int32","description":"The unique ID of this pricing option. This is the `PurchasedItems[].Id` returned from GET Sales.","type":"integer"},"Id":{"description":"The barcode ID of the pricing option. This is the `PurchasedItems[].BarcodeId` returned from GET Sales.","type":"string"},"Name":{"description":"The name of the pricing option.","type":"string"},"Count":{"format":"int32","description":"The initial count of usages available for the pricing option.","type":"integer"},"SellOnline":{"description":"When true, filters to the pricing options that can be sold online.\r\nDefault: *false*","type":"boolean"},"SaleInContractOnly":{"description":"When `true`, indicates that the pricing option is allowed to be purchased in a contract or package.\r\nWhen `false`, indicates that the pricing option is not allowed to be purchased in a contract or package.","type":"boolean"},"Type":{"description":"The type of the pricing option, either Drop-in, Series, or Unlimited.","type":"string"},"ExpirationType":{"description":"The date the pricing option begins its activation, either the date of sale or the date the client first used it for a visit.","type":"string"},"ExpirationUnit":{"description":"The unit, either days or months, of `ExpirationLength`, indicating how long the pricing option is active for.","type":"string"},"ExpirationLength":{"format":"int32","description":"The number of days or months that the pricing option is active for.","type":"integer"},"RevenueCategory":{"description":"The revenue category of the pricing option.","type":"string"},"MembershipId":{"format":"int32","description":"The ID that this pricing option grants membership to.","type":"integer"},"SellAtLocationIds":{"description":"The location IDs where this pricing option is sold.","type":"array","items":{"format":"int32","type":"integer"}},"UseAtLocationIds":{"description":"The location IDs where this pricing option may be used.","type":"array","items":{"format":"int32","type":"integer"}},"Priority":{"description":"The priority of the pricing option, either High, Medium, or Low.","type":"string"},"IsIntroOffer":{"description":"Indicates if this pricing option is an introductory offer.","type":"boolean"},"IntroOfferType":{"description":"When `IsIntroOffer` is true, this indicates if this introductory offer may be purchased by new clients or new and existing clients.","type":"string"},"IsThirdPartyDiscountPricing":{"description":"Indicates whether this pricing option is sold at discounted rates by third-party services, such as ClassPass.","type":"boolean"},"Program":{"description":"The name of the service category the pricing option belongs to.","type":"string"},"Discontinued":{"description":"If the pricing option has been marked discontinued.","type":"boolean"},"RestrictToMembershipIds":{"description":"Restricted to members of these membership ids.","type":"array","items":{"format":"int32","type":"integer"}},"ApplyMemberDiscountsOfMembershipIds":{"description":"Discounts applied of these membership ids.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetTransactionsRequest":{"title":"GetTransactionsRequest","description":"Transactions Request","type":"object","properties":{"SaleId":{"format":"int64","description":"Filters the transaction results with the ID number associated with the sale.","type":"integer"},"TransactionId":{"format":"int32","description":"Filters the transaction results with the ID number generated when the sale is processed.","type":"integer"},"ClientId":{"format":"int64","description":"Filters results to the requested client ID.","type":"integer"},"LocationId":{"format":"int32","description":"Filters the transaction results with the ID number associated with the location of the sale.","type":"integer"},"Status":{"description":"Filters the transaction results by the estimated transaction status.","type":"string"},"TransactionStartDateTime":{"format":"date-time","description":"Filters the transaction results that happpened after this date and time. \r\nDefault: **today’s date**","type":"string"},"TransactionEndDateTime":{"format":"date-time","description":"Filters the transaction results that happpened before this date and time. \r\nDefault: **today’s date**","type":"string"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetTransactionsResponse":{"title":"GetTransactionsResponse","description":"Get transactions response properties","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Transactions":{"description":"Contains the transaction objects, each of which describes the transaction details for a purchase event.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Transaction"}}}},"Mindbody.PublicApi.Dto.Models.V6.Transaction":{"title":"Transaction","type":"object","properties":{"TransactionId":{"format":"int32","description":"The transaction ID.","type":"integer"},"SaleId":{"format":"int64","description":"The sale ID.","type":"integer"},"ClientId":{"format":"int64","description":"The ID of the client who made the purchase.","type":"integer"},"Amount":{"format":"double","description":"The amount charged on the card","type":"number"},"Settled":{"description":"Whether it is settled or not","type":"boolean"},"Status":{"description":"Status of the transaction","type":"string"},"TransactionTime":{"format":"date-time","description":"Time of card swiped","type":"string"},"AuthTime":{"format":"date-time","description":"Time of card authorized","type":"string"},"LocationId":{"format":"int32","description":"The ID of the location where the sale takes place.","type":"integer"},"MerchantId":{"description":"Merchant ID of the studio","type":"string"},"TerminalId":{"description":"Terminal ID used for payment. Not applicable for CNP/Bank","type":"string"},"CardExpirationMonth":{"description":"Expiry month of the card","type":"string"},"CardExpirationYear":{"description":"Expiry year of the card","type":"string"},"CCLastFour":{"description":"Last 4 digits of CC","type":"string"},"CardType":{"description":"Type of the card","type":"string"},"CCSwiped":{"description":"Whether card is swiped or not","type":"boolean"},"ACHLastFour":{"description":"Customer’s ACH last 4 digits","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateSaleDateRequest":{"title":"UpdateSaleDateRequest","description":"Update Sales Date Request Model","type":"object","properties":{"SaleID":{"format":"int64","description":"The Sale ID for which saleDate needs to be updated. This is the `Sale[].Id` returned from GET Sales.","type":"integer"},"SaleDate":{"format":"date-time","description":"The sale date which needs to be modified.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateSaleDateResponse":{"title":"UpdateSaleDateResponse","description":"Update Sale Date Response Properties","type":"object","properties":{"Sale":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Sale","description":"The updated Sale corresponding to the modified date"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetSemestersRequest":{"title":"GetSemestersRequest","description":"Get Semesters Request Model","type":"object","properties":{"SemesterIDs":{"description":"The requested semester IDs.","type":"array","items":{"format":"int32","type":"integer"}},"StartDate":{"format":"date-time","description":"The start date for the range. All semesters that are on or after this day.\r\nDefault: **today’s date**","type":"string"},"EndDate":{"format":"date-time","description":"The end date for the range. All semesters that are on or before this day.\r\nDefault: **StartDate**","type":"string"},"Active":{"description":"When true, the response only contains semesters which are activated. When false, only deactivated semesters are returned.\r\nDefault: **All semesters**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetSemestersResponse":{"title":"GetSemestersResponse","description":"Get Semesters Response Model","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Semesters":{"description":"Contains the Semester objects, each of which describes the semesters for a site.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Semester"}}}},"Mindbody.PublicApi.Dto.Models.V6.Semester":{"title":"Semester","description":"Semesters help you quickly classify enrollments.","type":"object","properties":{"Id":{"format":"int32","description":"This semester’s unique ID.","type":"integer"},"Name":{"description":"Name of the semester.","type":"string"},"Description":{"description":"The description of the semester.","type":"string"},"StartDate":{"format":"date-time","description":"Start date of the semester.","type":"string"},"EndDate":{"format":"date-time","description":"End date of the semester.","type":"string"},"MultiRegistrationDiscount":{"format":"double","description":"Discount for multiple registration in the semester.","type":"number"},"MultiRegistrationDeadline":{"format":"date-time","description":"Registration deadline of the semester.","type":"string"},"Active":{"description":"When `true`, indicates that the semester is active.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetServicesRequest":{"title":"GetServicesRequest","type":"object","properties":{"ProgramIds":{"description":"Filters to pricing options with the specified program IDs.","type":"array","items":{"format":"int32","type":"integer"}},"SessionTypeIds":{"description":"Filters to the pricing options with the specified session types IDs.","type":"array","items":{"format":"int32","type":"integer"}},"ServiceIds":{"description":"Filters to the pricing options with the specified IDs. In this context, service and pricing option are used interchangeably. These are the `PurchasedItems[].Id` returned from GET Sales.","type":"array","items":{"type":"string"}},"ClassId":{"format":"int32","description":"Filters to the pricing options for the specified class ID.","type":"integer"},"ClassScheduleId":{"format":"int32","description":"Filters to the pricing options for the specified class schedule ID.","type":"integer"},"SellOnline":{"description":"When `true`, filters the pricing options to display only those available for online purchase.\r\nThis parameter is only applicable in Business Mode (when a staff authentication header is included) and ignored in Consumer Mode (when no authentication header is passed).\r\n<br />Default: `false` (for staff users)\r\n<br />Business Mode: This parameter controls the filtering behavior. Staff users can set this to `true`\r\nto show only pricing options that can be sold online, or `false` to show all available pricing options.\r\n<br />Consumer Mode: This value is automatically set to `true` and cannot be overridden,\r\nensuring consumers only see pricing options available for online purchase.","type":"boolean"},"LocationId":{"format":"int32","description":"When specified, for each returned pricing option, `TaxRate` and `TaxIncluded` are calculated according to the specified location. Note that this does not filter results to only services provided at the given location, and for locations where Value-Added Tax (VAT) rules apply, the `TaxRate` is set to zero.","type":"integer"},"HideRelatedPrograms":{"description":"When `true`, indicates that pricing options of related programs are omitted from the response.<br />\r\nDefault: **false**","type":"boolean"},"StaffId":{"format":"int64","description":"Sets `Price` and `OnlinePrice` to the particular pricing of a specific staff member, if allowed by the business.","type":"integer"},"IncludeDiscontinued":{"description":"When `true`, indicates that the filtered pricing option list includes discontinued pricing options.<br />\r\nDefault: **false**","type":"boolean"},"IncludeSaleInContractOnly":{"description":"When `true`, indicates that the filtered pricing option list includes sale in contract only pricing options.<br />\r\nDefault: **false**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.GetServicesResponse":{"title":"GetServicesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Services":{"description":"Contains information about the services.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Service"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateServiceRequest":{"title":"UpdateServiceRequest","description":"This class represents the request parameters for the update service API","type":"object","properties":{"BarcodeId":{"description":"The barcode ID of the pricing option.","type":"string"},"Price":{"format":"double","description":"The cost of the pricing option when sold at a physical location.","minimum":0,"type":"number"},"OnlinePrice":{"format":"double","description":"The cost of the pricing option when sold online.","minimum":0,"type":"number"},"UpdateContractPrices":{"description":"When true, propagates the new Price to all preexisting contract templates\r\nthat reference this pricing option and recalculates their autopay totals.\r\nRequires the EditPricingOptionPrice staff permission.","type":"boolean"},"UpdateAutopayPrices":{"description":"When true (and UpdateContractPrices is also true), updates pending EFT\r\nschedule amounts for this product on or after AutopayUpdateFromDate.\r\nMonth-to-month contract schedules are excluded from this update.","type":"boolean"},"AutopayUpdateFromDate":{"format":"date-time","description":"The earliest schedule date from which EFT amounts should be updated.\r\nRequired when UpdateAutopayPrices is true. Must be a present or future date.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.UpdateServiceResponse":{"title":"UpdateServiceResponse","description":"A response from the Update Services API method.","type":"object","properties":{"Services":{"description":"List of services as response","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Service"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CheckoutShoppingCartRequest":{"title":"CheckoutShoppingCartRequest","required":["Items","Payments"],"type":"object","properties":{"CartId":{"description":"The unique ID of the shopping cart to be processed. You can use this value to maintain a persistent cart. If you do not specify a cart ID, the MINDBODY software generates one.","type":"string"},"ClientId":{"description":"The RSSID of the client making the purchase. A 'ClientId' OR 'UniqueClientId' must be specified to complete a sale.","type":"string"},"UniqueClientId":{"format":"int64","description":"The UniqueId of the client making the purchase. A 'ClientId' OR 'UniqueClientId' must be specified to complete a sale.\r\nNote: you need to provide the 'UniqueClientId' OR the 'ClientId'. If both are provided, the 'UniqueClientId' takes precedence.","type":"integer"},"PayerClientId":{"description":"The RSSID of the client paying for the purchase. This client needs to have a relationship of type \"Pays for\" with the client specified in the 'ClientId' or 'UniqueClientId' fields.","type":"string"},"UniquePayerClientId":{"format":"int64","description":"The UniqueId of the client paying for the purchase. This client needs to have a relationship of type \"Pays for\" with the client specified in the 'ClientId' or 'UniqueClientId' field.\r\nNote: you need to provide the 'UniquePayerClientId' OR the 'PayerClientId'. If both are provided, the 'UniquePayerClientId' takes precedence.","type":"integer"},"Test":{"description":"When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.<br />\r\nWhen `false`, the transaction takes place and the database is affected.<br />\r\nDefault: **false**","type":"boolean"},"Items":{"description":"A list of the items in the cart.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CheckoutItemWrapper"}},"InStore":{"description":"When `true`, indicates that the cart is to be completed by a staff member and is to take place at one of the business’ physical locations.<br />\r\nWhen `false`, indicates that the cart is to be completed by a client from the business’ online store.<br />\r\nDefault: **false**","type":"boolean"},"CalculateTax":{"description":"When `true`, indicates that the tax should be calculated.\r\nWhen `false`, indicates that the tax should not be calculated.\r\nDefault: **true**","type":"boolean"},"PromotionCode":{"description":"Promotion code to be applied to the cart.","type":"string"},"Payments":{"description":"A list of payment information objects to be applied to payment against the items in the cart.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.Payments.CheckoutPaymentInfo"}},"SendEmail":{"description":"When `true`, sends a purchase receipt email to the client. Note that all appropriate permissions and settings must be enabled for the client to receive an email.<br />\r\nDefault: **false**","type":"boolean"},"LocationId":{"format":"int32","description":"The location ID to be used for pulling business mode prices and taxes. If no location ID is supplied, it defaults to the online store, represented by a null value. \r\nDefault: **null** (the online store)","type":"integer"},"Image":{"format":"byte","description":"The byte array data of the signature image.","type":"string"},"ImageFileName":{"description":"The name of the signature image being uploaded.","type":"string"},"ConsumerPresent":{"description":"When `true`, indicates that the consumer is present or otherwise able to successfully negotiate an SCA challenge. It is not a good idea to have this always be `false` as that could very likely lead to a bank declining all transactions for the merchant. \r\nDefaults to `false`.","type":"boolean"},"PaymentAuthenticationCallbackUrl":{"description":"The URL consumer is redirected to if the bank requests SCA. This field is only needed if ConsumerPresent is `true`","type":"string"},"TransactionIds":{"description":"The list of TransactionIds provided with initial response containing SCA Challenge URLs for ConsumerPresent transactions","type":"array","items":{"format":"int32","type":"integer"}},"IsBillingPostalCodeRequired":{"description":"the flag to check billing post code is required or not.","type":"boolean"},"EnforceLocationRestrictions":{"description":"When `true`, enforces \"sell at\" location restrictions on the cart items.\r\nWhen `false`, \"sell at\" location restrictions are not enforced.\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CheckoutItemWrapper":{"title":"CheckoutItemWrapper","type":"object","properties":{"Item":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.Items.CheckoutItem","description":"Information about an item in the cart."},"SalesNotes":{"description":"Sales Notes for the product","type":"string"},"DiscountAmount":{"format":"double","description":"The amount the item is discounted. This parameter is ignored for packages.","type":"number"},"AppointmentBookingRequests":{"description":"A list of appointments to be booked then paid for by this item. This parameter applies only to pricing option items.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CheckoutAppointmentBookingRequest"}},"EnrollmentIds":{"description":"A list of enrollment IDs that this item is to pay for. This parameter applies only to pricing option items.","type":"array","items":{"format":"int32","type":"integer"}},"ClassIds":{"description":"A list of class IDs that this item is to pay for. This parameter applies only to pricing option items.","type":"array","items":{"format":"int32","type":"integer"}},"CourseIds":{"description":"A list of course IDs that this item is to pay for. This parameter applies only to pricing option items.","type":"array","items":{"format":"int64","type":"integer"}},"VisitIds":{"description":"A list of visit IDs that this item is to pay for. This parameter applies only to pricing option items.","type":"array","items":{"format":"int64","type":"integer"}},"AppointmentIds":{"description":"A list of appointment IDs that this item is to reconcile.","type":"array","items":{"format":"int64","type":"integer"}},"Id":{"format":"int32","description":"The item’s unique ID within the cart.","type":"integer"},"Quantity":{"format":"int32","description":"The number of this item to be purchased.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.Items.CheckoutItem":{"title":"CheckoutItem","type":"object","properties":{"Type":{"description":"The type of item. Possible values are:\r\n* Service - Indicates that this item is a pricing option.\r\n* Product - Indicates that this item is a retail product.\r\n* Package - Indicates that this item is a package.\r\n* Tip - Indicates that this item is a tip.","type":"string"},"Metadata":{"description":"Contains information about the item to be purchased. See [Cart Item Metadata](https://developers.mindbodyonline.com/PublicDocumentation/V6#cart-item-metadata) for more information.","type":"object","additionalProperties":{"type":"object"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CheckoutAppointmentBookingRequest":{"title":"CheckoutAppointmentBookingRequest","type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member who is to provide the service being booked.","type":"integer"},"LocationId":{"format":"int32","description":"The ID of the location where the appointment is to take place.","type":"integer"},"SessionTypeId":{"format":"int32","description":"The ID of the session type of this appointment.","type":"integer"},"Resources":{"description":"Contains information about the resources to be used for the appointment.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ResourceSlim"}},"StartDateTime":{"format":"date-time","description":"The date and time that the appointment is to start in the business’ timezone. This value must be passed in the format yyyy-mm-ddThh:mm:ss.","type":"string"},"EndDateTime":{"format":"date-time","description":"The date and time that the appointment is to end in the business’ timezone. This value must be passed in the format yyyy-mm-ddThh:mm:ss.","type":"string"},"ProviderId":{"description":"The National Provider Identifier (NPI) of the staff member who is to provide the service. For an explanation of Provider IDs, see [Provider IDs](https://support.mindbodyonline.com/s/article/204075743-Provider-IDs?language=en_US).","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutShoppingCartResponse":{"title":"CheckoutShoppingCartResponse","description":"The API Response model for Checkout Shopping Cart APIs","type":"object","properties":{"ShoppingCart":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CompletedSale.ShoppingCart","description":"Contains information about the shopping cart."},"Classes":{"description":"Contains information about the classes.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Class"}},"Appointments":{"description":"Contains information about the appointments.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Appointment"}},"Enrollments":{"description":"Contains information about enrollment class schedules.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassSchedule"}}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CompletedSale.ShoppingCart":{"title":"ShoppingCart","description":"Represents a shopping cart.","type":"object","properties":{"Id":{"description":"The shopping cart ID.","type":"string"},"CartItems":{"description":"Contains information about the items in the shopping cart.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CompletedSale.CartItem"}},"SubTotal":{"format":"double","description":"The cart’s total cost before taxes and discounts were applied.","type":"number"},"DiscountTotal":{"format":"double","description":"The monetary amount removed from the cart’s total cost by applied discounts.","type":"number"},"TaxTotal":{"format":"double","description":"The monetary amount paid in taxes, included in the cart’s `GrandTotal`.","type":"number"},"GrandTotal":{"format":"double","description":"The cart’s total cost, including taxes and discounts.","type":"number"},"Transactions":{"description":"Contains information returned from the first call to CheckoutShoppingCart.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CompletedSale.TransactionResponse"}},"SaleId":{"format":"int64","description":"The ID of the sale associated with the shopping cart.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CompletedSale.CartItem":{"title":"CartItem","type":"object","properties":{"Item":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CompletedSale.ItemBase","description":"A purchased item; either a pricing option or a retail product."},"SalesNotes":{"description":"Sales Notes for the Product Purcahsed","type":"string"},"DiscountAmount":{"format":"double","description":"The amount of the discount applied to the item.","type":"number"},"VisitIds":{"description":"The IDs of the booked classes, enrollments, or courses that were reconciled by this cart item. This list is only returned if a valid visit ID was passed in the request’s `VisitIds` list.","type":"array","items":{"format":"int64","type":"integer"}},"AppointmentIds":{"description":"Gets or sets the item.","type":"array","items":{"format":"int64","type":"integer"}},"Appointments":{"description":"The IDs of the appointments that were reconciled by this cart item. This list is only returned if a valid appointment ID was passed in the request’s `AppointmentIds` list.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Appointment"}},"Id":{"format":"int32","description":"The item’s ID in the current cart.","type":"integer"},"Quantity":{"format":"int32","description":"The quantity of the item being purchased.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CompletedSale.TransactionResponse":{"title":"TransactionResponse","type":"object","properties":{"TransactionId":{"format":"int32","description":"The Transaction ID.","type":"integer"},"AuthenticationUrl":{"description":"The optional valid URL provided by the bank.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CompletedSale.ItemBase":{"title":"ItemBase","type":"object","properties":{}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest":{"title":"InitiateCheckoutShoppingCartUsingAlternativePaymentsRequest","description":"The API Request model for Initiate Checkout Shopping Cart API.","required":["ClientId","Items","Payments","PaymentAuthenticationCallbackUrl"],"type":"object","properties":{"CartId":{"description":"The unique ID of the shopping cart to be processed. You can use this value to maintain a persistent cart. If you do not specify a cart ID, the MINDBODY software generates one.","type":"string"},"ClientId":{"description":"The RSSID of the client making the purchase. A cart can be validated without a client ID, but a client ID must be specified to complete a sale.","type":"string"},"PayerClientId":{"description":"The RSSID of the client paying for the purchase. This client needs to have a relationship of type \"Pays for\" with the client specified in the \"ClientId\" field.","type":"string"},"Test":{"description":"When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.<br />\r\nWhen `false`, the transaction takes place and the database is affected.<br />\r\nDefault: **false**","type":"boolean"},"Items":{"description":"A list of the items in the cart.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CheckoutItemWrapper"}},"InStore":{"description":"When `true`, indicates that the cart is to be completed by a staff member and is to take place at one of the business’ physical locations.<br />\r\nWhen `false`, indicates that the cart is to be completed by a client from the business’ online store.<br />\r\nDefault: **false**","type":"boolean"},"CalculateTax":{"description":"When `true`, indicates that the tax should be calculated.\r\nWhen `false`, indicates that the tax should not be calculated.\r\nDefault: **true**","type":"boolean"},"PromotionCode":{"description":"Promotion code to be applied to the cart.","type":"string"},"Payments":{"description":"A list of payment information objects to be applied to payment against the items in the cart.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.Payments.CheckoutAlternativePaymentInfo"}},"SendEmail":{"description":"When `true`, sends a purchase receipt email to the client. Note that all appropriate permissions and settings must be enabled for the client to receive an email.<br />\r\nDefault: **false**","type":"boolean"},"LocationId":{"format":"int32","description":"The location ID to be used for pulling business mode prices and taxes. If no location ID is supplied, it defaults to the online store, represented by a null value. \r\nDefault: **null** (the online store)","type":"integer"},"PaymentAuthenticationCallbackUrl":{"description":"The URL consumer is redirected to after the payment.","type":"string"},"TransactionIds":{"description":"The list of TransactionIds provided with initial response containing SCA Challenge URLs for ConsumerPresent transactions","type":"array","items":{"format":"int32","type":"integer"}},"IsBillingPostalCodeRequired":{"description":"the flag to check billing post code is required or not.","type":"boolean"},"EnforceLocationRestrictions":{"description":"When `true`, enforces \"sell at\" location restrictions on the cart items.\r\nWhen `false`, \"sell at\" location restrictions are not enforced.\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.Payments.CheckoutAlternativePaymentInfo":{"title":"CheckoutAlternativePaymentInfo","description":"Request object to capture Alternative Payment information.","required":["PaymentMethodId","Amount"],"type":"object","properties":{"PaymentMethodId":{"format":"int32","description":"The type of alternative payment. Possible values are:\r\n* 997 - Indicates that this payment item is iDEAL | Wero.\r\n* 801 - Indicates that this payment item is Apple Pay.","type":"integer"},"Amount":{"format":"double","description":"The amount to be paid","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.SaleController.CheckoutRequest.CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest":{"title":"CompleteCheckoutShoppingCartUsingAlternativePaymentsRequest","description":"The API Request model for Complete Checkout Shopping Cart API.","required":["AccessToken","ClientId"],"type":"object","properties":{"AccessToken":{"description":"The Access Token generated during Pre-Payment step.","type":"string"},"ClientId":{"description":"The RSSID of the client making the purchase. A cart can be validated without a client ID, but a client ID must be specified to complete a sale.","type":"string"},"Test":{"description":"When `true`, indicates that the contents of the cart are validated, but the transaction does not take place. You should use this parameter during testing and when checking the calculated totals of the items in the cart.<br />\r\nWhen `false`, the transaction takes place and the database is affected.<br />\r\nDefault: **false**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetSitesRequest":{"title":"GetSitesRequest","type":"object","properties":{"SiteIds":{"description":"List of the requested site IDs. When omitted, returns all sites that the source has access to.","type":"array","items":{"format":"int32","type":"integer"}},"IncludeLeadChannels":{"description":"This is an optional parameter to get lead channels for a Site.","type":"boolean"},"IncludePerStaffPricing":{"description":"Include whether or not studios have per staff pricing enabled.","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetSitesResponse":{"title":"GetSitesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Sites":{"description":"Contains information about the sites.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Site"}}}},"Mindbody.PublicApi.Dto.Models.V6.Site":{"title":"Site","type":"object","properties":{"AcceptsAmericanExpress":{"description":"When `true`, indicates that this site accepts American Express cards.<br />\r\nWhen `false`, indicates that this site does not accept American Express credit cards.","type":"boolean"},"AcceptsDiscover":{"description":"When `true`, indicates that this site accepts Discover cards.<br />\r\nWhen `false`, indicates that this site does not accept Discover credit cards.","type":"boolean"},"AcceptsMasterCard":{"description":"When `true`, indicates that this site accepts MasterCard cards.<br />\r\nWhen `false`, indicates that this site does not accept MasterCard credit cards.","type":"boolean"},"AcceptsVisa":{"description":"When `true`, indicates that this site accepts Visa cards.<br />\r\nWhen `false`, indicates that this site does not accept Visa credit cards.","type":"boolean"},"AllowsDashboardAccess":{"description":"When `true`, indicates that this site allows access to its dashboard.<br />\r\nWhen `false`, indicates that this site does not allow access to its dashboard.","type":"boolean"},"ContactEmail":{"description":"The site’s email address.","type":"string"},"Description":{"description":"A description of the site.","type":"string"},"Id":{"format":"int32","description":"The site ID.","type":"integer"},"LogoUrl":{"description":"The URL to the site’s logo.","type":"string"},"Name":{"description":"The name of the site.","type":"string"},"PageColor1":{"description":"A hex code for a color the business owner uses in marketing. This color can be used to set a theme for an integration so that it matches the configured color-scheme for the business.","type":"string"},"PageColor2":{"description":"The hex code for a second color, to be used in the same manner as `pageColor1`.","type":"string"},"PageColor3":{"description":"The hex code for a third color, to be used in the same manner as `pageColor1`.","type":"string"},"PageColor4":{"description":"The hex code for a fourth color, to be used in the same manner as `pageColor1`.","type":"string"},"PricingLevel":{"description":"The MINDBODY pricing level for the business. Possible values are:\r\nAccelerate - The business is on MINDBODY’s Accelerate pricing tier.\r\nGrow - The business is on MINDBODY’s Essential pricing tier.\r\nLegacy - The business is on an older MINDBODY pricing tier that is no longer offered.\r\nListing - The business is on an older MINDBODY pricing tier that is no longer offered.\r\nPro - The business is on an older MINDBODY pricing tier that is no longer offered.\r\nSolo - The business is on an older MINDBODY pricing tier that is no longer offered.\r\nUltimate - The business is on MINDBODY’s Ultimate pricing tier.","type":"string"},"SmsPackageEnabled":{"description":"When `true`, indicates that the business uses SMS text messages to communicate with its clients.<br />\r\nWhen `false`, indicates that the business does not use SMS text messages to communicate with its clients.","type":"boolean"},"TaxInclusivePrices":{"description":"When `true`, indicates that the total includes tax.<br />\r\nWhen `false`, indicates that the total does not include tax.","type":"boolean"},"CurrencyIsoCode":{"description":"The currency ISO code for the site.","type":"string"},"CountryCode":{"description":"The country code for the site.","type":"string"},"TimeZone":{"description":"The time zone the site is located in.","type":"string"},"AcceptsDirectDebit":{"description":"When `true`, indicates that direct debit can be used by clients at this site.<br />\r\nWhen `false`, indicates that direct debit can not by used by clients at this site.","type":"boolean"},"LeadChannels":{"description":"The list of lead channels available for a subscriber/studio.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.LeadChannel"}},"PerStaffPricing":{"description":"When `true`, indicates that per-staff pricing is enabled at this site.<br />\r\nWhen `false`, indicates that per-staff pricing is not enabled at this site.","type":"boolean"}}},"Mindbody.PublicApi.Common.Models.LeadChannel":{"title":"LeadChannel","type":"object","properties":{"Id":{"format":"int32","type":"integer"},"Name":{"type":"string"},"SalespipelineId":{"format":"int32","type":"integer"},"UniversalCustomerId":{"format":"uuid","type":"string","example":"00000000-0000-0000-0000-000000000000"},"StudioId":{"format":"int32","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetSessionTypesRequest":{"title":"GetSessionTypesRequest","type":"object","properties":{"ProgramIDs":{"description":"Filters results to session types that belong to one of the given program IDs. If omitted, all program IDs return.","type":"array","items":{"format":"int32","type":"integer"}},"OnlineOnly":{"description":"When `true`, indicates that only the session types that can be booked online should be returned.<br />\r\nDefault: **false**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetSessionTypesResponse":{"title":"GetSessionTypesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination properties used."},"SessionTypes":{"description":"Contains information about sessions.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SessionType"}}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetLocationsRequest":{"title":"GetLocationsRequest","type":"object","properties":{"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetLocationsResponse":{"title":"GetLocationsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Locations":{"description":"Contains information about the locations.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Location"}}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetProgramsRequest":{"title":"GetProgramsRequest","type":"object","properties":{"ScheduleType":{"description":"A schedule type used to filter the returned results. Possible values are:\r\n* All\r\n* Class\r\n* Enrollment\r\n* Appointment\r\n* Resource\r\n* Media\r\n* Arrival","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"},"OnlineOnly":{"description":"If `true`, filters results to show only those programs that are shown online.<br />\r\nIf `false`, all programs are returned.<br />\r\nDefault: **false**","type":"boolean"},"ProgramIds":{"description":"Program Ids to filter for","type":"array","items":{"format":"int32","type":"integer"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetProgramsResponse":{"title":"GetProgramsResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Programs":{"description":"Contains information about the programs.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Program"}}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetResourcesRequest":{"title":"GetResourcesRequest","type":"object","properties":{"ResourceIds":{"description":"Filter on resourceIds","type":"array","items":{"format":"int32","type":"integer"}},"LocationIds":{"description":"Filter by location ids (optional)","type":"array","items":{"format":"int32","type":"integer"}},"ScheduleTypes":{"description":"Filter by schedule types (optional)","type":"array","items":{"enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"}},"ProgramIds":{"description":"Filter by program ids (optional)","type":"array","items":{"format":"int32","type":"integer"}},"IncludeInactive":{"description":"Enable to include inactive","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetResourceAvailabilitiesRequest":{"title":"GetResourceAvailabilitiesRequest","type":"object","properties":{"StartDate":{"format":"date-time","description":"Start time","type":"string"},"EndDate":{"format":"date-time","description":"End date. If default, StartDate is used.","type":"string"},"ResourceIds":{"description":"Filter on resourceIds","type":"array","items":{"format":"int32","type":"integer"}},"LocationIds":{"description":"Filter by location ids (optional)","type":"array","items":{"format":"int32","type":"integer"}},"ScheduleTypes":{"description":"Filter by schedule types (optional)","type":"array","items":{"enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"}},"ProgramIds":{"description":"Filter by program ids (optional)","type":"array","items":{"format":"int32","type":"integer"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetResourceAvailabilitiesResponse":{"title":"GetResourceAvailabilitiesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"ResourceAvailabilities":{"description":"Contains information about resources as the business.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ResourceAvailability"}}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetActivationCodeResponse":{"title":"GetActivationCodeResponse","type":"object","properties":{"ActivationCode":{"description":"An activation code used to provide access to a site’s business data through MINDBODY.","type":"string"},"ActivationLink":{"description":"A link to the Manage Credentials screen.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetMembershipsRequest":{"title":"GetMembershipsRequest","type":"object","properties":{"MembershipIds":{"description":"The requested membership IDs.<br />\r\nDefault: **all** IDs that the authenticated user’s access level allows.","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.ClientController.GetMembershipsResponse":{"title":"GetMembershipsResponse","type":"object","properties":{"Memberships":{"description":"Details about the memberships.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Membership"}}}},"Mindbody.PublicApi.Dto.Models.V6.Membership":{"title":"Membership","type":"object","properties":{"MembershipId":{"format":"int32","description":"The membership id.","type":"integer"},"MembershipName":{"description":"The membership name.","type":"string"},"Priority":{"format":"int32","description":"The priority/sort order.","type":"integer"},"MemberRetailDiscount":{"format":"double","description":"The membership discount for retail as a percentage.","type":"number"},"MemberServiceDiscount":{"format":"double","description":"The membership discount for services as a percentage.","type":"number"},"AllowClientsToScheduleUnpaid":{"description":"Allow clients in this membership to schedule unpaid.","type":"boolean"},"OnlineBookingRestrictedToMembersOnly":{"description":"List of programs that are restricted to clients in this membership only.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ProgramMembership"}},"DayOfMonthSchedulingOpensForNextMonth":{"format":"int32","description":"Day of month scheduling opens for next month.  Unrestricted is a null value.","type":"integer"},"RestrictSelfSignInToMembersOnly":{"description":"Restrict self sign in to members only.","type":"boolean"},"AllowMembersToBookAppointmentsWithoutPaying":{"description":"Allow members to book appointments without paying.","type":"boolean"},"AllowMembersToPurchaseNonMembersServices":{"description":"Allow members to purchase non-members services.","type":"boolean"},"AllowMembersToPurchaseNonMembersProducts":{"description":"Allow members to purchase non-members products.","type":"boolean"},"IsActive":{"description":"Indicates if the membership is active.","type":"boolean"},"EarlyAccessDaysBeforeSchedulingWindow":{"format":"int32","description":"Number of days before the scheduling window that members with this membership get early access.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ProgramMembership":{"title":"ProgramMembership","type":"object","properties":{"Id":{"format":"int32","description":"The service category’s ID.","type":"integer"},"Name":{"description":"The name of this service category.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetGendersResponse":{"title":"GetGendersResponse","type":"object","properties":{"GenderOptions":{"description":"A list of the gender options and their properties at the site","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.GenderOption"}}}},"Mindbody.PublicApi.Dto.Models.V6.GenderOption":{"title":"GenderOption","description":"A gender option available at a site","type":"object","properties":{"Id":{"format":"int32","description":"The id of the gender option.","type":"integer"},"Name":{"description":"The value that describes this gender option.","type":"string"},"IsActive":{"description":"When `true`, this indicates that the gender option is active and may be assigned to a client.","type":"boolean"},"IsDefault":{"description":"When true, this indicates that this is the default gender option at the site.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetCategoriesRequest":{"title":"GetCategoriesRequest","description":"Get Categories Request Model","type":"object","properties":{"CategoryIds":{"description":"When included, the response only contains details about the specified category Ids.","type":"array","items":{"format":"int32","type":"integer"}},"SubCategoryIds":{"description":"When included, the response only contains details about the specified subcategory Ids.","type":"array","items":{"format":"int32","type":"integer"}},"Service":{"description":"When `true`, the response only contains details about Revenue Categories.\r\nWhen `false`, only Product Revenue Categories are returned.\r\nDefault: **All Categories**","type":"boolean"},"Active":{"description":"When `true`, the response only contains categories which are activated. \r\nWhen `false`, only deactivated categories are returned.\r\nDefault: **All Categories**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetCategoriesResponse":{"title":"GetCategoriesResponse","description":"Get Categories Response Model","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Categories":{"description":"Contains the Category objects, each of which describes the categories for a site.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.Category"}}}},"Mindbody.PublicApi.Common.Models.Category":{"title":"Category","type":"object","properties":{"Id":{"format":"int32","description":"The category Id used for api calls.","type":"integer"},"CategoryName":{"description":"Category Name","type":"string"},"Description":{"description":"Category Description","type":"string"},"Service":{"description":"Category service","type":"boolean"},"Active":{"description":"Check if Category is active.","type":"boolean"},"IsPrimary":{"description":"Check if Category is of primary type.","type":"boolean"},"IsSecondary":{"description":"Check if Category is of secondary type.","type":"boolean"},"CreatedDateTimeUTC":{"format":"date-time","description":"Category Created DateTime UTC","type":"string"},"ModifiedDateTimeUTC":{"format":"date-time","description":"Category Modified DateTime UTC","type":"string"},"SubCategories":{"description":"Contains the SubCategory objects, each of which describes the subcategories for a category.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.SubCategory"}},"TotalCount":{"format":"int32","description":"Get total number of rows","type":"integer"}}},"Mindbody.PublicApi.Common.Models.SubCategory":{"title":"SubCategory","type":"object","properties":{"Id":{"format":"int32","description":"The Id of the subcategory.","type":"integer"},"SubCategoryName":{"description":"The name of the subcategory.","type":"string"},"Active":{"description":"When `true`, indicates that the subcategory is active.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetPaymentTypesRequest":{"title":"GetPaymentTypesRequest","description":"Get Payment Types Request Model","type":"object","properties":{"Active":{"description":"When `true`, the response only contains payment types which are activated.\r\nWhen `false`, only deactivated payment types are returned.\r\nDefault: **All Payment Types**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetPaymentTypesResponse":{"title":"GetPaymentTypesResponse","description":"Get Payment Types Response Model","type":"object","properties":{"PaymentTypes":{"description":"The requested payment types.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.PaymentType"}}}},"Mindbody.PublicApi.Common.Models.PaymentType":{"title":"PaymentType","type":"object","properties":{"Id":{"format":"int32","description":"The Payment Type Id used for api calls.","type":"integer"},"PaymentTypeName":{"description":"Payment Type Name","type":"string"},"Active":{"description":"Check if Payment type is active.","type":"boolean"},"Fee":{"format":"double","description":"Payment type fee.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetRelationshipsRequest":{"title":"GetRelationshipsRequest","description":"Get Relationships Request Model","type":"object","properties":{"Active":{"description":"When `true`, the response only contains relationships which are activated.\r\nWhen `false`, only deactivated relationships are returned.\r\nDefault: **All Relationships**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetRelationshipsResponse":{"title":"GetRelationshipsResponse","description":"Get Relationships Response Model","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"Relationships":{"description":"A list of relationships.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Relationship"}}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetMobileProvidersRequest":{"title":"GetMobileProvidersRequest","description":"Get Mobile Providers Request Object","type":"object","properties":{"Active":{"description":"When `true`, the response only contains mobile providers which are activated. \r\nWhen `false`, only deactivated mobile providers are returned.\r\nDefault: **All Mobile Providers**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetMobileProvidersResponse":{"title":"GetMobileProvidersResponse","description":"Get Mobile Providers Response Object","type":"object","properties":{"MobileProviders":{"description":"A list of mobile providers.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Common.Models.MobileProvider"}}}},"Mindbody.PublicApi.Common.Models.MobileProvider":{"title":"MobileProvider","type":"object","properties":{"Id":{"format":"int32","type":"integer"},"Active":{"type":"boolean"},"ProviderName":{"type":"string"},"ProviderAddress":{"type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetProspectStagesRequest":{"title":"GetProspectStagesRequest","description":"Get Prospect Stages Request Model","type":"object","properties":{"Active":{"description":"When `true`, the response only contains prospect stages which are activated.\r\nWhen `false`, only deactivated prospect stages are returned.\r\nDefault: **All Prospect Stages**","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetProspectStagesResponse":{"title":"GetProspectStagesResponse","description":"Get Prospect Stages Response Model","type":"object","properties":{"ProspectStages":{"description":"List of Prospect Stages","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ProspectStage"}}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.AddSiteClientIndexRequest":{"title":"AddSiteClientIndexRequest","required":["ClientIndexName"],"type":"object","properties":{"ClientIndexName":{"description":"The name of the client index.","type":"string"},"Active":{"description":"Indicates if Client Index is Active","type":"boolean"},"ShowOnNewClient":{"description":"Indicates if Client Index is shown on a new client profile","type":"boolean"},"ShowOnEnrollmentRoster":{"description":"Indicates if Client Index is shown on Enrollement Roster","type":"boolean"},"EditOnEnrollmentRoster":{"description":"Indicates if Client Index can be edited on Enrollement Roster","type":"boolean"},"SortOrder":{"format":"int32","description":"Indicates sort order","type":"integer"},"ShowInConsumerMode":{"description":"Indicates if Client Index is shown in consumer mode.","type":"boolean"},"RequiredConsumerMode":{"description":"Indicates if the index is required when creating profiles in consumer mode.","type":"boolean"},"RequiredBizMode":{"description":"Indicates if the index is required when creating profiles in business mode.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.AddSiteClientIndexResponse":{"title":"AddSiteClientIndexResponse","type":"object","properties":{"ClientIndexID":{"format":"int32","description":"ID of the client index.","type":"integer"},"ClientIndexName":{"description":"The name of the client index.","type":"string"},"Active":{"description":"Indicates if Client Index is Active","type":"boolean"},"ShowOnNewClient":{"description":"Indicates if Client Index is shown on a new client profile","type":"boolean"},"ShowOnEnrollmentRoster":{"description":"Indicates if Client Index is shown on Enrollement Roster","type":"boolean"},"EditOnEnrollmentRoster":{"description":"Indicates if Client Index can be edited on Enrollement Roster","type":"boolean"},"SortOrder":{"format":"int32","description":"Indicates sort order","type":"integer"},"ShowInConsumerMode":{"description":"Indicates if Client Index is shown in consumer mode.","type":"boolean"},"RequiredConsumerMode":{"description":"Indicates if the index is required when creating profiles in consumer mode.","type":"boolean"},"RequiredBizMode":{"description":"Indicates if the index is required when creating profiles in business mode.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.UpdateSiteClientIndexRequest":{"title":"UpdateSiteClientIndexRequest","required":["ClientIndexID","ClientIndexName"],"type":"object","properties":{"ClientIndexID":{"format":"int32","description":"The ID of the client index.","type":"integer"},"ClientIndexName":{"description":"The name of the client index.","type":"string"},"Active":{"description":"Indicates if Client Index is Active","type":"boolean"},"ShowOnNewClient":{"description":"Indicates if Client Index is shown on a new client profile","type":"boolean"},"ShowOnEnrollmentRoster":{"description":"Indicates if Client Index is shown on Enrollement Roster","type":"boolean"},"EditOnEnrollmentRoster":{"description":"Indicates if Client Index can be edited on Enrollement Roster","type":"boolean"},"SortOrder":{"format":"int32","description":"Indicates sort order","type":"integer"},"ShowInConsumerMode":{"description":"Indicates if Client Index is shown in consumer mode.","type":"boolean"},"RequiredConsumerMode":{"description":"Indicates if the index is required when creating profiles in consumer mode.","type":"boolean"},"RequiredBizMode":{"description":"Indicates if the index is required when creating profiles in business mode.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.UpdateSiteClientIndexResponse":{"title":"UpdateSiteClientIndexResponse","type":"object","properties":{"ClientIndexID":{"format":"int32","description":"ID of the client index.","type":"integer"},"ClientIndexName":{"description":"The name of the client index.","type":"string"},"Active":{"description":"Indicates if Client Index is Active","type":"boolean"},"ShowOnNewClient":{"description":"Indicates if Client Index is shown on a new client profile","type":"boolean"},"ShowOnEnrollmentRoster":{"description":"Indicates if Client Index is shown on Enrollement Roster","type":"boolean"},"EditOnEnrollmentRoster":{"description":"Indicates if Client Index can be edited on Enrollement Roster","type":"boolean"},"SortOrder":{"format":"int32","description":"Indicates sort order","type":"integer"},"ShowInConsumerMode":{"description":"Indicates if Client Index is shown in consumer mode.","type":"boolean"},"RequiredConsumerMode":{"description":"Indicates if the index is required when creating profiles in consumer mode.","type":"boolean"},"RequiredBizMode":{"description":"Indicates if the index is required when creating profiles in business mode.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.SiteController.GetLiabilityWaiverResponse":{"title":"GetLiabilityWaiverResponse","type":"object","properties":{"LiabilityWaiver":{"description":"Contains Liability Waiver text for a site","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffRequest":{"title":"GetStaffRequest","type":"object","properties":{"StaffIds":{"description":"A list of the requested staff IDs.","type":"array","items":{"format":"int64","type":"integer"}},"Filters":{"description":"Filters to apply to the search. Possible values are:\r\n* StaffViewable\r\n* AppointmentInstructor\r\n* ClassInstructor\r\n* Male\r\n* Female","type":"array","items":{"type":"string"}},"SessionTypeId":{"format":"int32","description":"Return only staff members that are available for the specified session type. You must supply a valid `StartDateTime` and `LocationID` to use this parameter.","type":"integer"},"StartDateTime":{"format":"date-time","description":"Return only staff members that are available at the specified date and time. You must supply a valid `SessionTypeID` and `LocationID` to use this parameter.","type":"string"},"LocationId":{"format":"int32","description":"Return only staff members that are available at the specified location. You must supply a valid `SessionTypeID` and `StartDateTime` to use this parameter.","type":"integer"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffResponse":{"title":"GetStaffResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse"},"StaffMembers":{"description":"A list of staff members. See Staff for a description of the 'Staff' information.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff"}}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffImageURLRequest":{"title":"GetStaffImageURLRequest","description":"This is the request class for the get staff image URL API","type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member whose image URL details you want to retrieve.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffImageURLResponse":{"title":"GetStaffImageURLResponse","description":"A response object returned from the GetStaffImgURL API.","type":"object","properties":{"ImageURL":{"description":"A staff member's image URL.","type":"string"},"MobileImageURL":{"description":"A staff member's mobile image URL.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.AddStaffRequest":{"title":"AddStaffRequest","required":["FirstName","LastName"],"type":"object","properties":{"FirstName":{"description":"The staff member first name. You must specify a first name when you add a staff member.","type":"string"},"LastName":{"description":"The staff member last name. You must specify a last name when you add a staff member.","type":"string"},"Email":{"description":"The staff member’s email address.","type":"string"},"IsMale":{"description":"When `true`, indicates that the staff member is male.\r\nWhen `false`, indicates that the staff member is female.","type":"boolean"},"HomePhone":{"description":"The staff member’s home phone number.","type":"string"},"WorkPhone":{"description":"The staff member’s work phone number.","type":"string"},"MobilePhone":{"description":"The staff member’s mobile phone number.","type":"string"},"Bio":{"description":"The staff member’s biography. This string contains HTML.","type":"string"},"Address":{"description":"The first line of the staff member street address.","type":"string"},"Address2":{"description":"The second line of the staff member street address, if needed.","type":"string"},"City":{"description":"The staff member’s city.","type":"string"},"State":{"description":"The staff member’s state.","type":"string"},"Country":{"description":"The staff member’s country.","type":"string"},"PostalCode":{"description":"The staff member’s postal code.","type":"string"},"ClassAssistant":{"description":"Is the staff an assistant","type":"boolean"},"ClassAssistant2":{"description":"Is the staff an assistant2","type":"boolean"},"IndependentContractor":{"description":"When `true`, indicates that the staff member is an independent contractor.\r\nWhen `false`, indicates that the staff member is not an independent contractor.","type":"boolean"},"AppointmentInstructor":{"description":"When `true`, indicates that the staff member offers appointments.<br />\r\nWhen `false`, indicates that the staff member does not offer appointments.","type":"boolean"},"AlwaysAllowDoubleBooking":{"description":"When `true`, indicates that the staff member can be scheduled for overlapping services.<br />\r\nWhen `false`, indicates that the staff can only be scheduled for one service at a time in any given time-frame.","type":"boolean"},"ClassTeacher":{"description":"When `true`, indicates that the staff member can teach classes.\r\nWhen `false`, indicates that the staff member cannot teach classes.","type":"boolean"},"EmploymentStart":{"format":"date-time","description":"The start date of employment","type":"string"},"EmploymentEnd":{"format":"date-time","description":"The end date of employment","type":"string"},"SortOrder":{"format":"int32","description":"If configured by the business owner, this field determines a staff member’s weight when sorting. Use this field to sort staff members on your interface.","type":"integer"},"ProviderIDs":{"description":"A list of providerIDs for the staff.  In the US it is one per staff and is numeric, otherwise it can be a list and is alpha-numeric\r\nfor more information see <a href=\" https://support.mindbodyonline.com/s/article/204075743-Provider-IDs?language=en_US\" target=\"blank\">Provider IDs</a>","type":"array","items":{"type":"string"}},"Notes":{"description":"The staff member private notes.","type":"string"},"EmpID":{"description":"The custom staff ID assigned to the staff member.","type":"string"},"DefaultClassPayRate":{"format":"int32","description":"Default class pay rate (payscale) ID between 1 and 21. Omit or leave null to skip.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.AddStaffResponse":{"title":"AddStaffResponse","type":"object","properties":{"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Contains information about the staff"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.UpdateStaffRequest":{"title":"UpdateStaffRequest","required":["ID"],"type":"object","properties":{"ID":{"format":"int64","description":"The unique ID of the staff member.","type":"integer"},"FirstName":{"description":"The staff member first name. You must specify a first name when you add a staff member.","type":"string"},"LastName":{"description":"The staff member last name. You must specify a last name when you add a staff member.","type":"string"},"Email":{"description":"The staff member’s email address.","type":"string"},"IsMale":{"description":"When `true`, indicates that the staff member is male.\r\nWhen `false`, indicates that the staff member is female.","type":"boolean"},"HomePhone":{"description":"The staff member’s home phone number.","type":"string"},"WorkPhone":{"description":"The staff member’s work phone number.","type":"string"},"MobilePhone":{"description":"The staff member’s mobile phone number.","type":"string"},"Bio":{"description":"The staff member’s biography. This string contains HTML.","type":"string"},"Address":{"description":"The first line of the staff member street address","type":"string"},"Address2":{"description":"The second line of the staff member street address, if needed.","type":"string"},"City":{"description":"The staff member’s city.","type":"string"},"State":{"description":"The staff member’s state.","type":"string"},"Country":{"description":"The staff member’s country.","type":"string"},"PostalCode":{"description":"The staff member’s postal code.","type":"string"},"ClassAssistant":{"description":"When `true`, indicates that the staff member can be a class assistant.","type":"boolean"},"ClassAssistant2":{"description":"When `true`, indicates that the staff member can be a class assistant.","type":"boolean"},"IndependentContractor":{"description":"When `true`, indicates that the staff member is an independent contractor.\r\nWhen `false`, indicates that the staff member is not an independent contractor.","type":"boolean"},"AppointmentInstructor":{"description":"When `true`, indicates that the staff member offers appointments.<br />\r\nWhen `false`, indicates that the staff member does not offer appointments.","type":"boolean"},"AlwaysAllowDoubleBooking":{"description":"When `true`, indicates that the staff member can be scheduled for overlapping services.<br />\r\nWhen `false`, indicates that the staff member does not offer appointments.","type":"boolean"},"ClassTeacher":{"description":"When `true`, indicates that the staff member can teach classes.\r\nWhen `false`, indicates that the staff member cannot teach classes.","type":"boolean"},"EmploymentStart":{"format":"date-time","description":"The start date of employment","type":"string"},"EmploymentEnd":{"format":"date-time","description":"The end date of employment","type":"string"},"SortOrder":{"format":"int32","description":"If configured by the business owner, this field determines a staff member’s weight when sorting. Use this field to sort staff members on your interface.","type":"integer"},"ProviderIDs":{"description":"A list of providerIDs for the staff.  In the US it is one per staff and is numeric, otherwise it can be a list and is alpha-numeric\r\nfor more information see <a href=\" https://support.mindbodyonline.com/s/article/204075743-Provider-IDs?language=en_US\" target=\"blank\">Provider IDs</a>","type":"array","items":{"type":"string"}},"Active":{"description":"Indicates if the staff member is active. Staff member cannot be deactivated if they have future classes or appointments.","type":"boolean"},"Notes":{"description":"Staff Member Private Notes","type":"string"},"EmpID":{"description":"The custom staff ID assigned to the staff member.","type":"string"},"DefaultClassPayRate":{"format":"int32","description":"Default class pay rate (payscale) ID between 1 and 21. Omit or leave null to leave unchanged.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.UpdateStaffResponse":{"title":"UpdateStaffResponse","type":"object","properties":{"Staff":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Staff","description":"Contains information about the staff"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.AddStaffAvailabilityRequest":{"title":"AddStaffAvailabilityRequest","description":"Add Staff Availability/Unavailability Schedule","required":["StaffId","IsAvailability","DaysOfWeek","StartTime","EndTime","StartDate","EndDate"],"type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member that availability or unavailability will be added.","type":"integer"},"IsAvailability":{"description":"When `true`, indicates that availability will be added, <br />\r\nWhen `false`, indicates that unavailability will be added.","type":"boolean"},"Description":{"description":"The description of the unavailability, ex. Lunch, Vacation. Required if IsAvailability passed as `false`.\r\nOmit if IsAvailability passed as `true`.","type":"string"},"ProgramIds":{"description":"A list of program IDs. Must be a valid active schedulable Program ID. Required if IsAvailability passed as `true`. \r\nOmit if IsAvailability passed as `false`.","type":"array","items":{"format":"int32","type":"integer"}},"LocationId":{"format":"int32","description":"The ID of the location where the availability is added. Required if IsAvailability passed as `true`.\r\nOmit if IsAvailability passed as `false`.","type":"integer"},"DaysOfWeek":{"description":"The days of the week. Must contain at least one of the following Sunday, Monday, Tuesday etc.","type":"array","items":{"type":"string"}},"StartTime":{"description":"The start time of the schedule. Must be in HH:MM:SS format.","pattern":"^(?:(?:([01]?\\d|2[0-3]):)?([0-5]?\\d):)?([0-5]?\\d)$","type":"string"},"EndTime":{"description":"The end time of the schedule. Must be in HH:MM:SS format.","pattern":"^(?:(?:([01]?\\d|2[0-3]):)?([0-5]?\\d):)?([0-5]?\\d)$","type":"string"},"StartDate":{"description":"The start date of the schedule. Must be in YYYY-MM-DD format.","pattern":"^\\d{4}-((0\\d)|(1[012]))-(([012]\\d)|3[01])$","type":"string"},"EndDate":{"description":"The end date of the schedule. Must be in YYYY-MM-DD format.","pattern":"^\\d{4}-((0\\d)|(1[012]))-(([012]\\d)|3[01])$","type":"string"},"Status":{"description":"The status of availability or unavailability. Possible values are:\r\n* Masked\r\n* Hidden\r\n* Public\r\n\r\nDefault: Public","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffSessionTypesRequest":{"title":"GetStaffSessionTypesRequest","required":["StaffId"],"type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member whose session types you want to return.","type":"integer"},"ProgramIds":{"description":"Filters results to session types that belong to one of the given program IDs. If omitted, all program IDs return.","type":"array","items":{"format":"int32","type":"integer"}},"OnlineOnly":{"description":"When `true`, indicates that only the session types that can be booked online should be returned.\r\nDefault: **false**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffSessionTypesResponse":{"title":"GetStaffSessionTypesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination properties used."},"StaffSessionTypes":{"description":"Contains information about staff member session types.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffSessionType"}}}},"Mindbody.PublicApi.Dto.Models.V6.StaffSessionType":{"title":"StaffSessionType","type":"object","properties":{"StaffId":{"format":"int64","description":"The staff member Id","type":"integer"},"Type":{"description":"Contains the class description session type.","enum":["All","Class","Enrollment","Appointment","Resource","Media","Arrival"],"type":"string"},"Id":{"format":"int32","description":"This session type’s unique Id.","type":"integer"},"Name":{"description":"The name of this session type.","type":"string"},"NumDeducted":{"format":"int32","description":"The number of sessions that this session type deducts from the pricing option used to pay for this type of session.","type":"integer"},"ProgramId":{"format":"int32","description":"This session type’s service category Id.","type":"integer"},"Category":{"description":"This session type’s category.","type":"string"},"CategoryId":{"format":"int32","description":"This session type’s category Id.","type":"integer"},"Subcategory":{"description":"This session type’s subcategory.","type":"string"},"SubcategoryId":{"format":"int32","description":"This session type’s subcategory Id.","type":"integer"},"TimeLength":{"format":"int32","type":"integer"},"PrepTime":{"format":"int32","description":"Prep time in minutes","type":"integer"},"FinishTime":{"format":"int32","description":"Finish time in minutes","type":"integer"},"PayRateType":{"description":"The pay rate type","type":"string"},"PayRateAmount":{"format":"double","description":"The pay rate amount","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.AssignStaffSessionTypeRequest":{"title":"AssignStaffSessionTypeRequest","required":["StaffId","SessionTypeId","Active"],"type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member session type is getting assigned to. The staff member must be assignable to appointments or already be assigned to the session type in the request.","minimum":1,"type":"integer"},"SessionTypeId":{"format":"int32","description":"The ID of the session type that is getting assigned to the staff member. The session type must be an appointment.","maximum":2147483647,"minimum":1,"type":"integer"},"Active":{"description":"Indicates if assignment is active. Passing `false` is equivalent to deleting the assignment.","type":"boolean"},"TimeLength":{"format":"int32","description":"The staff specific amount of time that a session of this type typically lasts.","type":"integer"},"PrepTime":{"format":"int32","description":"Prep time in minutes","type":"integer"},"FinishTime":{"format":"int32","description":"Finish time in minutes","type":"integer"},"PayRateType":{"description":"The pay rate type. Can be one of the following (case insensitive):\r\n   Percent\r\n   Flat\r\n   No Pay\r\n   If PayRateType is not provided in the request and the request is creating a completely new assignment (not editing an existing active or inactive assignment), then the staff member default pay rate and pay rate amount are used to create the assignment. Otherwise, the existing assignment values are used for any optional request parameters not included in the request.","type":"string"},"PayRateAmount":{"format":"double","description":"The pay rate amount for the specific staff member. It is parsed according to the PayRateType.","type":"number"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.AssignStaffSessionTypeResponse":{"title":"AssignStaffSessionTypeResponse","type":"object","properties":{"StaffId":{"format":"int64","description":"Staff member assigned to the session type","type":"integer"},"SessionTypeId":{"format":"int32","description":"The session type the staff member is assigned to","type":"integer"},"PayRateType":{"description":"The pay rate type name\r\nCan be: \"Flat\", \"Percent\", or \"No Pay\"","type":"string"},"PayRateAmount":{"format":"double","description":"The pay rate amount. It is interpreted based on the value of PayRateTypeId","type":"number"},"TimeLength":{"format":"int32","description":"The staff specific amount of time that a session of this type typically lasts.","type":"integer"},"PrepTime":{"format":"int32","description":"Prep time in minutes","type":"integer"},"FinishTime":{"format":"int32","description":"Finish time in minutes","type":"integer"},"Active":{"description":"Whether this association is active","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetSalesRepsRequest":{"title":"GetSalesRepsRequest","description":"This is the request class for the get sales reps API","type":"object","properties":{"SalesRepNumbers":{"description":"This is the list of the sales rep numbers for which the salesrep data will be fetched.","type":"array","items":{"format":"int32","type":"integer"}},"ActiveOnly":{"description":"When `true`, will return only active reps data.\r\nDefault : **false**","type":"boolean"},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetSalesRepsResponse":{"title":"GetSalesRepsResponse","description":"This is the response class for the get sales reps API","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"SalesReps":{"description":"This the list of sales reps and their details","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.SalesRepResponse"}}}},"Mindbody.PublicApi.Dto.Models.V6.SalesRepResponse":{"title":"SalesRepResponse","description":"This is the sales rep DTO","type":"object","properties":{"Id":{"format":"int64","description":"The unique Id of the sales rep","type":"integer"},"FirstName":{"description":"The firstname of the sales rep","type":"string"},"LastName":{"description":"The lastname of the sales rep","type":"string"},"SalesRepNumbers":{"description":"The sales rep Ids that are assigned to the rep","type":"array","items":{"format":"int32","type":"integer"}}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffPermissionsRequest":{"title":"GetStaffPermissionsRequest","required":["StaffId"],"type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member whose permissions you want to return.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.GetStaffPermissionsResponse":{"title":"GetStaffPermissionsResponse","type":"object","properties":{"UserGroup":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffPermissionGroup","description":"Contains information about the requested staff member’s permission group."}}},"Mindbody.PublicApi.Dto.Models.V6.StaffPermissionGroup":{"title":"StaffPermissionGroup","type":"object","properties":{"PermissionGroupName":{"description":"The name of the permission group.","type":"string"},"IpRestricted":{"description":"When `true`, the staff member’s permissions are restricted to specific IP addresses.<br />\r\nWhen `false`, the staff member’s permissions are not restricted to specific IP addresses.","type":"boolean"},"AllowedPermissions":{"description":"A list of the permissions allowed to the staff member. See [Permission Values](https://developers.mindbodyonline.com/PublicDocumentation/V6#epermission-values) for descriptions of the possible permissions.","type":"array","items":{"enum":["ManageClassAndEventDescriptions","ManageClassSchedules","ScheduleFreeClassesAndEvents","ScheduleResourcesForClassesAndEvents","SubstituteClassAndEventTeachers","BulkEditClassSchedules","AddStaffMembers","ManagePersonalInfoForStaff","ManageStaffSettings","ManageStaffLogins","ManageStaffSchedules","ManageStaffPayRates","AccessBusinessInformationScreen","AccessGeneralSetupOptionsScreen","AccessNewsEventsScreen","ManageHolidays","ClassAndEventOptionsScreen","AppointmentOptionsScreen","AccessMediaManagementScreen","AccessMembershipSetupScreen","ManagePaymentMethods","ManageRoomNumbers","AccessResourceManagementScreen","AccessResourcesSchedulingTab","AccessLinksScreen","BulkCancelClientReservations","FindDuplicateClients","MergeDuplicateClients","ManageAutoEmails","ManageRevenueCategoriesForServices","ManageRevenueCategoriesForProducts","AccessActiveSessionTimesScreen","AccessClassSessionTypeScreens","AccessServiceCategoriesScreen","ManageSubscriberPricing","AddIntroOffersOnAcquisitionDashboard","ManageMindbodyNetworkSettings","ManageProducts","ViewProductCost","ManageMembershipSettingsForPricing","ManagePromotionCodes","EditSales","PrintProductBarcodes","MakeSales","AddProductsOnRetailScreen","EditSaleDateOnRetailScreen","EditSalePriceCountOnRetailScreen","EditActivationDateOnRetailScreen","ApplyCustomDiscountsOnRetailScreen","PayForAnotherClientOnRetailScreen","VoidEditPastSales","RefundSales","RefundSalesToCreditCards","LocationSwitching","PullReportsForAllLocations","LogInventory","AdjustInventory","TransferInventory","ManagePurchaseOrders","ManageLocationLocalization","ManagePermissionGroups","ManageConstantContactSettings","AccessServicesPricingScreen","ManageSemesters","ManageRetentionMarketing","ManageSubscriberSetupChecklist","ViewClassAndEventReservations","BookClassesAndEvents","BookClassesAndEventsInThePast","BookClassesAndEventsWithoutPayment","CancelClassesAndEvents","ManageClassNotes","ViewAppointmentSchedule","ViewPersonalAppointmentSchedule","EditPersonalAppointmentSchedule","ViewAppointmentDetails","ManageAppointmentRequests","BookAppointmentsForOtherStaffMembers","BookAppointmentsInThePast","ChangeAppointmentDetails","UseAnyAppointmentAsAnAddon","ChangeAppointmentDuration","CancelAppointments","ApplyPaymentToAppointments","CheckOutAppointments","OverrideAssignedPricing","ManageAppointmentColors","ViewAllLocationOnClientLookupScreen","AddClient","ViewClientProfileScreen","EditClientProfileScreen","AssignClientIndexes","ManageClientSuspensions","ViewClientPastVisits","ViewClientAccountAndPurchaseHistory","EditClientServiceDurationAndAssignedVisits","EditClientServiceSessionCount","IgnoreServiceCategoriesWhenReassigningPayment","ViewClientAutoPaySchedules","ManageClientAutoPaySchedules","ViewClientDocuments","AddClientDocuments","DeleteClientDocuments","ViewClientFutureVisits","ViewClientBillingInformation","EditClientBillingInformation","ManageClientLogins","UnassignClientGiftCards","IgnoreCancellationPolicy","LaunchSignInScreen","DeleteAndTerminateClientContracts","ReleaseContractDeposits","AutoRenewAndSuspendContracts","ManageClassTests","ScheduleClassTests","ManageClientRequiredFields","ManageClientAlerts","ManageClientTypesAndClientIndexes","ManageClientReferralTypes","ManageClientRelationshipTypes","ManageClientGenders","ClientAcquisitionAndAnalyticsDashboards","ViewRetentionMarketingDashboard","ExportReports","ManageTaggedClients","StaffPhoneBookReport","ScheduleAtAGlanceReportForAllStaff","PersonalScheduleAtAGlanceReport","AttendanceWithRevenueReport","CancellationsReport","PersonalCancellationsReport","AccountBalancesReport","BulkAutoPaySchedulingFromAccountBalancesReport","EventInvoicesReport","CashDrawerReportCurrentDate","CashDrawerReportAnyDate","DailyCloseoutReport","SalesReports","SalesBySupplierAndProductReports","PromoteFeesReport","GiftCardsReport","InventoryReports","MarketingReports","AnalysisReports","ClientIndexesReports","PayrollReportsForAllStaff","PersonalPayrollReports","StaffPerformanceReports","OnlineMetricsReport","RetentionManagementReport","EntryLogsReport","StaffActivityLogReport","MembershipReport","ManageOnlineOrdersReport","TasksReport","ClockSelfInAndOut","ClockOthersInAndOut","AccessTimeclockReport","ManageTimeClocks","ManageTimeClockTasks","ManageContactLogTypes","ViewContactLogs","AddContactLogs","EditOtherStaffMemberContactLogs","DeleteContactLogs","ContactLogAnalysisReport","SalesForecastReport","ViewAllClients","ManageClientSalesReps","CreateRetailTickets","EditRetailTickets","ManageTaskAssignments","MerchantAccountReports","VoidCreditCardTransactions","SettleCreditCardTransactions","UseStoredCreditCards","ManageAutoPays","ViewPersonalReviews","ViewOthersReviews","ViewClientNamesOnReviewReport","EmailClientsFromReviewReport","FlagReviewForRemoval","RespondPubliclyToReviews"],"type":"string"}},"DeniedPermissions":{"description":"A list of the permissions that the staff member is not allowed to exercise. See [Permission Values](https://developers.mindbodyonline.com/PublicDocumentation/V6#epermission-values) for descriptions of the possible permissions.","type":"array","items":{"enum":["ManageClassAndEventDescriptions","ManageClassSchedules","ScheduleFreeClassesAndEvents","ScheduleResourcesForClassesAndEvents","SubstituteClassAndEventTeachers","BulkEditClassSchedules","AddStaffMembers","ManagePersonalInfoForStaff","ManageStaffSettings","ManageStaffLogins","ManageStaffSchedules","ManageStaffPayRates","AccessBusinessInformationScreen","AccessGeneralSetupOptionsScreen","AccessNewsEventsScreen","ManageHolidays","ClassAndEventOptionsScreen","AppointmentOptionsScreen","AccessMediaManagementScreen","AccessMembershipSetupScreen","ManagePaymentMethods","ManageRoomNumbers","AccessResourceManagementScreen","AccessResourcesSchedulingTab","AccessLinksScreen","BulkCancelClientReservations","FindDuplicateClients","MergeDuplicateClients","ManageAutoEmails","ManageRevenueCategoriesForServices","ManageRevenueCategoriesForProducts","AccessActiveSessionTimesScreen","AccessClassSessionTypeScreens","AccessServiceCategoriesScreen","ManageSubscriberPricing","AddIntroOffersOnAcquisitionDashboard","ManageMindbodyNetworkSettings","ManageProducts","ViewProductCost","ManageMembershipSettingsForPricing","ManagePromotionCodes","EditSales","PrintProductBarcodes","MakeSales","AddProductsOnRetailScreen","EditSaleDateOnRetailScreen","EditSalePriceCountOnRetailScreen","EditActivationDateOnRetailScreen","ApplyCustomDiscountsOnRetailScreen","PayForAnotherClientOnRetailScreen","VoidEditPastSales","RefundSales","RefundSalesToCreditCards","LocationSwitching","PullReportsForAllLocations","LogInventory","AdjustInventory","TransferInventory","ManagePurchaseOrders","ManageLocationLocalization","ManagePermissionGroups","ManageConstantContactSettings","AccessServicesPricingScreen","ManageSemesters","ManageRetentionMarketing","ManageSubscriberSetupChecklist","ViewClassAndEventReservations","BookClassesAndEvents","BookClassesAndEventsInThePast","BookClassesAndEventsWithoutPayment","CancelClassesAndEvents","ManageClassNotes","ViewAppointmentSchedule","ViewPersonalAppointmentSchedule","EditPersonalAppointmentSchedule","ViewAppointmentDetails","ManageAppointmentRequests","BookAppointmentsForOtherStaffMembers","BookAppointmentsInThePast","ChangeAppointmentDetails","UseAnyAppointmentAsAnAddon","ChangeAppointmentDuration","CancelAppointments","ApplyPaymentToAppointments","CheckOutAppointments","OverrideAssignedPricing","ManageAppointmentColors","ViewAllLocationOnClientLookupScreen","AddClient","ViewClientProfileScreen","EditClientProfileScreen","AssignClientIndexes","ManageClientSuspensions","ViewClientPastVisits","ViewClientAccountAndPurchaseHistory","EditClientServiceDurationAndAssignedVisits","EditClientServiceSessionCount","IgnoreServiceCategoriesWhenReassigningPayment","ViewClientAutoPaySchedules","ManageClientAutoPaySchedules","ViewClientDocuments","AddClientDocuments","DeleteClientDocuments","ViewClientFutureVisits","ViewClientBillingInformation","EditClientBillingInformation","ManageClientLogins","UnassignClientGiftCards","IgnoreCancellationPolicy","LaunchSignInScreen","DeleteAndTerminateClientContracts","ReleaseContractDeposits","AutoRenewAndSuspendContracts","ManageClassTests","ScheduleClassTests","ManageClientRequiredFields","ManageClientAlerts","ManageClientTypesAndClientIndexes","ManageClientReferralTypes","ManageClientRelationshipTypes","ManageClientGenders","ClientAcquisitionAndAnalyticsDashboards","ViewRetentionMarketingDashboard","ExportReports","ManageTaggedClients","StaffPhoneBookReport","ScheduleAtAGlanceReportForAllStaff","PersonalScheduleAtAGlanceReport","AttendanceWithRevenueReport","CancellationsReport","PersonalCancellationsReport","AccountBalancesReport","BulkAutoPaySchedulingFromAccountBalancesReport","EventInvoicesReport","CashDrawerReportCurrentDate","CashDrawerReportAnyDate","DailyCloseoutReport","SalesReports","SalesBySupplierAndProductReports","PromoteFeesReport","GiftCardsReport","InventoryReports","MarketingReports","AnalysisReports","ClientIndexesReports","PayrollReportsForAllStaff","PersonalPayrollReports","StaffPerformanceReports","OnlineMetricsReport","RetentionManagementReport","EntryLogsReport","StaffActivityLogReport","MembershipReport","ManageOnlineOrdersReport","TasksReport","ClockSelfInAndOut","ClockOthersInAndOut","AccessTimeclockReport","ManageTimeClocks","ManageTimeClockTasks","ManageContactLogTypes","ViewContactLogs","AddContactLogs","EditOtherStaffMemberContactLogs","DeleteContactLogs","ContactLogAnalysisReport","SalesForecastReport","ViewAllClients","ManageClientSalesReps","CreateRetailTickets","EditRetailTickets","ManageTaskAssignments","MerchantAccountReports","VoidCreditCardTransactions","SettleCreditCardTransactions","UseStoredCreditCards","ManageAutoPays","ViewPersonalReviews","ViewOthersReviews","ViewClientNamesOnReviewReport","EmailClientsFromReviewReport","FlagReviewForRemoval","RespondPubliclyToReviews"],"type":"string"}}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.UpdateStaffPermissionsRequest":{"title":"UpdateStaffPermissionsRequest","required":["StaffId","PermissionGroupName"],"type":"object","properties":{"StaffId":{"format":"int64","description":"The ID of the staff member whose permission you want to change. Staff member must have a login.","type":"integer"},"PermissionGroupName":{"description":"The name of the permission group.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.StaffController.UpdateStaffPermissionsResponse":{"title":"UpdateStaffPermissionsResponse","type":"object","properties":{"UserGroup":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.StaffPermissionGroup","description":"Contains information about the staff member’s permission group."}}},"Mindbody.PublicApi.Dto.Models.V6.UserTokenController.IssueRequest":{"title":"IssueRequest","description":"POST UserToken/Issue request","type":"object","properties":{"Username":{"description":"The staff member’s username.","type":"string"},"Password":{"description":"The staff member’s password.","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.UserTokenController.IssueResponse":{"title":"IssueResponse","description":"POST UserToken/Issue successful response","type":"object","properties":{"TokenType":{"type":"string"},"AccessToken":{"description":"The authentication token value.","type":"string"},"Expires":{"format":"date-time","description":"Token expiration in UTC.","type":"string"},"User":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.User","description":"Contains information about the user represented by the access token."}}},"Mindbody.PublicApi.Dto.Models.V6.User":{"title":"User","type":"object","properties":{"Id":{"format":"int64","description":"The user’s ID at the business. This is always 0 for Admin and Owner type users.","type":"integer"},"FirstName":{"description":"The user’s first name.","type":"string"},"LastName":{"description":"The user’s last name.","type":"string"},"Type":{"description":"The user’s type. Possible values are:\r\n* Staff\r\n* Owner\r\n* Admin","type":"string"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetWaitlistEntriesRequest":{"title":"GetWaitlistEntriesRequest","type":"object","properties":{"ClassIds":{"description":"The requested class IDs. If a class ID is present, the request automatically disregards any class schedule IDs in the request. <br />\r\nEither `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.<br />\r\nDefault: **all ClassIds**","type":"array","items":{"format":"int32","type":"integer"}},"ClassScheduleIds":{"description":"The requested class schedule IDs. If a class ID is present, the request automatically disregards any class schedule IDs in the request.<br />\r\nEither `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.<br />\r\nDefault: **all ClassScheduleIds**","type":"array","items":{"format":"int32","type":"integer"}},"ClientIds":{"description":"The requested client IDs.<br />\r\nEither `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.<br />\r\nDefault: **all ClientIds**","type":"array","items":{"type":"string"}},"HidePastEntries":{"description":"When `true`, indicates that past waiting list entries are hidden from clients.<br />\r\nWhen `false`, indicates that past entries are not hidden from clients.<br />\r\nDefault: **false**","type":"boolean"},"WaitlistEntryIds":{"description":"The requested waiting list entry IDs.<br />\r\nEither `ClassScheduleIds`, `ClientIds`, `WaitlistEntryIds`, or `ClassIds` is required; the others become optional.<br />\r\nDefault: **all WaitlistEntryIds**","type":"array","items":{"format":"int32","type":"integer"}},"Limit":{"format":"int32","description":"Number of results to include, defaults to 100","type":"integer"},"Offset":{"format":"int32","description":"Page offset, defaults to 0.","type":"integer"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.GetWaitlistEntriesResponse":{"title":"GetWaitlistEntriesResponse","type":"object","properties":{"PaginationResponse":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.PaginationResponse","description":"Contains information about the pagination used."},"WaitlistEntries":{"description":"Contains information about the waiting list entries.","type":"array","items":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.WaitlistEntry"}}}},"Mindbody.PublicApi.Dto.Models.V6.WaitlistEntry":{"title":"WaitlistEntry","type":"object","properties":{"ClassDate":{"format":"date-time","description":"The date of the class or enrollment.","type":"string"},"ClassId":{"format":"int64","description":"The ID of the class or enrollment.","type":"integer"},"ClassSchedule":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.ClassSchedule","description":"Contains information about the class schedule for this waiting list entry."},"Client":{"$ref":"#/definitions/Mindbody.PublicApi.Dto.Models.V6.Client","description":"Contains information about the requested client who is on the waiting list."},"EnrollmentDateForward":{"format":"date-time","description":"If the waiting list entry was created for an enrollment, this is the date on or after which the client can be added to the enrollment from the waitlist.","type":"string"},"Id":{"format":"int32","description":"The ID of the waiting list entry.","type":"integer"},"RequestDateTime":{"format":"date-time","description":"The date and time that the request to be on the waiting list was made.","type":"string"},"VisitRefNo":{"format":"int32","description":"The ID of the visit that is associated with the waiting list entry.","type":"integer"},"Web":{"description":"If `true`, the entry on the waiting list was requested online.<br />\r\nIf `false`, the entry on the waiting list was requested off-line, for example in person or by phone.","type":"boolean"}}},"Mindbody.PublicApi.Dto.Models.V6.ClassController.RemoveFromWaitlistResponse":{"title":"RemoveFromWaitlistResponse","type":"object","properties":{}}},"securityDefinitions":{"API-Key":{"type":"apiKey","description":"API Key Authentication","name":"API-Key","in":"header"}},"security":[{"API-Key":[]}],"x-roles":[{"name":"Public APIs","id":"ExteralAPIs","description":"APIs exposed publicly.","tags":["Appointment","Class","Client","CrossSite","Enrollment","Payroll","PickASpot","Sale","Site","Staff","UserToken"]}]}