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 /repeatingClassScheduleList/reportReturns all repeatingClassSchedule objects for a location, staff or class.
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 Request Body/Payloads

The objects below represent the minimum viable objects to pass that are needed to create or update a recurringclassschedule object. Check whether or not a property can be written to by looking at the Object Values table below to see if the property is writable.

POST /recurringclassschedule
{
    "active": true,
    "allowWalkins": null,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": {Staff object for coordinator staff of recurring class schedule - for more info, see Staff API page},
    "courseClassSessions": null,
    "courseSetName": null,
    "createdDate": 1690223392335,
    "createdUser": "JoeSchmo",
    "currentCapacity": 0,
    "endDate": "2023-08-11",
    "endTime": "1445",
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler fields of recurring class schedule - for more info, see Scheduler Fields API page}],
    "fri": true,
    "location": {Location object for location of recurring class schedule - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 5,
    "modifiedDate": null,
    "modifiedUser": null,
    "mon": true,
    "multipleSessionBuffer": 0,
    "reason": {Reason object for service of recurring class schedule - for more info, see Services API page},
    "recurringScheduleId": 784616,
    "resource": {
        "resourceId": null
    },
    "roomNumber": null,
    "sat": false,
    "staff": {Staff object for staff of recurring class schedule - for more info, see Staff API page},
    "startDate": "2023-07-24",
    "startTime": "1400",
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": false,
    "type": "W",
    "wed": true
}
PUT /recurringclassschedulle
{
    "active": true,
    "bookable": true,
    "coordinatorStaff": {Staff object for coordinator staff of recurring class - for more info, see Staff API page},
    "currentCapacity": 0,
    "endDate": "2023-08-11",
    "endTime": "1345",
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler fields of recurring class schedule - for more info, see Scheduler Fields API page}],
    "fri": true,
    "location": {Location object for location of recurring class schedule - for more info, see Locations API page},
    "locationGroup": null,
    "maxCapacity": "5",
    "mon": true,
    "multipleSessionBuffer": 0,
    "reason": {Reason object for service of recurring class schedule - for more info, see Services API page},
    "resource": {
        "resourceId": null
    },
    "sat": false,
    "staff": {Staff object for staff of recurring class schedule - for more info, see Staff API page},
    "startDate": "2023-07-24",
    "startTime": "1300",
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": false,
    "type": "W",
    "wed": true
}




Recurring Class Schedule API Responses


