Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The Time Off API is used to access, create, and modify the periods of time off taken 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




Time Off API Endpoints

Endpoint

Description


Returns an array of appointments with specified status.

GET /timeOff/{timeOffId}Returns a JSON object for specified time off period.
GET /appointments/resource/{resourceId/{statusList}Returns all appointments that include specified resource.
GET /appointments/recurringappointments/{recurringApptId}

Returns a list of appointment objects that were part of the recurring appointment series that specified appointment is part of as determined by the value set in its recurringAppointmentId.

GET /appointments/{appointmentId}/checkWaitListChecks the waitlist of specified appointment before updating appointment object.
GET /appointments/reportReturns an array of all appointments on a business' account.
POST /appointments

Creates a new appointment on a business' account.

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

PUT /appointments/{appointmentId}

Updates an existing appointment.

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

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

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

Request body/payload: Must pass an appointment object with substatus set to CANCEL.

PUT /appointments/{appointmentId}/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: Must pass an appointment object with substatus set to NO_SHOW.

This endpoint also requires a JSON POST body of an empty string for the Reason property of the appointment:

{"reason" : ""}

PUT /appointments/{appointmentId}/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: Must pass an appointment object with substatus set to COMPLETED.

This endpoint also requires a JSON POST body of an empty string for the Reason property of the appointment:

{"reason" : ""}




Time Off Parameters

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

clientId

integerGET /appointments/report

Displays unique numeric ID of client of appointment to be returned following a GET report call.

classScheduleIdintegerGET /appointments/reportDisplays unique numeric ID of client of appointment to be returned following a GET report call.
endDatestringGET /appointments/reportDisplays the end date of appointments to be returned following a GET report call, formatted as YYYY-MM-DD. 
excludeTimeOffbooleanGET /appointments/reportIf TRUE then the GET report call does not return appointments that are set for reasons of reasonType PERSONAL; if FALSE then it does return appointments that are set for reasons of reasonType PERSONAL.
onlyTimeOffintegerGET /appointments/reportCan 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.
order_fieldstringGET /appointments/reportDisplays the field that appointments returned following a GET report call should be ordered by.
order_modestringGET /appointments/reportDisplays the mode ('asc'ending or 'desc'ending) in which appointments returned following a GET report call should appear.
pageNumberintegerGET /appointments/reportWorks with the pageSize parameter to determine how appointments get returned following a GET report call. The pageNumber value represents the number of pages on which the class sessions that get returned appear.
pageSizeintegerGET /appointments/report

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

staffIdListintegerGET /appointments/reportDisplays a comma-separated list of unique numeric IDs of staff of appointments to be returned following a GET report call.
startDatestringGET /appointments/reportDisplays the start date of appointments to be returned following a GET report call, formatted as YYYY-MM-DD. 
locationIdListintegerGET /appointments/reportDisplays a comma-separated list of locationIds connected to the appointments you want returned following a GET report call.
statusListstring GET /appointments/reportDisplays a comma-separated list of statuses of the appointments you want returned following a GET report call. Has acceptable values of OPEN, CLOSED, INPROGRESS, COMPLETED, READ_ONLY, PENDING, PENDING_CONFIRMATION, PENDING_WAITLIST, CHECKEDIN, CANCELLED, and CONFIRMED. 
waitListIdsstring

PUT /appointments/{appointmentId}

Displays a comma-separated list of waitListIds to be invited to claim the spot of a cancelled appointment.
overrideintegerPOST /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.




Time Off API Responses

GET /appointments/{appointmentId}
{
    "additionalStaffIdList": null,
    "appointmentDateTimeClient": "Thursday, Jul 26, 2018 at 8:00 AM FNT",
    "appointmentDateTimeStaff": "Thursday, Jul 26, 2018 at 8:00 AM FNT",
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calendarId": 16902079,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": "",
    "classScheduleId": null,
    "client": {Client object for client of appointment-see clients API page},
    "clientConfirmedDate": 1532371154462,
    "clientConfirmed": true,
    "clientEndDate": "2018-07-25",
    "clientEndTime": 900,
    "clientReminderHours": 1,
    "clientRescheduleCount": 0,
    "clientStartDate": "2018-07-26",
    "clientStartTime": 800,
    "color": "#668CD9",
    "completedReason": null,
    "coordinatorStaff": null,
    "coupon": null,
    "couponId": null,
    "createddate": "2018-06-21 14:45:52",
    "createduser": "JoeSchmo",
    "customFieldDesc": "Comments : Boo!",
    "date": "2018-07-26",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "discount": null,
    "endDate": "2018-07-26",
    "endTime": 930,
    "fields": {Scheduler fields object for fields of fields of appointment-see scheduler fields API page},
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment-see locations API page},
    "locationGroup": {Location group object for location group of appointment-see groups API page},
    "locationSuperGroup": null,
    "modifieddate": null,
    "modifieduser": null,
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "price": null,
    "reason": {Reason object for service of appointment-see services API page},
    "reasonGroup": {Reason group object for reason group of appointment-see groups API page},
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": 101096,
    "remindClientSmsHrs": 2,
    "remindStaffSmsHours": 4,
    "resource": {Resource object for resource of appointment-see resources API page},
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of appointment-see staff API page},
    "staffReminderHours": 3,
    "staffRescheduleCount": 9,
    "startDate": "2018-07-26",
    "startTime": 945,
    "status": "OPEN",
    "subStatus": "CONFIRMED",
    "transactionFee": null,
    "waitlistId": null
}
GET /timeOff/{timeOffId}
{
    "businessId": 43111,
    "color":
    "createdDate": "2018-08-03 14:39:38",
    "createdUser": "JoeSchmo",
    "description": "Need a break!",
    "endDate": "2018-10-01",
    "endTime": 1200,
    "modifiedDate": "2018-08-07 15:10:27",
    "modifiedUser": "JoeSchmo",
    "reason": {Reason object for reason of time off-see services API page},
    "recurringAppointmentId": null,
    "staff": {Staff object for staff with time off-see staff API page},
    "startDate": "2018-10-01",
    "startTime": 1100,
    "status": "Open",
    "timeOffId": 17360947
}
GET /appointments/resource/{resourceId}/{statusList}
[{
    "additionalStaffIdList": null,
    "address": null,
    "appointmentDateTimeClient": "Thursday, Jul 26, 2018 at 12:00 PM FNT",
    "appointmentDateTimeStaff": "Thursday, Jul 26, 2018 at 12:00 PM FNT",
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calendarId": 17246703,
    "cancelReason": "",
    "cancelUser": "JoeSchmo",
    "changeReason": "",
    "classScheduleId": null,
    "client": null,
    "clientConfirmedDate": 1532371154462,
    "clientConfirmed": false,
    "clientEndDate": "2018-07-26",
    "clientEndTime": 1330,
    "clientReminderHours": 0,
    "clientRescheduleCount": 0,
    "clientStartDate": "2018-07-26",
    "clientStartTime": 1200,
    "color": null,
    "completedReason": "",
    "coordinatorStaff": {Staff object for coordinator staff of appointment-see staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2018-07-24 16:10:52",
    "createduser": "JoeSchmo",
    "customFieldDesc": "".
    "date": "2018-07-26",
    "dateCheckedIn": null,
    "dateCompleted": 1530785153340,
    "dateStarted": 1532525579100,
    "discount": null,
    "endDate": "2018-07-26",
    "endTime": 1325,
    "fields": {Scheduler field object for field of appointment-see scheduler fields API page},
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment-see locations API page},
    "locationGroup": {Location group object for location group of appointment-see groups API page},
    "locationSuperGroup": null,
    "modifieddate": null,
    "modifieduser": null,
    "noPrefSelected": null,
    "noShowReason": "",
    "note": "",
    "packageSoldId": null,
    "price": 8,
    "reason": {Reason object for service of appointment-see services API page},
    "reasonGroup": null,
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": null,
    "remindClientSmsHrs": 1,
    "remindStaffSmsHours": 0,
    "resource": {Resource object for resource of appointment-see resources API page},
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of appointment-see staff API page},
    "staffReminderHours": 0,
    "staffRescheduleCount": 6,
    "startDate": "2018-07-26",
    "startTime": 1115,
    "status": "COMPLETED",
    "subStatus": "INPROGRESS",
    "transactionFee": null,
    "waitlistId": null
}]
POST /appointments
{
    "classScheduleId": null,
    "client": {Client object for client of appointment-see clients API page},
    "clientEndDate": "2018-07-26",
    "clientEndTime": 1330,
    "clientReminderHours": 0,
    "clientStartDate": "2018-07-26",
    "clientStartTime": 1200,
    "coordinatorStaff": {Staff object for coordinator staff of appointment-see staff API page},
    "duration": 90,
    "endDate": "2018-07-26",
    "endTime": 1325,
    "fields": {Scheduler fields object for fields of fields of appointment-see scheduler fields API page},
    "invalidDates": false,
    "location": {Location object for location of appointment-see locations API page},
    "locationGroup": {Location group object for location group of appointment-see groups API page},
    "note": "",
    "price": 8,
    "reason": {Reason object for service of appointment-see services API page},
    "reasonGroup": {Reason group object for reason group of appointment-see groups API page},
    "remindClientSmsHours": 1,
    "remindStaffSmsHours": 0,
    "resource": {Resource object for resource of appointment-see resources API page},
    "resourceId": 2556,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of appointment-see staff API page},
    "staffReminderHours": 0,
    "startDate": "2018-07-26",
    "status": "OPEN"
}
PUT /appointments/{appointmentId}
{
    "additionalStaffIdList": null,
    "address": null,
    "appointmentDateTimeClient": "Thursday, Aug 2, 2018 at 8:00 AM FNT",
    "appointmentDateTimeStaff": "Thursday, Aug 2, 2018 at 8:00 AM FNT",
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calendarId": 16902080,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": "",
    "classScheduleId": null,
    "client": {Client object for client of appointment-see clients API page},
    "clientConfirmedDate": 1532371154462,
    "clientConfirmed": false,
    "clientEndDate": "2018-08-02",
    "clientEndTime": 900,
    "clientReminderHours": 0,
    "clientRescheduleCount": 0,
    "clientStartDate": "2018-08-02",
    "clientStartTime": 800,
    "color": "#668CD9",
    "completedReason": null,
    "coordinatorStaff": null,
    "coupon": null,
    "couponId": null,
    "createddate": "2018-06-21 14:45:52",
    "createduser": "JoeSchmo",
    "customFieldDesc": "",
    "date": "2018-08-02",
    "dateCheckedIn": null,
    "dateCompleted": null,
    "discount": null,
    "endDate": "2018-08-02",
    "endTime": 930,
    "fields": {Scheduler fields object for fields of fields of appointment-see scheduler fields API page},
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment-see locations API page},
    "locationGroup": {Location group object for location group of appointment-see groups API page},
    "locationSuperGroup": null,
    "modifieddate": null,
    "modifieduser": null,
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "price": null,
    "reason": {Reason object for service of appointment-see services API page},
    "reasonGroup": {Reason group object for reason group of appointment-see groups API page},
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": 101096,
    "remindClientSmsHrs": 2,
    "remindStaffSmsHours": 4,
    "resource": {Resource object for resource of appointment-see resources API page},
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of appointment-see staff API page},
    "staffReminderHours": 3,
    "staffRescheduleCount": 9,
    "startDate": "2018-08-02",
    "startTime": 945,
    "status": "OPEN",
    "subStatus": "CONFIRMED",
    "transactionFee": null,
    "waitlistId": null
}
PUT /appointments/{appointmentId}/noshow
{
    "additionalStaffIdList": null,
    "address": null,
    "appointmentDateTimeClient": "Thursday, Jul 26, 2018 at 12:00 PM FNT",
    "appointmentDateTimeStaff": "Thursday, Jul 26, 2018 at 12:00 PM FNT",
    "blockStaffIdList": [],
    "blockedStaffList": [],
    "businessId": 43111,
    "calendarId": 1726703,
    "cancelReason": null,
    "cancelUser": null,
    "changeReason": "",
    "classScheduleId": null,
    "client": {Client object for client of appointment-see clients API page},
    "clientConfirmedDate": 1532478709843,
    "clientConfirmed": false,
    "clientEndDate": "2018-07-26",
    "clientEndTime": 1330,
    "clientReminderHours": 0,
    "clientRescheduleCount": 0,
    "clientStartDate": "2018-07-26",
    "clientStartTime": 1200,
    "color": null,
    "completedReason": "",
    "coordinatorStaff": {Staff object for coordinator staff of appointment-see staff API page},
    "coupon": null,
    "couponId": null,
    "createddate": "2018-07-24 16:10:52",
    "createduser": "JoeSchmo",
    "customFieldDesc": "",
    "date": "2018-07-26",
    "dateCheckedIn": 1532525743459,
    "dateCompleted": 1532526150687,
    "dateStarted": 1532525579100,
    "discount": null,
    "endDate": "2018-07-26",
    "endTime": 930,
    "fields": {Scheduler fields object for fields of fields of appointment-see scheduler fields API page},
    "invitationUUId": null,
    "jobRequisitionId": null,
    "location": {Location object for location of appointment-see locations API page},
    "locationGroup": {Location group object for location group of appointment-see groups API page},
    "locationSuperGroup": null,
    "modifieddate": null,
    "modifieduser": null,
    "noPrefSelected": null,
    "noShowReason": null,
    "note": "",
    "packageSoldId": null,
    "price": null,
    "reason": {Reason object for service of appointment-see services API page},
    "reasonGroup": {Reason group object for reason group of appointment-see groups API page},
    "recall": null,
    "recallDate": null,
    "recallStatus": null,
    "recurringAppointmentId": 101096,
    "remindClientSmsHrs": 2,
    "remindStaffSmsHours": 4,
    "resource": {Resource object for resource of appointment-see resources API page},
    "seats": 1,
    "sendConfirmationToClient": false,
    "sendConfirmationToStaff": false,
    "staff": {Staff object for staff of appointment-see staff API page},
    "staffReminderHours": 3,
    "staffRescheduleCount": 9,
    "startDate": "2018-08-02",
    "startTime": 945,
    "status": "OPEN",
    "subStatus": "CONFIRMED",
    "transactionFee": null,
    "waitlistId": null
}




Time Off Object Values

Property nameTypeDescription
businessIdintegerProvides unique numeric ID of the business offering availability. (Required)
colorstring
createdDatestring
createdUserstring
descriptionstring
endDatestring
endTimeinteger
modifiedDatestring
modifiedUserstring
reasonobject
recurringAppointmentIdinteger
staffobject
startDatestring
startTimeinteger
statusstring
timeOffIdinteger




  • No labels