Recurring Appointments

The Recurring Appointments API is used to access, create, and modify any recurring appointments on your business' account. The Recurring Appointments API is separate from the Recurring Class Schedule API, since TimeTap treats appointment time slots differently than class time slots as unlike in the case of classes only one customer can book each appointment. It is also separate from the Appointments API, as recurring appointments are set to repeat on a weekly or monthly basis.

Whenever you create a appointment object using a recurringcappointment update, that object will have the recurringAppointmentId property filled. On the TimeTap site these appointments are usually referred to as 'repeating appointments'.

On this page




Recurring Appointments API Endpoints

These are the endpoints that are available under the /recurringappointments path, which shows any appointments you have set up to repeat on a weekly or monthly basis.

Endpoint

Description

GET /recurringappointments/{recurringAppointmentId}

Returns a JSON object for specified recurring appointment series.

POST /recurringappointments

Creates a new recurringappointments object on an account. 

Request body/payload: Must pass a recurringappointments object in the request body/payload.

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

POST /recurringappointments/get/dates

Returns an array of dates in string format that match recurring appointment frequency.

Request body/payload: Must pass a recurringappointments object in the request body/payload.

PUT /recurringappointments/{recurringAppointmentId}

Updates an existing recurringappointments object. If you want to cancel a recurring appointment series you would use this endpoint to set the status property to "Cancelled".

Request body/payload: Must pass a recurringappointments object with the desired changes made in the request body/payload.

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

PUT /recurringappointments/{recurringAppointmentId}/updateByAppt

Updates an existing recurringappointments object by comparing the original appointment to the updatedAppt passed in the body of the PUT call (see below) to see which fields were updated.

Request body/payload: Must pass a recurringappointments object formatted as such:

{
recurringAppt: recurringAppointment object to be updated
updatedAppt: appointment that got updated
}




Recurring Appointments API 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

dateSelected

stringPUT /recurrringappointments/{recurringAppointmentId}, PUT /recurringappointments/{recurringAppointmentId}/updateByAppt Should be set to the start date of the recurring appointment series you are editing formatted as YYYY-MM-DD.
effectiveFollowingThisDateintegerPUT /recurringappointments/{recurringAppointmentId}, PUT /recurringappointments/{recurringAppointmentId}/updateByAppt
resetStartDayboolean

PUT /recurrringappointments/{recurringAppointmentId}, PUT /recurringappointments/{recurringAppointmentId}/updateByAppt

Flag for whether or not to send invites to waitlist registrants. If true then will see if anybody is waitlisted for the timeslots that are getting cancelled and will invite them automatically.
sendWaitListInvitesboolean

PUT /recurrringappointments/{recurringAppointmentId}, PUT /recurringappointments/{recurringAppointmentId}/updateByAppt

Flag for whether or not to send invites to waitlist registrants. If true then will see if anybody is waitlisted for the timeslots that are getting cancelled and will invite them automatically.




Recurring Appointments API Request Body/Payloads

