/
Appointments

Appointments

The Appointments API is used to access, create, and modify the appointments on your business' account. The Appointments API is connected to the Locations, StaffServices, and Resources APIs as appointments include all of those APIs.

Since appointments are the main way your business will make money,  it is crucial for you to familiarize yourself with how to get, create, and update the different appointments on your account.



On this page




Appointments API Endpoints

These are the endpoints that are available under the /appointments path, which lists all the different appointments you have scheduled on your business' calendar.

Endpoint

Description

GET /appointmentList/report

Returns all appointment objects on an account in array format.

NOTE: Requires paginated results. The pageNumber and pageSize parameters are required, if they are not provided they will be set to a default of pageNumber = 1 and pageSize = 25. 

GET /appointmentList/reportWithCount

Returns an object that contains a list of appointments along with a count of the total number of appointments that match the parameters passed with the call. 

NOTE: Requires paginated results. The pageNumber and pageSize parameters are required, if they are not provided they will be set to a default of pageNumber = 1 and pageSize = 25. 

GET /appointments/{calendarId}Returns a JSON object for the specified appointment.
GET /appointments/resource/{resourceId}/{statusList}Returns all appointment objects that include the specified resource in array format.
GET /appointments/recurringappointments/{recurringApptId}

Returns an array of appointment objects that were part of the recurring appointment series that contains the specified appointment as determined by the value set in its recurringAppointmentId.

GET /appointments/{calendarId}/checkWaitList

Checks the waitlist of the specified appointment before updating appointment object.

To send an invitation out to a waitlist registrant to claim a cancelled appointment, make this call and select which candidates that return you want to invite to claim it. You then take the waitListIds from each of those registrations and pass them in the waitListIds parameter of the PUT /appointments/{calendarId}/cancel/{sendStaffEmail}/{sendClientEmail} to place a hold event on your calendar that will stay until either the client claims it or the allotted time frame has elapsed.

POST /appointments

Creates a new appointment object on an account.

Request body/payload: Must pass an appointment object.

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

POST /appointments/quickAdd

Creates a new blocking appointment object on an account.

Request body/payload: Must pass a limited appointment object.

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

PUT /appointments/{calendarId}

Updates an existing appointment object.

Request body/payload: Must pass an appointment object with the desired changes made.

For this call, you can a limited appointment object defined below. 
Required fields :
1.  businessId

2. professionalId

3. startDate

4. startTime

5. endDate

6. endTime


NOTE: These fields will be overridden with hard coded data:
1. reasonId

2. status

3. subject

PUT /appointments/{calendarId}/{status}/{subStatus}

Updates the specified appointment's status & substatus.

This call simply offers a generic method to update the status of an appointment instead of using a specific one. 

PUT /appointments/{calendarId}/cancel/{sendStaffEmail}/{sendClientEmail}

Sets an appointment to a substatus of CANCELLED and alters the boolean property accordingly to notify the client via email. Effectively cancels an appointment with the option to send an email to the staff and the client.

To send an invitation out to a waitlist registrant to claim a cancelled appointment, make a GET /appointments/{calendarId}/checkWaitList call and then take the waitListIds from the returning waitlist objects that you want to invite and pass them in the waitListIds parameter of this call. This will place a waitlist hold event on your calendar that will stay until either the client claims it or the allotted time frame has expired. The waitlist hold is just an appointment without a client assigned to it. If you wish to remove this waitlist hold before a client claims it or the allotted time frame has expired you can use this endpoint to update the appointment and set the appointment object's status and substatus to CANCELLED.

Request body/payload: Optionally, you may pass a json payload with reason and substatus

{
    "reason": "",
    "subStatus": "CANCELLED"
}

PUT /appointments/{calendarId}/noshow/{sendClientEmail}

Sets an appointment to a substatus of NO_SHOW and alters boolean flag accordingly to notify the client via email.

Request body/payload: Optionally, you may pass a json payload with reason and substatus

{
    "reason": "",
    "subStatus": "NO_SHOW"
}

PUT /appointments/{calendarId}/completed/{sendClientEmail}

Sets an appointment to a substatus of COMPLETED and alters boolean flag accordingly to send a thank you email to the client.

Request body/payload: Optionally, you may pass a json payload with reason and substatus

{
    "reason": "",
    "subStatus": "COMPLETED"
}
GET/POST /appointmentList/reportCountReturns number of appointments based on the parameters that get passed. Acceptable parameters can be found in the Appointments API Parameters section.
GET/POST /appointmentList/reportCountsByStatusReturns number of appointments based on the parameters that get passed for each appointment status that gets passed in the statusList parameter. Accepts the same parameters as the GET/POST /appointmentList/reportCount endpoint, looking at reasonIdList, locationIdList and staffIdList in particular. 




