Mindbody · Schema
Service
Implementation of the 'Service' model.
FitnessWellnessBeautySchedulingBookingPoint of SaleStudiosSalonsSpasWebhooks
Properties
| Name | Type | Description |
|---|---|---|
| Price | number | The cost of the pricing option when sold at a physical location. |
| OnlinePrice | number | The cost of the pricing option when sold online. |
| TaxIncluded | number | The amount of tax included in the price, if inclusive pricing is enabled. |
| ProgramId | integer | The ID of the program that this pricing option applies to. |
| TaxRate | number | The tax rate applied to the pricing option. This field is populated only when you include a `LocationID` in the request. |
| ProductId | integer | The unique ID of this pricing option. This is the `PurchasedItems[].Id` returned from GET Sales. |
| Id | string | The barcode ID of the pricing option. This is the `PurchasedItems[].BarcodeId` returned from GET Sales. |
| Name | string | The name of the pricing option. |
| Count | integer | The initial count of usages available for the pricing option. |
| SellOnline | boolean | When true, filters to the pricing options that can be sold online. Default: *false* |
| SaleInContractOnly | boolean | When `true`, indicates that the pricing option is allowed to be purchased in a contract or package. When `false`, indicates that the pricing option is not allowed to be purchased in a contract or pack |
| Type | string | The type of the pricing option, either Drop-in, Series, or Unlimited. |
| ExpirationType | string | The date the pricing option begins its activation, either the date of sale or the date the client first used it for a visit. |
| ExpirationUnit | string | The unit, either days or months, of `ExpirationLength`, indicating how long the pricing option is active for. |
| ExpirationLength | integer | The number of days or months that the pricing option is active for. |
| RevenueCategory | string | The revenue category of the pricing option. |
| MembershipId | integer | The ID that this pricing option grants membership to. |
| SellAtLocationIds | array | The location IDs where this pricing option is sold. |
| UseAtLocationIds | array | The location IDs where this pricing option may be used. |
| Priority | string | The priority of the pricing option, either High, Medium, or Low. |
| IsIntroOffer | boolean | Indicates if this pricing option is an introductory offer. |
| IntroOfferType | string | When `IsIntroOffer` is true, this indicates if this introductory offer may be purchased by new clients or new and existing clients. |
| IsThirdPartyDiscountPricing | boolean | Indicates whether this pricing option is sold at discounted rates by third-party services, such as ClassPass. |
| Program | string | The name of the service category the pricing option belongs to. |
| Discontinued | boolean | If the pricing option has been marked discontinued. |
| RestrictToMembershipIds | array | Restricted to members of these membership ids. |
| ApplyMemberDiscountsOfMembershipIds | array | Discounts applied of these membership ids. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/mindbody/refs/heads/main/json-schema/public-api-v6-service-schema.json",
"title": "Service",
"description": "Implementation of the 'Service' model.",
"type": "object",
"properties": {
"Price": {
"type": "number",
"format": "double",
"description": "The cost of the pricing option when sold at a physical location.",
"example": 49.99
},
"OnlinePrice": {
"type": "number",
"format": "double",
"description": "The cost of the pricing option when sold online.",
"example": 49.99
},
"TaxIncluded": {
"type": "number",
"format": "double",
"description": "The amount of tax included in the price, if inclusive pricing is enabled.",
"example": 1.0
},
"ProgramId": {
"type": "integer",
"format": "int32",
"description": "The ID of the program that this pricing option applies to.",
"example": 123456
},
"TaxRate": {
"type": "number",
"format": "double",
"description": "The tax rate applied to the pricing option. This field is populated only when you include a `LocationID` in the request.",
"example": 1.0
},
"ProductId": {
"type": "integer",
"format": "int32",
"description": "The unique ID of this pricing option. This is the `PurchasedItems[].Id` returned from GET Sales.",
"example": 123456
},
"Id": {
"type": "string",
"description": "The barcode ID of the pricing option. This is the `PurchasedItems[].BarcodeId` returned from GET Sales.",
"example": "example-value"
},
"Name": {
"type": "string",
"description": "The name of the pricing option.",
"example": "Sunset Yoga Studio"
},
"Count": {
"type": "integer",
"format": "int32",
"description": "The initial count of usages available for the pricing option.",
"example": 10
},
"SellOnline": {
"type": "boolean",
"description": "When true, filters to the pricing options that can be sold online. Default: *false*",
"example": true
},
"SaleInContractOnly": {
"type": "boolean",
"description": "When `true`, indicates that the pricing option is allowed to be purchased in a contract or package. When `false`, indicates that the pricing option is not allowed to be purchased in a contract or package.",
"example": true
},
"Type": {
"type": "string",
"description": "The type of the pricing option, either Drop-in, Series, or Unlimited.",
"example": "example-value"
},
"ExpirationType": {
"type": "string",
"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.",
"example": "example-value"
},
"ExpirationUnit": {
"type": "string",
"description": "The unit, either days or months, of `ExpirationLength`, indicating how long the pricing option is active for.",
"example": "example-value"
},
"ExpirationLength": {
"type": "integer",
"format": "int32",
"description": "The number of days or months that the pricing option is active for.",
"example": 1
},
"RevenueCategory": {
"type": "string",
"description": "The revenue category of the pricing option.",
"example": "example-value"
},
"MembershipId": {
"type": "integer",
"format": "int32",
"description": "The ID that this pricing option grants membership to.",
"example": 123456
},
"SellAtLocationIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "The location IDs where this pricing option is sold.",
"example": [
1
]
},
"UseAtLocationIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "The location IDs where this pricing option may be used.",
"example": [
1
]
},
"Priority": {
"type": "string",
"description": "The priority of the pricing option, either High, Medium, or Low.",
"example": "example-value"
},
"IsIntroOffer": {
"type": "boolean",
"description": "Indicates if this pricing option is an introductory offer.",
"example": true
},
"IntroOfferType": {
"type": "string",
"description": "When `IsIntroOffer` is true, this indicates if this introductory offer may be purchased by new clients or new and existing clients.",
"example": "example-value"
},
"IsThirdPartyDiscountPricing": {
"type": "boolean",
"description": "Indicates whether this pricing option is sold at discounted rates by third-party services, such as ClassPass.",
"example": true
},
"Program": {
"type": "string",
"description": "The name of the service category the pricing option belongs to.",
"example": "example-value"
},
"Discontinued": {
"type": "boolean",
"description": "If the pricing option has been marked discontinued.",
"example": true
},
"RestrictToMembershipIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Restricted to members of these membership ids.",
"example": [
1
]
},
"ApplyMemberDiscountsOfMembershipIds": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"description": "Discounts applied of these membership ids.",
"example": [
1
]
}
}
}