Mindbody · Arazzo Workflow

Mindbody Schedule Items by Location

Version 1.0.0

List a site's locations and retrieve the schedule items for one location.

1 workflow 1 source API 1 provider
View Spec View on GitHub FitnessWellnessBeautySchedulingBookingPoint of SaleStudiosSalonsSpasWebhooksArazzoWorkflows

Provider

mindbody

Workflows

schedule-items-by-location
Resolve locations and retrieve schedule items for a chosen location.
Lists the site's locations and then retrieves the schedule items for the supplied location over the requested date range.
2 steps inputs: apiKey, authorization, endDate, locationId, siteId, startDate outputs: locations, staffMembers
1
listLocations
getLocations
Retrieve the locations configured for the site to confirm the location exists before pulling its schedule.
2
listScheduleItems
getScheduleItems
Retrieve the schedule items for the chosen location across the requested date range.

Source API Descriptions

Arazzo Workflow Specification

mindbody-schedule-items-by-location-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mindbody Schedule Items by Location
  summary: List a site's locations and retrieve the schedule items for one location.
  description: >-
    A scheduling overview flow for multi-location studios. The workflow lists
    the locations configured for a site, then pulls the schedule items (staff
    bookings, classes, and availabilities) for the chosen location across a
    date range. Every step inlines the Mindbody API-Key, SiteId, and staff
    authorization headers so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: mindbodyApi
  url: ../openapi/mindbody-public-api-v6-openapi-original.yml
  type: openapi
workflows:
- workflowId: schedule-items-by-location
  summary: Resolve locations and retrieve schedule items for a chosen location.
  description: >-
    Lists the site's locations and then retrieves the schedule items for the
    supplied location over the requested date range.
  inputs:
    type: object
    required:
    - apiKey
    - siteId
    - locationId
    properties:
      apiKey:
        type: string
        description: The Mindbody-issued API key sent in the API-Key header.
      siteId:
        type: string
        description: The ID of the site from which to pull data.
      authorization:
        type: string
        description: A staff user authorization (OAuth bearer) token.
      locationId:
        type: integer
        description: The ID of the location whose schedule items are retrieved.
      startDate:
        type: string
        description: The start date of the schedule item lookup.
      endDate:
        type: string
        description: The end date of the schedule item lookup.
  steps:
  - stepId: listLocations
    description: >-
      Retrieve the locations configured for the site to confirm the location
      exists before pulling its schedule.
    operationId: getLocations
    parameters:
    - name: version
      in: path
      value: '6'
    - name: API-Key
      in: header
      value: $inputs.apiKey
    - name: siteId
      in: header
      value: $inputs.siteId
    - name: authorization
      in: header
      value: $inputs.authorization
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      locations: $response.body#/Locations
  - stepId: listScheduleItems
    description: >-
      Retrieve the schedule items for the chosen location across the requested
      date range.
    operationId: getScheduleItems
    parameters:
    - name: version
      in: path
      value: '6'
    - name: API-Key
      in: header
      value: $inputs.apiKey
    - name: siteId
      in: header
      value: $inputs.siteId
    - name: authorization
      in: header
      value: $inputs.authorization
    - name: request.locationIds
      in: query
      value: $inputs.locationId
    - name: request.startDate
      in: query
      value: $inputs.startDate
    - name: request.endDate
      in: query
      value: $inputs.endDate
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      staffMembers: $response.body#/StaffMembers
  outputs:
    locations: $steps.listLocations.outputs.locations
    staffMembers: $steps.listScheduleItems.outputs.staffMembers