Appointments API Parameters

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

Parameter

TypeEndpoints to be used with

Description

calendarIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of calendarIds connected to the appointments to be returned following the API call.
classScheduleIdinteger

GET /appointments/report

Should be set as the unique numeric ID of client of appointment to be returned following the API call.
classScheduleIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of classScheduleIds connected to the appointments to be returned following the API call.
clientIdintegerGET /appointments/reportShould be set as the ID of client of appointment to be returned following the API call.
clientIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of the clientIds connected to the appointments to be returned following the API call.
couponIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

Should be set as a comma-separated list of couponIds connected to the appointments to be returned following the API call.
dateRangeTypestringGET/POST /appointmentList/report

Can be set to a value of 'createdDate' or 'modifiedDate' and works with startDate and endDate parameters to filter the appointments returned following the API call based on those properties.

endDatestring

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as the end date of appointments to be returned following the API call, formatted as YYYY-MM-DD. 
excludeTimeOffboolean

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

If  set to TRUE then the API call does not return appointments that are set for reasons of reasonType PERSONAL; if set to FALSE then it does return appointments that are set for reasons of reasonType PERSONAL.
locationIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of locationIds connected to the appointments to be returned following the API call.
locationGroupIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of locationGroupIds connected to the appointments to be returned following the API call.
onlyTimeOffinteger

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Can be set to 0 or 1; if set to 0 then reads as essentially false; if set to 1 then only appointments that are set for reasons that are of reasonType PERSONAL will return following the API call.
order_fieldstring

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET /appointments/report

Should be set as the field that appointments returned following the API call should be ordered by.
order_modestring

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET /appointments/report

Should be set as the mode ('asc'ending or 'desc'ending) in which appointments returned following the API call should appear.
overridebooleanPOST /appointmentsCan be set to 0 or 1; if set to 0 then staff for specified appointment is free during that time slot; if set to 1 you are overriding the staff's work schedule and effectively double booking him or her.
packageSoldIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of packageSoldIds connected to the appointments to be returned following the API call.
pageNumberinteger

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET /appointments/report

Works with the pageSize parameter to determine how appointments get returned following the API call. The pageNumber value represents the number of pages on which the appointments that get returned appear.
pageSizeinteger

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET /appointments/report

Works with the pageNumber parameter to determine how appointments gets returned following the API call. The pageSize value represents the number of appointments appearing on each page that gets returned.

NOTE: Max pageSize is 50

reasonIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of reasonIds connected to the appointments you want returned following the API call. This parameter is optional - if it is not sent in then the return results will include all reasons (except reasonTypes of PERSONAL if the excludeTimeOff property is set to false).
recurringApptIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of recurringApptIds connected to the appointments to be returned following the API call.
resourceIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of resourceIds connected to the appointments to be returned following the API call.
showApptTzboolean

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET /appointments/report

Determines whether or not the apptTz field will be filled when making this API call. 
showClientFormsboolean

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET /appointments/report

Should be set as TRUE or FALSE depending on whether or not the appointments to be returned following the API are set to show client forms.
staffIdListinteger array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of unique numeric IDs of staff of appointments to be returned following the API call.
startDatestring

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as the start date of appointments to be returned following the API call, formatted as YYYY-MM-DD. 
statusListstring array

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as a comma-separated list of statuses of the appointments you want returned following the API call. Has acceptable values OPEN, CLOSED, INPROGRESS, COMPLETED, READ_ONLY, PENDING, PENDING_CONFIRMATION, PENDING_WAITLIST, CHECKEDIN, CANCELLED, and CONFIRMED. 
uninvoicedboolean

GET/POST /appointmentList/reportWithCount

GET/POST /appointmentList/report

GET/POST /appointmentList/reportCount

GET/POST /appointmentList/reportCountsByStatus

GET /appointments/report

Should be set as TRUE or FALSE depending on whether or not the appointments to be returned following the API are invoiced.
waitListIdsinteger array

PUT /appointments/{calendarId}

Should be set as a comma-separated list of waitListIds to be invited to claim the spot of a cancelled appointment.




Appointment API Request Body/Payloads

