POST Subscriber/{subscriberId}/Location/{locationId}/CatalogFeed/OData?consumerId={consumerId}

This endpoint construct a catalog feed (a collection of catalog items). The items to include are specified by an OData filter.

OData Filtering

To specify which catalog items to include in the feed, you may include an OData $filter parameter. The available fields to filter by are described below.

  • ItemType (string) - One of GiftCard, ServicePricingOption, Retail, AccountCredit, Package.

  • ItemId (int) - The ID of the item.

  • Name (string) - The name of the item.

  • Price (Decimal) - The price of the item.

  • AvailableOnline (bool) - Is the item available in the online store?

  • Introductory (bool) - Is the item an introductory offer?

  • ServiceCategoryId (int) - Service category ID. Not applicable to all item types.

  • AppointmentTypeId (int) - Appointment type ID. Not applicable to all item types.

  • LastUpdated (DateTime) - When the item was last updated.

  • BarcodeId (string) - The barcode ID for the item.

  • Favorite (bool) - Is the item marked as a favorite for the consumer?

  • QuickCash (bool) - Is the item a Quick Cash product? Only applicable to the Retail item type.

  • ProductGroupId (int) - Product group ID. Not applicable to all item types.

  • HasContract (bool) - Does the package contain a contract? Applicable only to the Package item type.

  • IsProfessionalProduct (bool) - Is the item a professional product? Only applicable to retail products. Professional products are never returned for non-professional consumers.

  • PrimaryCategoryId (int) - Primary category for retail products.

  • SecondaryCategoryId (int) - Secondary category for retail products.

  • SubcategoryId (int) - Subcategory for retail products.

  • PrimaryRevenueCategoryId (int) - Primary revenue category for service pricing options. Typically a negative ID.

  • SecondaryRevenueCategoryId (int) - Secondary revenue category for service pricing options. Typically a negative ID.

For example, you may construct a feed containing contracts like so:

$filter=ItemType eq 'Package' and HasContract eq true

Result Ordering

Some of the above fields can also be used in an $orderby OData parameter. For example you may order by price high to low like so:

$orderby=Price desc

Request Information

URI Parameters

NameDescriptionTypeAdditional information
locationId

The ID of the location where the item will be purchased.

integer

Required

consumerId

The consumer to search on behalf of.

integer

Required

subscriberId

string

None.

Body Parameters

None.

Response Information

Resource Description

Reference to the feed.

CatalogFeedReference
NameDescriptionTypeAdditional information
CatalogFeedId

globally unique identifier

None.

ExpiresIn

integer

None.

Response Formats

application/json, text/json

Sample:
{
  "CatalogFeedId": "c2c0bbb5-55e2-44a5-b4c5-ce5cfc6d9f7f",
  "ExpiresIn": 2
}

application/xml, text/xml

Sample:
<CatalogFeedReference xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="services.mindbodyonline.com/sales/catalog/feed/v2">
  <CatalogFeedId>c2c0bbb5-55e2-44a5-b4c5-ce5cfc6d9f7f</CatalogFeedId>
  <ExpiresIn>2</ExpiresIn>
</CatalogFeedReference>