The objects below represent the minimum viable objects to pass that are needed to create or update a recurringappointments 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 /recurringappointments
{
    "additionalStaffIdList": [],
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": "43111",
    "classScheduleList": null,
    "client": {Client object for client of recurring appointment - for more info, see Clients API page},
    "clientEndTime": 1620,
    "clientId": 10575898,
    "clientReminderHours": 24,
    "clientStartTime": 1600,
    "coordinatorStaff": {Staff object for coordinator staff of recurring appointment - for more info, see Staff API page},
    "dates": [
        "2023-07-17",
        "2023-07-18", 
        "2023-07-20", 
        "2023-07-24", 
        "2023-07-25", 
        "2023-07-27", 
        "2023-07-31",
        "2023-08-01",
        "2023-08-03",
        "2023-08-07",
        "2023-08-08",
        "2023-08-10",
        "2023-08-14",
        "2023-08-15",
        "2023-08-17",
        "2023-08-21",
        "2023-08-22",
        "2023-08-24",
        "2023-08-28",
        "2023-08-29",
        "2023-08-31",
        "2023-09-04",
        "2023-09-05",
        "2023-09-11",
        "2023-09-12",
        "2023-09-14",
        "2023-09-18"
    ],
    "discount": null,
    "endDate": "2023-09-18",
    "endTime": null,
    "everyXMonths": "0",
    "everyXWeeks": "1",
    "fields": [{Fields object for scheduler fields of recurring appointment - for more info, see Scheduler Fields API page}],
    "frequency": "weekly",
    "fri": false,
    "location": {Location object for location of recurring appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationId": 495584,
    "locationSuperGroup": null,
    "mon": true,
    "note": "",
    "price": null,
    "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
    "reasonId": 646892,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "resource": {
        "resourceId": null
    },
    "sat": false,
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
    "staffId": 302120,
    "staffReminderHours": 24,
    "startDate": "2023-07-17",
    "startTime": null,
    "sun": false,
    "tax1Amount": null,
    "thu": true,
    "timeSlotList": null,
    "tue": true,
    "wed": false
}
POST /recurringappointments/get/dates
{
    "additionalStaffIdList": [],
    "address": null,
    "adhoc": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "cancelReason": null,
    "changeReason": null,
    "classScheduleIdList": null,
    "classScheduleList": null,
    "client": {Client object for client of recurring appointment - for more info, see Clients API page},
    "clientEndTime": 1325,
    "clientId": 10575898,
    "clientReminderHours": 24,
    "clientStartTime": 1300,
    "color": null,
    "coordinatorStaff": {Staff object for coordinator staff of recurring appointment - for more info, see Staff API page},
    "createdBy": null,
    "customFieldData": [],
    "dateCreated": null,
    "dateModified": null,
    "dates": null,
    "discount": null,
    "endDate": null,
    "endTime": 1330,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler fields of recurring appointment - for more info, see Scheduler Fields API page}],
    "frequency": "weekly",
    "fri": true,
    "getSendConfirmationToClient": null,
    "location": {Location object for location of recurring appointment - for more info, see Locations API page},
    "locationGroup": {
        "groupId": null
    },
    "locationId": 495584,
    "locationSuperGroup": null,
    "modifiedBy": null,
    "mon": false,
    "note": "",
    "paid": null,
    "price": 0,
    "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
    "reasonId": 546559,
    "recurringAppointmentId": 749333,
    "recurringSchedule": null,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "repeatStaffIds": null,
    "resource": {
        "resourceId": null
    },
    "sat": false,
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
    "staffId": 302120,
    "staffReminderHours": 24,
    "startDate": "2023-07-14",
    "startTime": 1300,
    "status": "Open",
    "sun": false,
    "tax1Amount": null,
    "thu": false,
    "timeSlotList": null,
    "tue": false,
    "waitListId": null,
    "waitListOrigRecurringAppointmentId": null,
    "wed": false
}
PUT /recurringappointments
{
    "additionalStaffIdList": [],
    "address": null,
    "adhoc": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "cancelReason": null,
    "changeReason": null,
    "classScheduleId": null,
    "classScheduleIdList": null,
    "classScheduleList": null,
    "client": {Client object for client of recurring appointment - for more info, see Clients API page},
    "clientEndTime": 1640,
    "clientId": 10575898,
    "clientReminderHours": 24,
    "clientStartTime": 1620,
    "color": null,
    "coordinatorStaff": {Staff object for coordinator staff of recurring appointment - for more info, see Staff API page},
    "createdBy": null,
    "customFieldData": [],
    "dateCreated": null,
    "dateModified": null,
    "dates": [
        "2023-07-17",
        "2023-07-18", 
        "2023-07-20", 
        "2023-07-24", 
        "2023-07-25", 
        "2023-07-27", 
        "2023-07-31",
        "2023-08-01",
        "2023-08-03",
        "2023-08-07",
        "2023-08-08",
        "2023-08-10",
        "2023-08-14",
        "2023-08-15",
        "2023-08-17",
        "2023-08-21",
        "2023-08-22",
        "2023-08-24",
        "2023-08-28",
        "2023-08-29",
        "2023-08-31",
        "2023-09-04",
        "2023-09-05",
        "2023-09-11",
        "2023-09-12",
        "2023-09-14",
        "2023-09-18"
    ],
    "discount": null,
    "endDate": "2023-09-18",
    "endTime": 1640,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler fields of recurring appointment - for more info, see Scheduler Fields API page}],
    "frequency": "weekly",
    "fri": false,
    "getSendConfirmationToClient": null,
    "location": {Location object for location of recurring appointment - for more info, see Locations API page},
    "locationGroup": {
        "groupId": null
    },
    "locationId": 495584,
    "locationSuperGroup": null,
    "modifiedBy": null,
    "mon": true,
    "note": "",
    "paid": null,
    "price": null,
    "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
    "reasonId": 646892,
    "recurringAppointmentId": 749784,
    "recurringSchedule": null,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "repeatStaffIds": null,
    "resource": {
        "resourceId": null
    },
    "sat": false,
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
    "staffId": 302120,
    "staffReminderHours": 24,
    "startDate": "2023-07-17",
    "startTime": 1620,
    "status": "Open",
    "sun": false,
    "tax1Amount": null,
    "thu": true,
    "timeSlotList": null,
    "tue": true,
    "waitListId": null,
    "waitListOrigRecurringAppointmentId": null,
    "wed": false
}
PUT /recurringappointments/{recurringAppointmentId}/updateByAppt
{
    "recurringAppt": {
        "additionalStaffIdList": [],
        "address": null,
        "adhoc": null,
        "blockStaffIdList": [],
        "blockedStaffList": [],
        "businessId": 43111,
        "cancelReason": null,
        "changeReason": "",
        "classScheduleIdList": null,
        "classScheduleList": null,
        "client": {Client object for client of recurring appointment - for more info, see Clients API page},
        "clientEndTime": 1620,
        "clientId": 7585627,
        "clientReminderHours": 24,
        "clientStartTime": 1600,
        "color": null,
        "coordinatorStaff": {Staff object for coordinator staff of recurring appointment - for more info, see Staff API page},
        "createdBy": null,
        "customFieldData": [],
        "dateCreated": null,
        "dateModified": null,
        "dates": null,
        "discount": null,
        "endDate": null,
        "endTime": 1620,
        "everyXMonths": 0,
        "everyXWeeks": 1,
        "fields": [{Fields object for scheduler fields of recurring appointment - for more info, see Scheduler Fields API page}],
        "fri": true,
        "getSendConfirmationToClient": null,
        "location": {Location object for location of recurring appointment - for more info, see Locations API page},
        "locationGroup": null,
        "locationId": 495584,
        "locationSuperGroup": null,
        "modifiedBy": null,
        "mon": false,
        "note": "",
        "paid": null,
        "price": null,
        "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
        "reasonId": 646892,
        "recurringAppointmentId": 749317,
        "recurringSchedule": null,
        "remindClientSmsHrs": 24,
        "remindStaffSmsHrs": 0,
        "repeatStaffIds": null,
        "resource": null,
        "sat": false,
        "seats": 1,
        "sendConfirmationToClient": false,
        "sendConfirmationToStaff": false,
        "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
        "staffId": 302120,
        "staffReminderHours": 24,
        "startDate": "2023-07-21",
        "startTime": 1600,
        "status": "Open",
        "sun": false,
        "tax1Amount": null,
        "thu": false,
        "timeSlotList": null,
        "tue": false,
        "waitListId": null,
        "waitListOrigRecurringAppointmentId": null,
        "wed": false
    },
    "updatedAppt": {
        "addOnReasonIdList": null,
        "addOnReasonList": null,
        "additionalStaffIdList": [],
        "address": null,
        "appointementIdHash": "5OP6T0Yqjq",
        "appointmentDateTimeClient": "Friday, Jul 21, 2023 at 19:00 EDT",
        "appointmentDateTimeStaff": "Friday, Jul 21, 2023 at 16:00 MST",
        "apptTZ": "America/Phoenix",
        "batchAppointmentId": null,
        "blockResourceIdList": null,
        "blockStaffIdList": [],
        "blockedStaffList": [],
        "businessId": 43111,
        "calTimeSlot": null,
        "calendarId": 129320097,
        "cancelReason": null,
        "cancelUser": null,
        "changeReason": "",
        "classScheduleId": null,
        "classroom": null,
        "client": {Client object for client of recurring appointment - for more info, see Clients API page},
        "clientConfirmDate": null,
        "clientConfirmed": null,
        "clientEndDate": "2023-07-21",
        "clientEndDateTime": 1689956400000,
        "clientEndDateTimeUTC": 1689981600000,
        "clientEndTime": 1620,
        "clientReminderHours": 24,
        "clientRescheduleCount": 0,
        "clientStartDate": "2023-07-21",
        "clientStartDateTime": 1689955200000,
        "clientStartDateTimeUTC": 1689980400000,
        "clientStartTime": 1600,
        "color": null,
        "completedReason": null,
        "coordinatorStaff": {Staff object for coordinator staff of recurring appointment - for more info, see Staff API page},
        "coupon": null,
        "couponId": null,
        "createddate": "2023-07-14 15:58:51",
        "createduser": "JoeSchmo",
        "customField1": null,
        "customField2": null,
        "customField3": null,
        "customFieldData": null,
        "customFieldDesc": "Would you like a beer? : Yes<BR>",
        "date": "2023-07-21",
        "dateCheckedIn": null,
        "dateCompleted": null,
        "dateStarted": null,
        "discount": null,
        "displayStatus": "OPEN",
        "duration": {
            "duration": null
        },
        "endDate": "2023-07-21",
        "endDateTimeUTC": 1689981600000,
        "endTime": 1620,
        "externalEventId": null,
        "fields": [{Fields object for scheduler fields of recurring appointment - for more info, see Scheduler Fields API page}],
        "invitationUUId": null,
        "jobRequisitionId": null,
        "location": {Location object for location of recurring appointment - for more info, see Locations API page},
        "locationGroup": null,
        "locationSuperGroup": null,
        "manageApptUrl": "https://www.timetap.com/businessWeb/web/manage/5OP6T0Yqjq",
        "modifieddate": "2023-07-20 18:13:01",
        "modifieduser": "JoeSchmo",
        "noPrefSelected": null,
        "noShowReason": null,
        "note": "",
        "originalClassScheduleId": null,
        "originalDate": "2023-07-21",
        "originalStartTime": 1600,
        "package": {Package object for package of recurring appointment - for more info, see Packages API page},
        "packageEditing": false,
        "packageSoldId": null,
        "paid": null,
        "price": null,
        "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
        "reasonBatchSeriesId": null,
        "reasonDesc": null,
        "reasonGroup": null,
        "recall": null,
        "recallDate": null,
        "recallStatus": null,
        "recurringAppointmentId": 749317,
        "remindClientSmsHrs": 24,
        "remindStaffSmsHrs": 0,
        "resource": null,
        "resourceId": null,
        "seats": 1,
        "sendConfirmationToClient": false,
        "sendConfirmationToStaff": false,
        "showAs": "Busy",
        "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
        "staffReminderHours": 24,
        "staffRescheduleCount": 1,
        "staffTimeText": "Friday, Jul 21, 2023 at 16:00 MST",
        "startDate": "2023-07-21",
        "startDateTimeUTC": 1689980400000,
        "startTime": 1600,
        "status": "OPEN",
        "subStatus": "OPEN",
        "subject": null,
        "tax1Amount": null,
        "ticket": null,
        "transactionFee": null,
        "waitListId": null
}}