The objects below represent the minimum viable objects to pass that are needed to create or update an appointment 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 /appointments
{
    "additionalStaffIdList": [],
    "address": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "classScheduleId": null,
    "client": {Client object for client of appointment - for more info, see Clients API page},
    "clientEndDate": "2022-11-11",
    "clientEndTime": 950,
    "clientReminderHours": 24,
    "clientStartDate": "2022-11-11",
    "clientStartTime": 900,
    "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
    "duration": {
        "duration": null
    },
    "endDate": "2022-11-11",
    "endTime": 1000,
    "fields": [{Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page}],
    "jobRequisitionId": 62883,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "note": "",
    "package": {Package object for package of appointment - for more info, see Packages API page},
    "packageEditing": true,
    "packageSoldId": null,
    "price": 8,
    "reason": {Reason object for service of appointment - for more info, see Services API page}
    "reasonGroup": null,
    "remindClientSmsHrs": 0,
    "remindStaffSmsHrs": 0,
    "resource": null,
    "resourceId": null,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of appointment - for more info, see Staff API page},
    "staffReminderHours": 0,
    "startDate": "2022-11-11",
    "startTime": 900,
    "status": "OPEN"
}
PUT /appointments
{
    "addOnReasonIdList": null,
    "addOnReasonList": null,
    "additionalStaffIdList": [],
    "additionalStaffNameList": null,
    "address": null,
    "appointementIdHash": "xqmrSqPyaO",
    "appointmentDateTimeClient": "Friday, Nov 11, 2022 at 09:00 EST",
    "appointmentDateTimeStaff": "Friday, Nov 11, 2022 at 09:00 EST",
    "apptTZ": "US/Eastern",
    "batchAppointmentId": null,
    "blockResourceIdList": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calTimeSlot": null,
    "calendarId": 19982707,
    "cancelReson": null,
    "cancelUser": null,
    "changeReason": "",
    "classScheduleId": null,
    "classroom": null,
    "client": {Client object for client of appointment - for more info, see Clients API page},
    "clientConfirmDate": null,
    "clientConfirmed": null,
    "clientEndDate": "2022-11-11",
    "clientEndDateTime": 1668160200000,
    "clientEndDateTimeUTC": 1668178200000,
    "clientEndTime": 950,
    "clientReminderHours": 24,
    "clientRescheduleCount": 0,
    "clientStartDate": "2022-11-11",
    "clientStartDateTime": 1668157200000,
    "clientStartDateTimeUTC": 1668175200000,
    "clientStartTime": 900,
    "color": null,
    "completedReason": null,
    "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2022-11-08 21:02:51",
    "createduser": "JoeSchmo",
    "customField1": null,
    "customField2": null,
    "customField3": null,
    "customFieldData": null,
    "customFieldDesc": "",
    "date": "2022-11-11",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "dateStarted": null,
    "discount": null,
    "displayStatus": "CANCELLED",
    "duration": {
        "0": null
    },
    "endDate": "2022-11-11",
    "endDateTimeUTC": 1668178800000,
    "endTime": 1000,
    "externalEventId": null,
    "fields": [{Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page}],
    "invalidDates": false,
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "manageApptUrl": "https://www.timetap.com/businessWeb/web/manage/xqmrSqPyaO",
    "modifieddate": "2022-11-11 08:55:05",
    "modifieduser": "JoeSchmo-REC.UPDATE",
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "originalClassScheduleId": null,
    "originalDate": "2022-11-11",
    "originalStartTime": 800,
    "package": {Package object for package of appointment - for more info, see Packages API},
    "packageEditing": false,
    "packageSoldId": null,
    "paid": null,
    "price": 8,
    "reason": {Reason object for service of appointment - for more info, see Services API page},
    "reasonBatchSeriesId": null,
    "reasonDesc": null,
    "reasonGroup": null,
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": null,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "resource": null,
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "showAs": "Busy",
    "staff": {Staff object for staff of appointment - for more info, see Staff API page},
    "staffReminderHours": 24,
    "staffRescheduleCount": 0,
    "staffTimeText": "Friday, Nov 11, 2022 at 09:00 EST",
    "startDate": "2022-11-11",
    "startDateTimeUTC: 1668175200000,
    "startTime": 900,
    "status": "OPEN",
    "subStatus": "OPEN",
    "subject": null,
    "tax1Amount": null,
    "ticket": null,
    "timezoneToUse": "US/Eastern",
    "transactionFee": null,
    "waitListId": null
}




Appointments API Responses

