Recurring Class Schedule

The Recurring Class Schedule API is used to access, create, and modify any recurring class sessions on your business' account. These make up a separate set of endpoints from Services since TimeTap treats class time slots differently than service time slots, as unlike in the case of services multiple customers can book a single class. They are also separate from class schedules as recurring class schedules are set to repeat on a weekly or monthly basis. So whenever you create a classschedule object using a recurring class schedule update, that object will have the recurringScheduleId property filled.

On this page




Recurring Class Schedule API Endpoints

These are the endpoints that are available under the /recurringclassschedule path, which shows any schedules you have set up for recurring class sessions you offer.

Endpoint

Description

GET /recurringclassschedule/staff/{staffId}

Returns all recurringclassschedule objects for specified staff member in array format.

GET /recurringclassschedule/location/{locationId}Returns all recurringclassschedule objects for specified location in array format.
GET /recurringclassschedule/class/{classId}Returns all recurringclassschedule objects for specified class in array form. These first three endpoints all return the same responses, just sort the data differently before they return.
GET /recurringclassschedule/{recurringclassscheduleId}Returns a JSON object for specified recurring class schedule.
POST /recurringclassschedule

Updates a recurringclassschedule object This is the method used to change a recurring class schedule's status from Open to Closed or Cancelled.

Request body/payload: Pass a recurringclassschedule object with the classScheduleId included.

For these calls, you need to pass a recurringclassschedule object with all required fields and any fields you want to update filled in the body of the payload - make sure the multipleSessionBuffer property is filled. We have an example of a recurringclassschedule object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

PUT /recurringclassschedule

Creates a recurringclassschedule object as part of a recurring class schedule.

Request body/payload: Pass a recurringclassschedule object with all required objects defined.

For these calls, you need to pass a recurringclassschedule object with all required fields and any fields you want to set filled in the body of the payload - make sure the multipleSessionBuffer property is filled. We have an example of a recurringclassschedule object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.




Recurring Class Schedule Parameters

Data points passed on in the request URL portion of the API call that are used to filter the data that is being requested. To aid with page load time, we have included pageNumber and pageSize parameters for server side pagination. 

Parameters

TypeEndpoints to be used with

Description

pageNumberintegerGET /recurringclassschedule

Works with the pageSize parameter to determine how data gets returned following a GET call. The pageNumber value represents the number of pages on which the class sessions that get returned appear.

pageSizeintegerGET /recurringclassschedule

Works with the pageNumber parameter to determine how data gets returned following a GET call. The pageSize value represents the number of class sessions appearing on each page that gets returned.

statusListstring arrayGET /recurringclassscheduleComma-separated list of statuses of the class schedules you want returned. Has acceptable values of "Open", "Closed", and "Cancelled". 
bufferAfterintegerPUT /recurrringclassschedule Displays how much of a buffer you choose to add after each class session if you have multiple sessions between the startTime and endTime.
cloneintegerPUT /recurrringclassschedule If you choose to add multiple class sessions between the startTime and endTime this will register as 1. Otherwise it is 0. 
durationintegerPUT /recurringclassscheduleDisplays the number of minutes taken by the class session that is being edited or created. 




Recurring Class Schedule API Responses


GET /recurringclassschedule/staff/{stafffId}
[{
    "active": true,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": null,
    "courseSetName": null,
    "currentCapacity": 0,
    "endDate": "2018-08-16",
    "endTime": 1900,
    "everyXMonths": 0,
    "everyXWeeks": 4,
    "fields": [{Fields object for scheduler field of recurring class schedule-see scheduler fields API page}],
    "fri": false,
    "location": {Location object for location of recurring class schedule-see locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 20,
    "mon": false,
    "reason": {Reason object for service of recurring class schedule-see services API page},
    "recurringScheduleId": 471875,
    "resource": null,
    "roomNumber": "11",
    "sat": false,
    "staff": {Staff object for staff of recurring class schedule-see staff API page},
    "startDate": "2018-07-05",
    "startTime": 1700,
    "status": "Open",
    "sun": false,
    "thu": true,
    "tue": true,
    "type": "W",
    "wed": false
}]
GET /recurringclassschedule/location/{locationId}
[{
    "active": true,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": null,
    "courseSetName": null,
    "currentCapacity": 0,
    "endDate": "2018-12-08",
    "endTime": 1000,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler field of recurring class schedule-see scheduler fields API page}],
    "fri": false,
    "location": {Location object for location of recurring class schedule-see locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 4,
    "mon": false,
    "reason": {Reason object for service of recurring class schedule-see services API page},
    "recurringScheduleId": 471908,
    "resource": null,
    "roomNumber": "da beach",
    "sat": true,
    "staff": {Staff object for staff of recurring class schedule-see staff API page},
    "startDate": "2018-09-08",
    "startTime": 900,
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": false,
    "type": "W",
    "wed": false
}]
GET /recurringclassschedule/class/{classId}
[{
    "active": true,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": null,
    "courseSetName": null,
    "currentCapacity": null,
    "endDate": "2018-07-21",
    "endTime": 940,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler field of recurring class schedule-see scheduler fields API page}],
    "fri": false,
    "location": {Location object for location of recurring class schedule-see locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 6,
    "mon": false,
    "reason": {Reason object for service of recurring class schedule-see services API page},
    "recurringScheduleId": 472108,
    "resource": null,
    "roomNumber": "15",
    "sat": true,
    "staff": {Staff object for staff of recurring class schedule-see staff API page},
    "startDate": "2018-06-23"
    "startTime": 910,
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": true,
    "type": "W",
    "wed": false
}]
GET /recurringclassschedule/{recurringclassScheduleId}
{
    "active": true,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": null,
    "courseSetName": null,
    "currentCapacity": 0,
    "endDate": "2018-07-21",
    "endTime": 940,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler field of recurring class schedule-see scheduler fields API page}],
    "fri": false,
    "location": {Location object for location of recurring class schedule-see locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 6,
    "mon": false,
    "reason": {Reason object for service of recurring class schedule-see services API page},
    "recurringScheduleId": 472108,
    "resource": null,
    "roomNumber": "15",
    "sat": true,
    "staff": {Staff object for staff of class schedule-see staff API page},
    "startDate": "2018-06-23"
    "startTime": 910,
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": true,
    "type": "W",
    "wed": false
}
POST /recurringclassschedule
{
    "active": true,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": null,
    "courseSetName": null,
    "currentCapacity": null,
    "endDate": "2018-12-08",
    "endTime": "1140",
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler field of recurring class schedule-see scheduler fields API page}],
    "fri": false,
    "location": {Location object for location of recurring class schedule-see locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 4,
    "mon": false,
    "multipleSessionBuffer": 0,
    "reason": {Reason object for service of recurring class schedule-see services API page},
    "roomNumber": "12",
    "recurringScheduleId": 471909,
    "resource": {Resource object for resource of recurring class schedule-see resources API page},
    "roomNumber": "201",
    "sat": true,
    "staff": {Staff object for staff of recurring class schedule-see staff API page},
    "startDate": "2018-09-08",
    "startTime": 1010,
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": false,
    "type": "W",
    "wed": false
}
PUT /recurringclassschedule
{
    "active": true,
    "bookable": true,
    "coordinatorStaff": {Staff object for coordinator staff of recurring class schedule-see staff API page,=}
    "currentCapacity": 0,
    "endDate": "2018-09-28",
    "endTime": "0830",
    "everyXMonths": 1,
    "everyXWeeks": 0,
    "fields": [{Fields object for scheduler field of recurring class schedule-see scheduler fields API page}],
    "fri": true,
    "location": {Location object for location of recurring class schedule-see locations API page},
    "locationGroup": null,
    "maxCapacity": "5",
    "multipleSessionBuffer": 0,
    "reason": {Reason object for service of recurring class schedule-see services API page},
    "resource": {[{Resource object for resource of recurring class schedule-see resource API page}]},
    "sat": true,
    "staff": {Staff object for staff of recurring class schedule-see staff API page},
    "startDate": "2018-06-29",
    "startTime": "0800",
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": false,
    "type": "M",
    "wed": false
}