Recurring Appointments API Responses


GET /recurringappointments/{recurringAppointmentId}
{
    "additionalStaffIdList": [],
    "address": null,
    "adhoc": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "cancelReason": null,
    "changeReason": null,
    "classScheduleIdList": null,
    "classScheduleList": null,
    "client": {Client object for client of recurring appointment - for more info, see Clients API page},
    "clientEndTime": 1620,
    "clientId": 10575898,
    "clientReminderHours": 24,
    "clientStartTime": 1600,
    "color": null,
    "coordinatorStaff": {Staff object for coordinator staff of recurring appointment - for more info, see Staff API page},
    "createdBy": null,
    "customFieldData": [],
    "dateCreated": null,
    "dateModified": null,
    "dates": null,
    "discount": null,
    "endDate": "2023-09-18",
    "endTime": 1620,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler fields of recurring appointment - for more info, see Scheduler Fields API page}],
    "fri": false,
    "getSendConfirmationToClient": null,
    "location": {Location object for location of recurring appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationId": 495584,
    "locationSuperGroup": null,
    "modifiedBy": null,
    "mon": true,
    "note": "",
    "paid": null,
    "price": null,
    "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
    "reasonId": 646892,
    "recurringAppointmentId": 749784,
    "recurringSchedule": null,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "repeatStaffIds": null,
    "resource": null,
    "sat": false,
    "seats": 1,
    "sendConfirmationToClient": null,
    "sendConfirmationToStaff": null,
    "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
    "staffId": 302120,
    "staffReminderHours": 24,
    "startDate": "2023-07-17",
    "startTime": 1600,
    "status": "Open",
    "sun": false,
    "tax1Amount": null,
    "thu": true,
    "timeSlotList": null,
    "tue": true,
    "waitListId": null,
    "waitListOrigRecurringAppointmentId": null,
    "wed": false
}
POST /recurringappointments
[{
    "additionalStaffIdList": [],
    "address": null,
    "adhoc": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "cancelReason": null,
    "changeReason": null,
    "classScheduleIdList": null,
    "classScheduleList": null,
    "client": null,
    "clientEndTime": 1620,
    "clientId": 10575898,
    "clientReminderHours": 24,
    "clientStartTime": 1600,
    "color": null,
    "coordinatorStaff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
    "createdBy": null,
    "customFieldData": null,
    "dateCreated": null,
    "dateModified": null,
    "dates": null,
    "discount": null,
    "endDate": "2023-09-18",
    "endTime": 1620,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler field of recurring appointment - for more info, see Scheduler Fields API page}],
    "fri": false,
    "getSendConfirmationToClient": null,
    "location": {Location object for location of recurring appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationId": 495584,
    "locationSuperGroup": null,
    "modifiedBy": null,
    "mon": true,
    "note": "",
    "paid": null,
    "price": null,
    "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
    "reasonId": 646892,
    "recurringAppointmentId": 749784,
    "recurringSchedule": null,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "repeatStaffIds": null,
    "resource": null,
    "sat": false,
    "seats": 1,
    "sendConfirmationToClient": null,
    "sendConfirmationToStaff": null,
    "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
    "staffId": 302120,
    "staffReminderHours": 24,
    "startDate": "2023-07-17",
    "startTime": 1600,
    "status": "Open",
    "sun": false,
    "tax1Amount": null,
    "thu": true,
    "timeSlotList": null,
    "tue": true,
    "waitListId": null,
    "waitListOrigRecurringAppointmentId": null,
    "wed": false
}]
POST/recurringappointment/get/dates
[
    "0": "2023-07-14",
    "1": "2023-07-21",
    "2": "2023-07-28",
    "3": "2023-08-04",
    "4": "2023-08-11",
    "5": "2023-08-18",
    "6": "2023-08-25",
    "7": "2023-09-01",
    "8": "2023-09-08",
    "9": "2023-09-15",
    "10": "2023-09-22",
    "11": "2023-09-29",
    "12": "2023-10-06",
    "13": "2023-10-13",
    "14": "2023-10-20",
    "15": "2023-10-27",
    "16": "2023-11-03",
    "17": "2023-11-10",
    "18": "2023-11-17",
    "19": "2023-11-24",
    "20": "2023-12-01",
    "21": "2023-12-08",
    "22": "2023-12-15",
    "23": "2023-12-22",
    "24": "2023-12-29",
    "25": "2024-01-05",
    "26": "2024-01-12"
]
PUT /recurringappointments/{recurringAppointmentId}
{
    "additionalStaffIdList": [],
    "address": null,
    "adhoc": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "cancelReason": null,
    "changeReason": null,
    "classScheduleIdList": null,
    "classScheduleList": null,
    "client": {Client object for client of recurring appointment - for more info, see Clients API page},
    "clientEndTime": 1640,
    "clientId": 10575898,
    "clientReminderHours": 24,
    "clientStartTime": 1620,
    "color": null,
    "coordinatorStaff": {Staff object for coordinator staff of recurring appointment - for more info, see Staff API page},
    "createdBy": null,
    "customFieldData": [],
    "dateCreated": null,
    "dateModified": null,
    "dates": null,
    "discount": null,
    "endDate": "2023-09-18",
    "endTime": 1640,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler fields of recurring appointment - for more info, see Scheduler Fields API page}],
    "fri": false,
    "getSendConfirmationToClient": null,
    "location": {Location object for location of recurring appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationId": 495584,
    "locationSuperGroup": null,
    "modifiedBy": null,
    "mon": true,
    "note": "",
    "paid": null,
    "price": null,
    "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
    "reasonId": 646892,
    "recurringAppointmentId": 749784,
    "recurringSchedule": null,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "repeatStaffIds": null,
    "resource": {
        "resourceId": null
    },
    "sat": false,
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
    "staffId": 302120,
    "staffReminderHours": 24,
    "startDate": "2023-07-17",
    "startTime": 1620,
    "status": "Open",
    "sun": false,
    "tax1Amount": null,
    "thu": true,
    "timeSlotList": null,
    "tue": true,
    "waitListId": null,
    "waitListOrigRecurringAppointmentId": null,
    "wed": false
}
PUT /recurringappointments/{recurringAppointmentId}/updateByAppt
{
    "additionalStaffIdList": [],
    "address": null,
    "adhoc": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "cancelReason": "",
    "changeReason": "",
    "classScheduleIdList": null,
    "classScheduleList": null,
    "client": {Clients object for client of recurring appointment - for more info, see Clients API page},
    "clientEndTime": 1230,
    "clientId": 4922146,
    "clientReminderHours": 24,
    "clientStartTime": 1200,
    "color": null,
    "coordinatorStaff": {Staff object for coordinator staff of recurring appointment - for more info, see Staff API page},
    "createdBy": null,
    "customFieldData": [],
    "dateCreated": null,
    "dateModified": null,
    "dates": null,
    "discount": null,
    "endDate": "2020-10-06",
    "endTime": 1230,
    "everyXMonths": 0,
    "everyXWeeks": 1,
    "fields": [{Fields object for scheduler fields of recurring appointment - for more info, see Scheduler Fields API page}],
    "fri": false,
    "getSendConfirmationToClient": null,
    "location": {Location object for location of recurring appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationId": 81181,
    "locationSuperGroup": null,
    "modifiedBy": null,
    "mon": false,
    "note": "",
    "paid": null,
    "price": null,
    "reason": {Reason object for service of recurring appointment - for more info, see Services API page},
    "reasonId": 255109,
    "recurringAppointmentId": 428225,
    "recurringSchedule": null,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "repeatStaffIds": null,
    "resource": null,
    "sat": false,
    "seats": 1,
    "sendConfirmationToClient": null,
    "sendConfirmationToStaff": null,
    "staff": {Staff object for staff of recurring appointment - for more info, see Staff API page},
    "staffId": 302120,
    "staffReminderHours": 24,
    "startDate": "2020-09-15",
    "startTime": 1145,
    "status": "Open",
    "sun": false,
    "tax1Amount": null,
    "thu": false,
    "timeSlotList": null,
    "tue": true,
    "waitListId": null,
    "waitListOrigRecurringAppointmentId": null,
    "wed": false
}




Recurring Appointments Object Values

Property nameTypeRequiredWritableDescription
additionalStaffIdListarray
YesDisplays as staff IDs for any additional staff connected to the specified recurring appointment. 
addressstring
YesDisplays as the address of the specified recurring appointment.
adhoc



blockStaffIdListarray
YesDisplays staffIds for any additional staff members you have added so they cannot be otherwise booked for this time slot. Whatever IDs are added to the additionalStaffIdList are automatically added to the blockStaffIdList. The blockStaffIdList is used to automatically block off staff across child accounts in our enterprise set up model.
blockedStaffListarray
YesDisplays an array of staff objects for any additional staff members you have added in the blockStaffIdList or additionalStaffIdList.
businessIdintegerYes
Provides unique numeric ID of the business to which the specified recurring appointment belongs.
cancelReasonstring
YesDisplays any reason given for cancelling the specified recurring appointment.
changeReasonstring
YesDisplays any reason given for changing the specified recurring appointment.
classScheduleIdListarray

Displays as a list of the IDs of any class schedules connected to the specified recurring appointment.
classScheduleListarray
YesDisplays an array of objects representing the available class schedules when adding a recurring appointment of reasonType CLASS.
clientobject
YesDisplays the object of client who is connected to specified appointment - for more info, see Clients API page.
clientEndTimeinteger
YesDisplays as time specified appointment is set to end displayed in military format.
clientIdinteger

Provides unique numeric ID of client who is connected to specified appointment.
clientReminderHoursinteger
YesDisplays the number of hours before the appointment that an email reminder will be sent to the client.
clientStartTimeinteger
YesDisplays as time specified appointment is set to begin displayed in military format.
colorstring

Displays any color chosen to override the specified recurring appointment in the backoffice calendar.
coordinatorStaffobject
YesDisplays staff object for the staff member that was the coordinator staff for specified appointment. The coordinator staff's schedule is not blocked. For more info, see Staff API page.
createdBystring

Displays as the username of the user that created the specified recurring appointment.
customFieldDatastring

Displays the label and value properties of any scheduler preference field objects that have the mode property set to APPT so that users can inject these into email templates with 1 centralized tag which is %CUSTOM_FIELDS%
dateCreatedinteger

Displays as the date the specified recurring appointment was created in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
dateModified


Displays as the date the specified recurring appointment was last modified in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
datesarray

Displays an array of dates that an appointment from the specified recurring appointment is scheduled on.
discountinteger
YesThis displays as the total dollar value that was taken off the price of specified appointment.
endDatestring
YesProvides a string representation of the date the recurring class session ends written as YYYY-MM-DD; if set to null then the schedule will repeat indefinitely. 
endTimeintegerYesYesProvides the time specified class ends, displayed in military format. 
everyXMonthsinteger
YesDisplays as number of months class schedule is set to recurr on. (Required if type is set to "M")
everyXWeeksinteger
YesDisplays as number of weeks class schedule is set to recurr on. (Required if type is set to "W")
fieldsarray
YesDisplays an array of any custom field objects you have added during the class schedule setup - for more info, see Scheduler Field API page.
friboolean

Indicates whether or not the recurring class schedule is set to repeat on Fridays.
getSendConfirmationToClientboolean


locationobjectYesYes

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

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

Provides unique numeric ID for the location of the specified recurring appointment.

locationSuperGroup

object
YesIf you assign the class session to a specific location super group, then this would be the object of that location super group.
modifiedBystrong

Displays as the username of the user that last modified the specified recurring appointment.
monboolean

Indicates whether or not the recurring class schedule is set to repeat on Mondays.
notestring
YesDisplays as note added to appointment profile in default comments field.
paidboolean

Indicates whether or not the specified recurring appointment has been paid for yet.
pricestring
YesDisplays as the price set for the specified recurring appointment after adjusting for any coupons that may have been used.
reasonobjectYesYesDisplays the reason object assigned to the specified class session - for more info, see Services API page. 
reasonIdinteger

Provides unique numeric ID for reason of specified appointment.

recurringAppointmentId

integer

Yes, on PUT calls

Provides a unique numeric ID for specified recurring appointment.

recurringSchedule



remindClientSmsHoursinteger
YesDisplays the number of hours before the appointment that an SMS reminder will be sent to the client.
remindStaffSmsHoursinteger
YesDisplays the number of hours before the appointment that an SMS reminder will be sent to the staff.
repeatStaffIdsinteger

Displays as a list of IDs of staff connected to the specified recurring appointment.
resourceobject
YesDisplays any resource object connected to the recurring appointment - for more info, see Resources API page.
satboolean

Indicates whether or not the recurring appointment is set to repeat on Saturdays.
seatsinteger
YesProvides number of seats for specified recurring appointment.
sendConfirmationToClientboolean
YesIndicates whether or not a confirmation email should be sent to client on recurring appointment POST or PUT. If set to TRUE, then when specified appointment is created or changed the confirmation will get sent out.
sendConfirmationToStaffboolean
YesIndicates whether or not a confirmation email should be sent to staff on recurring appointment POST or PUT. If set to TRUE, then when specified appointment is created or changed the confirmation will get sent out.
staffobjectYesYesDisplays the staff object assigned to specified recurring appointment - for more, see Staff API page. 
staffIdinteger

Provides unique numeric ID of the staff assigned to specified recurring appointment.
staffReminderHoursinteger
YesDisplays the number of hours before the appointment that an email reminder will be sent to the staff.
startDatestringYesYesProvides a string representation of the date the recurring appointment starts written as YYYY-MM-DD. 
startTimeintegerYesYesProvides the time the recurring appointment begins, displayed in military format. 
statusstring
YesDisplays the status of specified recurring appointment. Possible values include Open, Closed, or Cancelled.
sunboolean

Indicates whether or not the recurring appointment is set to repeat on Sundays.
tax1Amountstring

Displays as the tax amount charged for any appointment in the specified recurring appointment.
thuboolean

Indicates whether or not the recurring appointment is set to repeat on Thursdays.
timeSlotListarray

Displays an array of objects representing the available timeslots when adding a recurring appointment of reasonType CLASS. The timeslots you select get passed in the timeSlotList array and will return on subsequent GET calls.
tueboolean

Indicates whether or not the recurring appointment is set to repeat on Tuesdays.
waitListIdinteger

Provides unique numeric ID for any waitlists that are in the specified recurring appointment series.
waitListOrigRecurringAppointmentId



wedboolean

Indicates whether or not the recurring appointment is set to repeat on Wednesdays.