GET /appointmentList/report
{
    "addOnReasonIdList": null,
    "addOnReasonList": null,
    "additionalStaffIdList": [],
    "additionalStaffNameList": null,
    "address": null,
    "appointmentIdHash": "9023TZPMNQ",
    "appointmentDateTimeClient": "Monday, Oct 17, 2022 at 11:00 EDT",
    "appointmentDateTimeStaff": "Monday, Oct 17, 2022 at 11:00 EDT",
    "apptTZ": "America/New_York",
    "batchAppointmentId": null,
    "blockResourceIdList": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calTimeSlot": null,
    "calendarId": 77798962,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": null,
    "classScheduleId": null,
    "classroom": null,
    "client": {Client object for client of appointment - for more info, see Clients API page},
    "clientConfirmDate": null,
    "clientConfirmed": null,
    "clientEndDate": "2022-10-17",
    "clientEndDateTime": 1666006200000,
    "clientEndDateTimeUTC": 1666020600000,
    "clientEndTime": 1130,
    "clientReminderHours": 24,
    "clientRescheduleCount": 0,
    "clientStartDate": "2022-10-17",
    "clientStartDateTime": 1666004400000,
    "clientStartDateTimeUTC": 1666020600000,
    "clientStartTime": 1100,
    "color": null,
    "completedReason": null,
    "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2022-04-20 08:32:07",
    "createduser": "JoeSchmo",
    "customField1": null,
    "customField2": null,
    "customField3": null,
    "customFieldData": null,
    "customFieldDesc": "",
    "date": "2018-08-23",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "dateStarted": null,
    "discount": null,
    "duration": null,
    "endDate": "2022-10-17",
    "endDateTimeUTC": 1666020600000,
    "endTime": 2400,
    "externalEventId": null,
    "fields": {Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page},
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": {Groups object for location group of appointment - for more info, see Groups API page},
    "locationSuperGroup": null,
    "manageApptUrl": "https://www.timetap.com/businessWeb/web/mnage/9023TZPMnQ",
    "modifieddate": null,
    "modifieduser": null,
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "paid": null,
    "price": null,
    "reason": {Reason object for service of appointment - for more info, see Services API page},
    "reasonBatchSeriesId": null,
    "reasonDesc": null,
    "reasonGroup": {Groups object for reason group of appointment - for more info, see Groups API page},
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": 380318,
    "remindClientSmsHrs": 1,
    "remindStaffSmsHours": 0,
    "resource": {Resource object for resource of appointment - for more info, see Resources API page},
    "seats": 1,
    "sendConfirmationToClient": true,
    "sendConfirmationToStaff": false,
    "showAs": "Busy",
    "staff": {Staff object for staff of appointment - for more info, see Staff API page},
    "staffReminderHours": 0,
    "staffRescheduleCount": 0,
    "staffTimeText": "Monday, Oct 17, 2022 at 11:00 EDT",
    "startDate": "2018-07-26",
    "startDateTimeUTC": 166607900000,
    "startTime": 945,
    "status": "OPEN",
    "subStatus": "OPEN",
    "subject": null,
    "tax1Amount": null,
    "ticket": null,
    "transactionFee": null,
    "waitlistId": null
}
GET /appointmentList/reportWithCount
{
    "appts": [{
        "addOnReasonIdList": null,
        "addOnReasonList": null,
        "additionalStaffIdList": [],
        "additionalStaffNameList": null,
        "address": null,
        "appointmentIdHash": "m0RqfvnNb1",
        "appointmentDateTimeClient": "Monday, May 17, 2018 at 12:00 EDT",
        "appointmentDateTimeStaff": "Monday, May 17, 2018 at 12:00 EDT",
        "apptTZ": "America/New_York",
        "batchAppointmentId": null,
        "blockResourceIdList": null,
        "blockStaffIdList": [],
        "blockedStaffList": [],
        "businessId": 43111,
        "calTimeSlot": null,
        "calendarId": 77798962,
        "cancelReason": null,
        "cancelUser": null,
        "changeReason": null,
        "classScheduleId": null,
        "classroom": null,
        "client": {Client object for client of appointment - for more info, see Clients API page},
        "clientConfirmDate": null,
        "clientConfirmed": true,
        "clientEndDate": "2022-10-17",
        "clientEndDateTime": 1666006200000,
        "clientEndDateTimeUTC": 1666020600000,
        "clientEndTime": 1130,
        "clientReminderHours": 24,
        "clientRescheduleCount": 0,
        "clientStartDate": "2022-10-17",
        "clientStartDateTime": 1666004400000,
        "clientStartDateTimeUTC": 1666020600000,
        "clientStartTime": 1100,
        "color": null,
        "completedReason": null,
        "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
        "coupon": null,
        "couponId": null,
        "createddate": "2022-04-20 08:32:07",
        "createduser": "JoeSchmo",
        "customField1": null,
        "customField2": null,
        "customField3": null,
        "customFieldData": null,
        "customFieldDesc": "",
        "date": "2018-08-23",
        "dateCheckedIn": null,
        "dateCompleted": null,
        "dateStarted": null,
        "discount": null,
        "duration": null,
        "endDate": "2022-10-17",
        "endDateTimeUTC": 1666020600000,
        "endTime": 2400,
        "externalEventId": null,
        "fields": [{Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page}],
        "invitationUUId": null,
        "jobRequisitionId": null,
        "location": {Location object for location of appointment - for more info, see Locations API page},
        "locationGroup": null,
        "locationSuperGroup": null,
        "manageApptUrl": "https://www.timetap.com/businessWeb/web/mnage/9023TZPMnQ",
        "modifieddate": null,
        "modifieduser": null,
        "noPrefSelected": null,
        "noShowReason": null,
        "note": "",
        "packageSoldId": null,
        "paid": null,
        "price": null,
        "reason": {Reason object for service of appointment - for more info, see Services API page},
        "reasonBatchSeriesId": null,
        "reasonDesc": null,
        "reasonGroup": null,
        "recall": null,
        "recallDate": null,
        "recallStatus": null,
        "recurringAppointmentId": 380318,
        "remindClientSmsHrs": 1,
        "remindStaffSmsHours": 0,
        "resource": null,
        "seats": 1,
        "sendConfirmationToClient": true,
        "sendConfirmationToStaff": false,
        "staff": {Staff object for staff of appointment - for more info, see Staff API page},
        "staffReminderHours": 0,
        "staffRescheduleCount": 0,
        "staffTimeText": "Monday, Oct 17, 2022 at 11:00 EDT",
        "startDate": "2018-07-26",
        "startDateTimeUTC": 166607900000,
        "startTime": 945,
        "status": "OPEN",
        "subStatus": "OPEN",
        "subject": null,
        "tax1Amount": null,
        "ticket": null,
        "transactionFee": null,
        "waitlistId": null
    }],
    "count": 1157}