GET /repeatingClassScheduleList/report
[{
    "active": true,
    "allowWalkIns": null,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": null,
    "courseClassSessions": null,
    "courseSetName": null,
    "createdDate": 1690476736854,
    "createdUser": "JoeSchmo",
    "currentCapacity": 0,
    "endDate": "2023-09-09",
    "endTime": 1900,
    "everyXMonths": 0,
    "everyXWeeks": 4,
    "fields": null,
    "fri": false,
    "location": {Location object for location of recurring class schedule - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 20,
    "modifiedDate": null,
    "modifiedUser": null,
    "mon": false,
    "reason": {Reason object for service of recurring class schedule - for more info, see Services API page},
    "recurringScheduleId": 784886,
    "resource": null,
    "roomNumber": "11",
    "sat": false,
    "staff": {Staff object for staff of recurring class schedule - for more info, see Staff API page},
    "startDate": "2023-07-27",
    "startTime": 1700,
    "status": "Open",
    "sun": false,
    "thu": true,
    "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 - for more info, see Scheduler Fields API page}],
    "fri": true,
    "location": {Location object for location of recurring class schedule - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 5,
    "modifiedDate": 1690228791451,
    "modifiedUser": "JoeSchmo",
    "mon": true,
    "reason": {Reason object for service of recurring class schedule - for more info, see Services API page},
    "recurringScheduleId": 472108,
    "resource": null,
    "roomNumber": "15",
    "sat": false,
    "staff": {Staff object for staff of recurring class schedule - for more info, 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,
    "allowWalkins": null,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": null,
    "courseClassSessions": null,
    "courseSetName": null,
    "createdDate": 1690223392335,
    "createdUser": "JoeSchmo",
    "currentCapacity": null,
    "endDate": "2018-12-08",
    "endTime": "1140",
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler field of recurring class schedule - for more info, see Scheduler Fields API page}],
    "fri": true,
    "location": {Location object for location of recurring class schedule - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": 5,
    "modifiedDate": 169022339233,
    "modifiedUser": "JoeSchmo",
    "mon": true,
    "reason": {Reason object for service of recurring class schedule - for more info, see Services API page},
    "recurringScheduleId": 471909,
    "resource": {Resource object for resource of recurring class schedule - for more info, see Resources API page},
    "roomNumber": null,
    "sat": false,
    "staff": {Staff object for staff of recurring class schedule - for more info, see Staff API page},
    "startDate": "2018-09-08",
    "startTime": 1010,
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": false,
    "type": "W",
    "wed": true
}
PUT /recurringclassschedule
{
    "active": true,
    "allowWalkins": null,
    "bookable": true,
    "businessId": 43111,
    "coordinatorStaff": {Staff object for coordinator staff of recurring class schedule - for more info, see Staff API page},
    "courseClassSessions": null,
    "courseSetName": null,
    "createdDate": 1690223292335,
    "createdUser": "JoeSchmo",
    "currentCapacity": 0,
    "endDate": "2018-09-28",
    "endTime": "0830",
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler fields of recurring class schedule - for more info, see Scheduler Fields API page}],
    "fri": true,
    "location": {Location object for location of recurring class schedule - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "maxCapacity": "5",
    "modifiedDate": null,
    "modifiedUser": null,
    "mon": true,
    "reason": {Reason object for service of recurring class schedule - for more info, see Services API page},
    "recurringScheduleId": 784616,
    "resource": {[{Resource object for resource of recurring class schedule - for more info, see Resources API page}]},
    "roomNumber": null,
    "sat": false,
    "staff": {Staff object for staff of recurring class schedule - for more info, see Staff API page},
    "startDate": "2018-06-29",
    "startTime": "0800",
    "status": "Open",
    "sun": false,
    "thu": false,
    "tue": false,
    "type": "W",
    "wed": true
}




Recurring Class Schedule Object Values

Property nameTypeRequiredDescription
activebooleanYesIndicates whether or not the specified recurring class schedule should return in any GET calls.
allowWalkInsboolean
Indicates whether or not the specified recurring class schedule allows walk-in clients.
bookableboolean
Indicates whether or not the 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 the specified recurring class schedule. The coordinator staff's schedule is not blocked - for more info, see Staff API page.
courseClassSessionsstring
If the specified recurring class schedule is assigned to a reason that is of reasonType COURSE instead of reasonType CLASS, then the courseClassSessions is set to the names of the class sessions that make up this course.
courseSetNamestring
If the specified 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.
createdDateinteger
Displays as date the specified recurring class schedule was created in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
createdUserstring
Displays the username of the user who created the specified recurring class schedule.
currentCapacityinteger
Displays current number of client slots filled for the specified recurring class schedule.
endDatestring
Provides a string representation of the date the specified recurring class schedule ends written as YYYY-MM-DD; if set to null then the schedule will repeat indefinitely. 
endTimeintegerYesProvides the time the specified recurring class schedule ends, displayed in military format. 
everyXMonthsinteger
Displays as number of months the specified recurring class schedule is set to repeat on. (Required if type is set to "M")
everyXWeeksinteger
Displays as number of weeks the 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 specified recurring class schedule is set to repeat on Fridays.
locationobjectYes

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

locationGroupobject
If you assign the specified 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 specified 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 the specified recurring class schedule.
modifiedDateinteger
Displays as date the specified recurring class schedule was last modified in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
modifiedUserstring
Displays the username of the user who last modified the specified recurring class schedule.
monboolean
Indicates whether or not the specified recurring class schedule is set to repeat on Mondays.
reasonobjectYesDisplays the reason object assigned to the specified recurring class schedule - for more info, see Services API page.

recurringScheduleId

integer

Yes, on POST calls

Provides a unique numeric ID for the specified recurring class schedule.

resourceobject
Displays the resource object assigned to the 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 specified recurring class schedule is held, this field will contain that value.
satboolean
Indicates whether or not the specified recurring class schedule is set to repeat on Saturdays.
staffobjectYesDisplays the staff object assigned to the specified recurring class schedule.
startDatestringYesProvides a string representation of the date the specified recurring class schedule starts written as YYYY-MM-DD. 
startTimeintegerYesProvides the time the specified recurring class schedule starts displayed in military format. 
statusstring
Displays the status of the specified recurring class schedule. Has acceptable values "Open", "Closed", or "Cancelled".
sunboolean
Indicates whether or not the specified recurring class schedule is set to repeat on Sundays.
thuboolean
Indicates whether or not the specified recurring class schedule is set to repeat on Thursdays.
tueboolean
Indicates whether or not the specified recurring class schedule is set to repeat on Tuesdays.
typestringYesDisplays "W" or "M" according to whether the specified recurring class schedule repeats weekly or monthly, respectively.
wedboolean
Indicates whether or not the specified recurring class schedule is set to repeat on Wednesdays.