Recurring Class Schedule Object Values

Property nameTypeRequiredDescription
activeboolenYesIndicates whether or not specified recurring class schedule should return in any GET calls.
bookableboolean
Indicates whether or not specified recurring class schedule is bookable.
businessIdintegerYesProvides unique numeric ID of the business to which the specified recurring class schedule belongs. 
coordinatorStaffobject
Displays staff object for the staff member that was the coordinator staff for specified recurring class schedule. The coordinator staff's schedule is not blocked - for more info, see Staff API page.
courseSetNamestring
If the recurring class schedule is assigned to a reason that is of reasonType COURSE instead of reasonType CLASS, then the courseSetName is set to the name of the set the course is part of.
currentCapacityinteger
Displays current number of client slots filled for specified class.
endDatestring
Provides a string representation of the date the recurring class schedule ends written as YYYY-MM-DD; if set to null then the schedule will repeat indefinitely. 
endTimeintegerYesProvides the time specified recurring class schedule ends, displayed in military format. 
everyXMonthsinteger
Displays as number of months specified recurring class schedule is set to repeat on. (Required if type is set to "M")
everyXWeeksinteger
Displays as number of weeks specified recurring class schedule is set to repeat on. (Required if type is set to "W")
fieldsarray
Displays an array of any custom field objects you have added during the class schedule setup.
friboolean
Indicates whether or not the recurring class schedule is set to repeat on Fridays.
locationobjectYes

Displays the location object assigned to specified recurring class schedule - for more info, see Locations API page.

locationGroupobject
If you assign the recurring class schedule to a specific location group, then this would be the object of that location group - for more info, see Groups API page.

locationSuperGroup

object
If you assign the recurring class schedule to a specific location super group, then this would be the object of that location super group.
maxCapacityintegerYesDisplays the maximum number of slots open for specified recurring class schedule.
monboolean
Indicates whether or not the recurring class schedule is set to repeat on Mondays.
reasonobjectYesDisplays the reason object assigned to specified recurring class schedule - for more info, see Services API page.

recurringScheduleId

integer

Yes, on POST calls

Provides a unique numeric ID for specified recurring class schedule.

resourceobject
Displays the resource object assigned to specified recurring class schedule - for more info, see Resources API page.
roomNumberstring
If there is a specific room or place at the location where the class is held, this field will contain that value.
satboolean
Indicates whether or not the recurring class schedule is set to repeat on Saturdays.
staffobjectYesDisplays the staff object assigned to specified recurring class schedule.
startDatestringYesProvides a string representation of the date the recurring class schedule starts written as YYYY-MM-DD. 
startTimeintegerYesProvides the time recurring class schedule starts displayed in military format. 
statusstring
Displays the status of spcified recurring class schedule. Has acceptable values "Open", "Closed", or "Cancelled".
sunboolean
Indicates whether or not the recurring class schedule is set to repeat on Sundays.
thuboolean
Indicates whether or not the recurring class schedule is set to repeat on Thursdays.
tueboolean
Indicates whether or not the recurring class schedule is set to repeat on Tuesdays.
typestringYesDisplays "W" or "M" according to whether specified recurring class schedule repeats weekly or monthly, respectively.
wedboolean
Indicates whether or not the recurring class schedule is set to repeat on Wednesdays.