GET /appointments/{appointmentId}
{
    "addOnReasonIdList": null,
    "addOnReasonList": null,
    "additionalStaffIdList": [],
    "additionalStaffNameList": null,
    "address": null,
    "appointmentIdHash": "9023TZPMNQ",
    "appointmentDateTimeClient": "Monday, Oct 17, 2022 at 11:00 EDT",
    "appointmentDateTimeStaff": "Thursday, Oct 17, 2018 at 11:00 EDT",
    "apptTZ": "America/New_York",
    "batchAppointmentId": null,
    "blockResourceIdList": [6384],
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calTimeSlot": null,
    "calendarId": 77798962,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": null,
    "classScheduleId": null,
    "classroom": null,
    "client": {Client object for client of appointment - for more info, see Clients API page},
    "clientConfirmDate": null,
    "clientConfirmed": true,
    "clientEndDate": "2022-10-17",
    "clientEndDateTime": 1666006200000,
    "clientEndDateTimeUTC": 1666020600000,
    "clientEndTime": 1130,
    "clientReminderHours": 24,
    "clientRescheduleCount": 0,
    "clientStartDate": "2022-10-17",
    "clientStartDateTime": 1666004400000,
    "clientStartDateTimeUTC": 1666020600000,
    "clientStartTime": 1100,
    "color": null,
    "completedReason": null,
    "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2022-04-20 08:32:07",
    "createduser": "JoeSchmo",
    "customField1": null,
    "customField2": null,
    "customField3": null,
    "customFieldData": null,
    "customFieldDesc": "",
    "date": "2018-08-23",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "dateStarted": null,
    "discount": null,
    "endDate": "2022-10-17",
    "endDateTimeUTC": 1666020600000,
    "endTime": 2400,
    "externalEventId": null,
    "fields": {Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page},
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": {Groups object for location group of appointment - for more info, see Groups API page},
    "locationSuperGroup": null,
    "manageApptUrl": "https://www.timetap.com/businessWeb/web/mnage/9023TZPMnQ",
    "modifieddate": null,
    "modifieduser": null,
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "paid": null,
    "price": 0,
    "reason": {Reason object for service of appointment - for more info, see Services API page},
    "reasonBatchSeriesId": null,
    "reasonDesc": null,
    "reasonGroup": null,
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": 380318,
    "remindClientSmsHrs": 1,
    "remindStaffSmsHours": 0,
    "resource": {Resource object for resource of appointment - for more info, see Resources API page},
    "seats": 1,
    "sendConfirmationToClient": true,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of appointment - for more info, see Staff API page},
    "staffReminderHours": 0,
    "staffRescheduleCount": 0,
    "staffTimeText": "Monday, Oct 17, 2022 at 11:00 EDT",
    "startDate": "2018-07-26",
    "startDateTimeUTC": 166607900000,
    "startTime": 945,
    "status": "OPEN",
    "subStatus": "OPEN",
    "subject": null,
    "tax1Amount": null,
    "ticket": null,
    "transactionFee": null,
    "waitlistId": null
}
GET /appointments/resource/{resourceId}/{statusList}
{
    "addOnReasonIdList": null,
    "addOnReasonList": null,
    "additionalStaffIdList": [],
    "additionalStaffNameList": null,
    "address": null,
    "appointmentIdHash": "m0Rqf7Xqzx",
    "appointmentDateTimeClient": "Thursday, Jul 26, 2018 at 12:00 PM FNT",
    "appointmentDateTimeStaff": "Thursday, Jul 26, 2018 at 12:00 PM FNT",
    "apptTz": null,
    "batchAppointmentId": null,
    "blockResourceIdList": [
        "0": 6384
    ],
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calTimeSlot": null,
    "calendarId": 17246703,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": null,
    "classScheduleId": null,
    "classroom": null,
    "client": {Client object for client of appointment - for more info, see Clients API page},
    "clientConfirmDate": null,
    "clientConfirmed": null,
    "clientEndDate": "2018-07-26",
    "clientEndDateTime": 14988734000000,
    "clientEndDateTimeUTC": 14988734000000,
    "clientEndTime": 1330,
    "clientReminderHours": 24,
    "clientRescheduleCount": 0,
    "clientStartDate": "2018-07-26",
    "clientStartDateTime": 14987934000000,
    "clientStartDateTimeUTC": 14987934000000,
    "clientStartTime": 1200,
    "color": null,
    "completedReason": null,
    "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2018-07-24 16:10:52",
    "createduser": "JoeSchmo",
    "customField1": null,
    "customField2": null,
    "customField3": null,
    "customFieldData": null,
    "customFieldDesc": "",
    "date": "2018-07-26",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "dateStarted": null,
    "discount": null,
    "duration": null,
    "endDate": "2018-07-26",
    "endDateTimeUTC": 14988344000000,
    "endTime": 1325,
    "externalEventId": null,
    "fields": {Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page},
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "manageApptUrl": "https://www.timetap.com/businessWeb/web/manage/m0Rqf6Zcxz",
    "modifieddate": null,
    "modifieduser": null,
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "paid": null,
    "price": 8,
    "reason": {Reason object for service of appointment - for more info, see Services API page},
    "reasonBatchSeriesId": null,
    "reasonDesc": null,
    "reasonGroup": null,
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": 380318,
    "remindClientSmsHrs": 1,
    "remindStaffSmsHours": 0,
    "resource": {Resource object for resource of appointment - for more info, see Resources API page},
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "showAs": "Busy",
    "staff": {Staff object for staff of appointment - for more info, see Staff API page},
    "staffReminderHours": 0,
    "staffRescheduleCount": 6,
    "startDate": "2018-07-26",
    "startDateTimeUTC": 14988694000000
    "startTime": 1115,
    "status": "OPEN",
    "subStatus": "OPEN",
    "subject": null,
    "tax1Amount": null,
    "ticket": null,
    "transactionFee": null,
    "waitlistId": null
}
GET /appointments/recurringappointments/{recurringappointmentId}
{
    "addOnReasonIdList": null,
    "addOnReasonList": null,
    "additionalStaffIdList": [],
    "additionalStaffNameList": null,
    "address": null,
    "appointementIdHash": "wYm5fOpjQG",
    "appointmentDateTimeClient": "Tuesday, Jul 25, 2023 at 19:20 EDT",
    "appointmentDateTimeStaff": "Tuesday, Jul 25, 2023 at 16:20 MST",
    "apptTZ": null,
    "batchAppointmentId": null,
    "blockResourceIdList": null,
    "blockStaffIdList": [],
    "blockedStaffList": null,
    "businessId": 43111,
    "calTimeSlot": null,
    "calendarId": 129536041,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": null,
    "classScheduleId": null,
    "classroom": null,
    "client": {Client object for client of appointment - for more info, see Clients API page},
    "clientConfirmDate": null,
    "clientConfirmed": null,
    "clientEndDate": "2023-07-25",
    "clientEndDateTime": 1690303200000,
    "clientEndDateTimeUTC": 1690303200000,
    "clientEndTime": 1640,
    "clientReminderHours": 24,
    "clientRescheduleCount": 0,
    "clientStartDate": "2023-07-25",
    "clientStartDateTime": 1690302000000,
    "clientStartDateTimeUTC": 1690302000000,
    "clientStartTime": 1620,
    "color": null,
    "completedReason": null,
    "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2023-07-19 16:32:03",
    "createduser": "JoeSchmo",
    "customField1": null,
    "customField2": null,
    "customField3": null,
    "customFieldData": null,
    "customFieldDesc": "",
    "date": "2023-07-25",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "dateStarted": null,
    "discount": null,
    "duration": null,
    "endDate": "2023-07-25",
    "endDateTimeUTC": 1690328400000,
    "endTime": 1640,
    "externalEventId": null,
    "fields": [{Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page}],
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "manageApptUrl": "https://www.timetap.com/businessWeb/web/manage/wYm5fOpjQG",
    "modifieddate": "2023-07-19 16:32:03",
    "modifieduser": "JoeSchmo-REC.UPDATE",
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "paid": null,
    "price": null,
    "reason": {Reason object for service of appointment - for more info, see Services API page},
    "reasonBatchSeriesId": null,
    "reasonDesc": null,
    "reasonGroup": null,
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": 750321,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHrs": 0,
    "resource": null,
    "seats": 1,
    "sendConfirmationToClient": true,
    "sendConfirmationToStaff": false,
    "showAs": "Busy",
    "staff": {Staff object for staff of appointment - for more info, see Staff API page},
    "staffReminderHours": 24,
    "staffRescheduleCount": 0,
    "staffTimeText": "Tuesday, Jul 25, 2023 at 16:20 MST",
    "startDate": "2023-07-25",
    "startDateTimeUTC": 1690327200000,
    "startTime": 1620,
    "status": "OPEN",
    "subStatus": "OPEN",
    "subject": null,
    "tax1Amount": null,
    "ticket": null,
    "transactionFee": null,
    "waitListId": null
}
POST /appointments
{
    "addOnReasonIdList": null,
    "addOnReasonList": null
    "additionalStaffIdList": [],
    "additionalStaffNameList": null,
    "address": null,
    "appointmentIdHash": "xqmrSqPyaO",
    "appointmentDateTimeClient": "Friday, Nov 11, 2022 at 9:00 PM FNT",
    "appointmentDateTimeStaff": "Friday, Nov 11, 2022 at 9:00 PM FNT",
    "apptTz": "US/Eastern",
    "batchAppointmentId": null,
    "blockResourceIdList": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calTimeSlot": null,
    "calendarId": 17584855,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": null,
    "classScheduleId": null,
    "classroom": null,
    "client": {Client object for client of appointment - for more info, see Clients API page],
    "clientConfirmDate": null,
    "clientConfirmed": null,
    "clientEndDate": "2022-11-11",
    "clientEndDatTime": 1668160200000,
    "clientEndDateTimeUTC": 1668160200000,
    "clientEndTime": 950,
    "clientReminderHours": 24,
    "clientRescheduleCount": 0,
    "clientStartDate": "2022-11-11",
    "clientStartDateTime": 1668157200000,
    "clientStartDateTimeUTC": 1668157200000,
    "clientStartTime": 1400,
    "color": null,
    "completedReason": null,
    "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2022-11-11 21:02:51",
    "createduser": "JoeSchmo",
    "customField1": null
    "customField2": null,
    "customField3": null,
    "customFieldData": null,
    "customFieldDesc": "",
    "date": "2022-11-11",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "dateStarted": null,
    "discount": null,
    "duration": null,
    "endDate": "2022-11-11",
    "endDateTimeUTC": 1668178800000,
    "endTime": 1000,
    "fields": [{Fields array for scheduler field of appointment - for more info, see Scheduler Fields API page}],
    "invitationUUId": null,
    "jobRequisitionId": 62883,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "manageApptUrl": "https://www.timetap.com/businessWeb/web/manage/xqmrSqPyaO"
    "modifieddate": "2022-11-11 21:02:51",
    "modifieduser": "JoeSchmo",
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "paid": null,
    "price": 8,
    "reason": {Reason object for service of appointment - for more info, see Services API page},
    "reasonBatchSeriesId": null,
    "reasonDesc": null,
    "reasonGroup": null,
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": null,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHours": 0,
    "resource": {Resource object for resource of appointment - for more info, see Resources API page},
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "showAs": null,
    "staff": {Staff object for staff of appointment - for more info, see Staff API page},
    "staffReminderHours": 24,
    "staffRescheduleCount": 0,
    "staffTimeText": "Friday, Nov 11, 2022 at 09:00 EST",
    "startDate": "2022-11-11",
    "startDateTimeUTC": 1668175200000,
    "startTime": 900,
    "status": "OPEN",
    "subStatus": "OPEN",
    "subject": null,
    "tax1Amount": null,
    "ticket": null,
    "transactionFee": null,
    "waitlistId": null
}
PUT /appointments/{appointmentId}
{
    "addOnReasonIdList": null,
    "addOnReasonList": null,
    "additionalStaffIdList": [],
    "additionalStaffNameList": null,
    "address": null,
    "appointmentIdHash": "xqmrSqPyaO",
    "appointmentDateTimeClient": "Friday, Nov 11, 2022 at 09:00 EST",
    "appointmentDateTimeStaff": "Friday, Nov 11, 2022 at 09:00 EST",
    "apptTz": null,
    "batchAppointmentId": null,
    "blockResourceIdList": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calTimeSlot": null,
    "calendarId": 118970595,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": "",
    "classScheduleId": null,
    "classroom": null,
    "client": {Client object for client of appointment - for more info, see Clients API page},
    "clientConfirmDate": null,
    "clientConfirmed": null,
    "clientEndDate": "2022-11-11",
    "clientEndDateTime": 1668160200000,
    "clientEndDateTimeUTC": 1668160200000,
    "clientEndTime": 950,
    "clientReminderHours": 24,
    "clientRescheduleCount": 0,
    "clientStartDate": "2022-11-11",
    "clientStartDateTime": 1668157200000,
    "clientStartDateTimeUTC": 16681572200000,
    "clientStartTime": 900,
    "color": null,
    "completedReason": null,
    "coordinatorStaff": null,
    "coupon": null,
    "couponId": null,
    "createddate": "2022-11-08 21:02:51",
    "createduser": "JoeSchmo",
    "customField1": null,
    "customField2": null,
    "customField3": null,
    "customFieldData": null,
    "customFieldDesc": "",
    "date": "2022-11-11",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "dateStarted": null,
    "discount": null,
    "duration": null,
    "endDate": "2022-11-11",
    "endDateTimeUTC": 1668178800000,
    "endTime": 1000,
    "fields": [{Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page}],
    "invitationUUId": null,
    "jobRequisitionId": 72420,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "manageApptUrl": "https://www.timetap.com/businessWeb/web/manage/xqmrSqPyaO",
    "modifieddate": "2022-11-11 08:55:05",
    "modifieduser": "JoeSchmo-REC.UPDATE",
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "paid": null,
    "price": 8,
    "reason": {Reason object for service of appointment - for more info, see Services API page},
    "reasonBatchSeriesId": null,
    "reasonDesc": null,
    "reasonGroup": null,
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": 750574,
    "remindClientSmsHrs": 24,
    "remindStaffSmsHours": 0,
    "resource": null,
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "showAs": "Busy",
    "staff": {Staff object for staff of appointment - for more info, see Staff API page},
    "staffReminderHours": 24,
    "staffRescheduleCount": 0,
    "startTimeText": "Friday, Nov 11, 2022 at 09:00 EST",
    "startDate": "2022-11-11",
    "startTime": 900,
    "status": "OPEN",
    "subStatus": "OPEN",
    "subject": null,
    "tax1Amount": null,
    "ticket": null,
    "transactionFee": null,
    "waitlistId": null
}
PUT /appointments/{appointmentId}/noshow
{
    "addOnReasonIdList": null,
    "addOnReasonList": null,
    "additionalStaffIdList": [],
    "additionalStaffNameList": null,
    "address": null,
    "appointmentIdHash": "Q7DZFbG9z1",
    "appointmentDateTimeClient": "Thursday, Jul 26, 2018 at 12:00 PM FNT",
    "appointmentDateTimeStaff": "Thursday, Jul 26, 2018 at 12:00 PM FNT",
    "apptTz": null,
    "batchAppointmentId": null,
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calTimeSlot": null,
    "calendarId": 1726703,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": "",
    "classScheduleId": null,
    "classroom": null,
    "client": {Client object for client of appointment - for more info, see Clients API page},
    "clientConfirmDate": 1532478709843,
    "clientConfirmed": false,
    "clientEndDate": "2018-07-26",
    "clientEndDateTime": 1677893200000,
    "clientEndDateTimeUTC": 1677893200000,
    "clientEndTime": 1330,
    "clientReminderHours": 0,
    "clientRescheduleCount": 0,
    "clientStartDate": "2018-07-26",
    "clientStartDateTime": 1677813200000,
    "clientStartDateTimeUTC": 1677813200000,
    "clientStartTime": 1200,
    "color": null,
    "completedReason": "",
    "coordinatorStaff": {Staff object for coordinator staff of appointment - for more info, see Staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2018-07-24 16:10:52",
    "createduser": "JoeSchmo",
    "customField1": null,
    "customField2": null,
    "customField3": null,
    "customFieldData": null,
    "customFieldDesc": "",
    "date": "2018-07-26",
    "dateCheckedIn": 1532525743459,
    "dateCompleted": 1532526150687,
    "dateStarted": 1532525579100,
    "discount": null,
    "duration": null,
    "endDate": "2018-07-26",
    "endDateTimeUTC": 1677893200000,
    "endTime": 930,
    "externalEventId": null,
    "fields": {Fields array for scheduler fields of appointment - for more info, see Scheduler Fields API page},
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment - for more info, see Locations API page},
    "locationGroup": null,
    "locationSuperGroup": null,
    "manageApptUrl": "https://www.timetap.com/businessWeb/web/manage/Q7DZFbG8z2",
    "modifieddate": null,
    "modifieduser": null,
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "paid": null,
    "price": null,
    "reason": {Reason object for service of appointment - for more info, see Serv