Scheduler Link

Scheduler Link

The Scheduler Link API is used to access, create, and modify the different scheduler link objects on your business' account. The Scheduler Link API is connected to the Staff API, Locations API, Groups API, and the Services API, though services are referred to as Reasons for these purposes. 

For the purposes of TimeTap, the schedulerLink objects represent the different custom booking sites on your business' account. On this page we will however refer to them as scheduler links to avoid confusion.

 


 

Scheduler Link API Endpoints

These are the endpoints that are available under the /schedulerLink path, which lists all the custom booking sites you have created on your business' account.

Endpoint

Description

Endpoint

Description

GET /schedulerLink

Returns all schedulerLink objects on your business' account in array format.

GET /schedulerLink/{schedulerLinkId}

Returns a JSON object for the specified scheduler link.

GET /schedulerLink/{objectType}/{objectId}

Returns a JSON object for the scheduler link that corresponds to the specified objectType and objectId. Can have objectType values "STAFF", "LOCATION", "REASON", and "GROUP".

POST /schedulerLink

Creates a new schedulerLink object on your business' account.

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

For these calls, you need to pass a schedulerLink object with all required fields and any fields you want to set filled in the body of the payload - must include the schedulerType property that corresponds to where you created the specified scheduler link. We have an example of a schedulerLink object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

PUT /schedulerLink

Updates an existing schedulerLink object on your business' account.

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

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

DELETE /schedulerLink/{schedulerLinkId}

Removes a schedulerLink object from view by setting its active property to false.

 


 

Scheduler Link API Parameters

There are no parameters associated with schedulerLink calls.

 


 

Scheduler Link API Request Body/Payloads

 

The objects below represent the minimum viable objects to pass that are needed to create or update a schedulerLink 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.

{ "active": true, "allOrNoneSelect": { "locationGroups": { "label": "Select Location Groups", "value": "select" }, "locations": { "label": "Select Locations", "value": "select" }, "reasonGroups": { "label": "Select Reason Groups", "value": "select" }, "reasons": { "label": "Select Services & Classes", "value": "select" }, "staff": { "label": "Select Tutors", "value": "select" }}, "appMode: null, "businessId": "43111", "classScheduleIdList": null, "domain": "timetap.com", "groupIdList": [ "0": 31158, "1": 75774, "2": 36239 ], "handle": "petzzz", "internalName": "petz", "locationGroupIdList": [ "0": 31158 ], "locationIdList": [ "0": 81181, "1": 282639 ], "logoUrl": null, "publish": true, "reasonGroupIdList": [ "0": 75774, "1": 36239 ], "reasonIdList": [ "0": 240094, "1": 255109, "2": 546559 ], "schedulerType": "LINK", "schedulerVersion": 5, "showPrivateGroup": true, "showPrivateLocation": true, "showPrivateReason": true, "showPrivateStaff": true, "showServiceGroup": true, "staffIdList": [ "0": 298660, "1": 302120 ], "vanity": false }
{ "active": true, "allOrNoneSelect": { "locationGroups": {value: "all", label: "All Location Groups"}, "locations": {value: "all", label: "All Locations"}, "reasonGroups": {value: "all", label: "All Reason Groups"}, "reasons": {value: "all", label: "All Services & Classes"}, "staff": {value: "all", label: "All Staff"} }, "appMode": 1, "appModeIncludes": ["LOCATION", "STAFF", "REASON"], "businessId": 43111, "classScheduleIdList": null, "createdDate": 1550166586055, "createdUser": "JoeSchmo", "domain": "timetap.com", "embedCode": "<iframe src='https://www.timetap.com/embed/biggerthanigly' frameborder='0' width='840' height='500'></iframe>", "groupIdList": [], "handle": "biggerthanigly", "internalName": "Custom booking site for Titus Bigly!", "labelJson": "(JSON text of scheduler link)", "labelMap": null, "locationAPIBeanList": [], "locationGroupAPIBeanList": [], "locationGroupIdList": null, "locationIdList": [], "logoUrl": null, "modifiedDate": null, "modifiedUser": null, "originalHandle": "biggerthanigly", "privateUrl": "https://biggerthanigly.timetap.com", "publish": true, "reasonAPIBeanList": [], "reasonGroupAPIBeanList": [], "reasonGroupIdList": null, "reasonIdList": [], "schedulerLinkId": 89629, "schedulerType": "STAFF", "schedulerVersion": 4, "showServiceGroup": true, "showServiceSuperGroup": true, "skipWelcome": false, "staffAPIBeanList": [{professionalId: 81651, fullName: "Titus Bigly", userName: null, email: null, phone: null,…}], "staffIdList": [81651], "vanity": true, "welcomeText": "(HTML text of welcome message)", "welcomeTextFormatted": {}, "welcomeTitle": "Welcome" }

 


 

Scheduler Link API Responses

[{ "active": true, "appMode": null, "booleanJson": null, "booleanMap": null, "businessId": 43111, "classScheduleIdList": null, "clientSSO": null, "continueShoppingUrl": null, "createdDate": 1535556822353, "createdUser": "JoeSchmo", "defaultOnlyBusinessConfigProps": null, "defaultOnlyBusinessProps": null, "defaultOnlySchedPreferenceProps": null, "domain": "timetap.com", "googleAnalyticsCode": null, "googleTagManagerCode": null, "groupIdList": [], "handle": "s8btm6dnae", "hideFromBots": false, "internalName": "Custom booking site for Class A", "labelJson": null, "labelMap": null, "landingPageStylesJson": null, "locationGroupList": null, "locationIdList": [], "locationList": null, "locationSuperGroupList": null, "logoUrl": null, "miniWebRedirect": null, "modifiedDate": null, "modifiedUser": null, "numberJson": null, "numberMap": null, "privateUrl": "https://s8btm6dnae.timetap.com", "publish": true, "reasonGroupList": null, "reasonIdList": [255178], "reasonSuperGroupList": null, "schedulerLinkExclusions": null, "schedulerLinkId": 36697, "schedulerType": "REASON", "schedulerVersion": 5, "showPrivateGroup": true, "showPrivateLocation": false, "showPrivateReason": false, "showPrivateStaff": null, "showServiceGroup": null, "showServiceSuperGroup": null, "skipWelcome": false, "staffIdList": [], "staffList": null, "styleUrl": null, "vanity": false, "welcomeText": null, "welcomeTitle": null }],
{ "groupsList": [{ "active": true, "allowOnline": true, "businessId": 43111, "groupId": 31289, "groupName": "Coastal Locations", "groupType": "LOCATION", "internalDisplayName": "Coastal Locations", }], "locationAPIBeanList": [{ "active": true, "allowOnline": true, "businessId": 43111, "description": "", "internalDisplayName": "Beach Office", "internalName": "Beach Office", "locationId": 81181, "locationName": "Beach Office", "locationType": "PHYSICAL", }], "reasonAPIBeanList": [{ "active": true, "allowOnline": true, "allowPrePay": false, "allowWaitList": false, "customWorkSchedule": 0, "internalDisplayName": "Surfing for Beginners", "personal": false, "reasonDesc": "Surfing for Beginners", "reasonId": 177850, "taxable": false, "visitMinutes": 60, }], "schedulerLink": { "active": true, "appMode": null, "businessId": 43111, "classScheduleIdList": null, "createdDate": 1540488717347, "createdUser": "MORGANKEARNEY", "domain": "timetap.com", "groupIdList": [31289], "handle": "sv9rfvaek2", "internalName": "Pets plus", "labelJson: "(JSON text of scheduler link)", "labelMap": "(JSON text of labels that have ben altered)", "locationIdList": [81181, 157670], "logoUrl": null, "modifiedDate": 1546619658025, "modifiedUser": "MORGANKEARNEY", "privateUrl: "https://sv9rfvaek2.timetap.com". "publish": true, "reasonIdList": [240127, 255109, 240094, 159330], "schedulerLinkId": 62833, "schedulerType": "LINK", "skipWelcome": false, "staffIdList": [82275, 80891], "vanity": false, "welcomeText": "(Welcome text of scheduler link)", "welcomeTitle": "Welcome to Pets Plus Scheduler" }, "staffAPIBeanList": [] }
{ "active": true, "appMode": null, "booleanJson": null, "booleanMap": null, "businessId": 43111, "classScheduleIdList": null, "clientSSO": null, "continueShoppingUrl": null, "createdDate": 1691440216874, "createdUser": "JoeSchmo", "defaultOnlyBusinessConfigProps": null, "defaultOnlyBusinessProps": null, "defaultOnlySchedPreferenceProps": null, "domain": "timetap.com", "googleAnalyticsCode": null, "googleTagManagerCode": null, "groupIdList": [ "0": 31158, "1": 75774, "2": 36329 ], "handle": "petzzz", "hideFromBots": null, "internalName": "petz", "labelJson": null, "labelMap": null, "landingPageStylesJSON": null, "locationGroupList": null, "locationIdList": [ "0": 81181, "1": 282639 ], "locationList": null, "locationSuperGroupList": null, "logoUrl": null, "miniWebRedirect": null, "modifiedDate": null, "modifiedUser": null, "numberJson": null, "numberMap": null, "privateUrl": "https://petzzz.timetap.com", "publish": true, "reasonGroupList": null, "reasonIdList": [ "0": 240094, "1": 255109, "2": 546559 ], "reasonList": null, "reasonSuperGroupList": null, "schedulerLinkExclusions": null, "schedulerLinkId": 262944, "schedulerType": "LINK", "schedulerVersion": 5, "showPrivateGroup": true, "showPrivateLocation": true, "showPrivateReason": true, "showPrivateStaff": true, "showServiceGroup": true, "showServiceSuperGroup": null, "skipWelcome": false, "staffIdList": [ "0": 298660, "1": 302120 ], "staffList": null, "styleUrl": null, "vanity": true, "welcomeText": null, "welcomeTitle": null }
{ "active": true, "appMode": 1, "businessId": 43111, "classScheduleIdList": null, "createdDate": 1535471045575, "createdUser": "MORGANKEARNEY", "domain": "timetap.com", "groupIdList": [31289, 36239], "handle": "8wruu5dok5", "internalName": "Beach Combers", "labelJson": "(JSON text of scheduler link)", "labelMap": null, "locationIdList": [81181, 157670], "logoUrl": null, "modifiedDate": 1547229165068, "modifiedUser": "MORGANKEARNEY", "privateUrl": "https://8wruu5dok5.timetap.com", "publish": true, "reasonIdList": [240127, 255109, 240094, 159330], "schedulerLinkId": 36235, "schedulerType": "LINK", "skipWelcome": false, "staffIdList": [154514, 80891, 81651], "vanity": false, "welcomeText": "({Welcome text of scheduler link)", "welcomeTitle": "Welcome" }

 


 

Scheduler Link Object Values

Property name

Type

Required

Description

Property name

Type

Required

Description

active

boolean

Yes

Indicates whether or not the specified scheduler link is active.

appMode

integer

Yes

Displays as the appMode of the specified scheduler link - for more info on appMode and a table describing the different values, see the Scheduler Preference API page. If this property is left null, that means that the schedulerLink will pick up the values from the default scheduler on the account.

booleanJson

array

 

Provides an array of various booleans to check any values set there to see if they override any values set on the pref_scheduler object.

booleanMap

array

 

Provides an array of boolean properties for the specified scheduler link. 

businessId

integer

Yes

Provides unique numeric ID for the business the specified scheduler link belongs to.

classScheduleIdList

array

 

Displays as a list of the IDs of any class schedules connected to the specified scheduler link.

clientSSO

boolean

 

Indicates whether or not the specified scheduler link allows for client Single Sign On.

continueShoppingUrl

string

 

Displays what is set as the Button Redirect URL for the specified scheduler link.

createdDate

integer

 

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

createdUser

string

 

Displays the username of user who created the specified scheduler link.

defaultOnlyBusinessConfigProps

array

 

Provides an array of settings set on the business_config table that apply to the default scheduler link.

defaultOnlyBusinessProps

array

 

Provides an array of settings set on the business table that apply to the default scheduler link.

defaultOnlySchedPreferenceProps

array

 

Provides an array of settings set on the pref_scheduler table that apply to the default scheduler link.

domain

string

Yes

Displays as the domain of the specified scheduler link. For the purposes of TimeTap, this will be set to "timetap.com".

googleAnalyticsCode

string

 

Displays as the Google Analytics code for the specified scheduler link.

googleTagManagerCode

string

 

Displays as the Google Tag Manager code for the specified scheduler link.

groupIdList

array

 

Displays as a list of the IDs of any groups connected to the specified scheduler link.

handle

string

Yes

Displays as the what is set as the webhandle of the specified scheduler link. If nothing is set here, TimeTap will generate a unique alphanumeric string to fill it.

hideFromBots

boolean

 

Indicates whether or not the specified scheduler will be hidden from bots.

internalName

string

 

Displays as what is set as the Internal Name of the specified scheduler link upon its creation.

labelJson

string

 

Displays as a string representation of the JSON object describing the the labels used for the specified scheduler link.

labelMap

object

 

Should mimic the properties and values stored on labelJson, just using object representation instead of a string.

landingPageStylesJson

array

 

Displays all changes that have been made to the default booking site's styles on the specified scheduler link.

locationGroupList

string

 

Displays as a list of the names of any location groups that are set to show on the specified scheduler link.

locationIdList

array

 

Displays as a list of the IDs of any locations that are set to show on the specified scheduler link.

locationList

string

 

Displays as a list of the names of any locations that are set to show on the specified scheduler link.

locationSuperGroupList

sting

 

Displays as a list of the names of any location super groups that are set to show on the specified scheduler link.

logoUrl

string

 

if this property is left null, that means that the schedulerLink will pick up the values from the default scheduler on the account. 

miniWebRedirect

string

 

 

modifiedDate

integer

 

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

modifiedUser

string

 

Displays the username of user who last modified the specified scheduler link.

numberJson

string

 

Displays as a property on the scheduler_link table where you can set overrides for several of the number based properties on the pref_scheduler table.

numberMap

string

 

Displays as a readable object that is equivalent to the numberJson property.

privateUrl

string

 

Displays as the URL of the specified scheduler link as set on the Webhandle - gets formed by combining the domain and handle of the specified scheduler link.

publish

boolean

Yes

Indicates whether or not the box signifying Publish Booking Site is checked - acts as a way to temporarily disable the schedulerLink from being active to clients without deleting it entirely.

reasonGroupList

string

 

Displays as a list of the names of any reason groups that are set to show on the specified scheduler link.

reasonIdList

array

 

Displays as a list of the IDs of any reasons that are set to show on the specified scheduler link.

reasonList

string

 

Displays as a list of usernames of any reasons that are set to show on the specified scheduler link.

reasonSuperGroupList

string

 

Displays as a list of the names of any reason super groups that are set to show on the specified scheduler link.

schedulerLinkExclusions

array

 

 

schedulerLinkId

integer

Yes, on PUT calls

Provides unique numeric ID of the specified scheduler link.

schedulerType

string

Yes

Displays as the scheduler type of the specified scheduler link - this property will be set to LINK if you are creating a scheduler link object by choosing to "Add New Booking Site" on the TimeTap website under Custom Booking Sites. It could also be set to LOCATION, LOCATION_GROUP, STAFF, REASON, or REASON_GROUP if you are creating the scheduler link from a specific object profile of the corresponding object type.

schedulerVersion

integer

 

Displays the version of the scheduler used by the specified scheduler link - the newer scheduler is version 5, but a few older accounts still use version 4.

showPrivateGroup

boolean

 

Indicates whether or not the specified scheduler link is set to show private location groups and reason groups in its scheduler flow.

showPrivateLocation

boolean

 

Indicates whether or not the specified scheduler link is set to show private locations in its scheduler flow.

showPrivateReason

boolean

 

Indicates whether or not the specified scheduler link is set to show private services and classes in its scheduler flow.

showPrivateStaff

boolean

 

Indicates whether or not the specified scheduler link is set to show private staff in its scheduler flow.

showServiceGroup

boolean

 

Indicates whether or not the specified scheduler link is set to show reason super groups in its scheduler flow.

showServiceSuperGroup

boolean

 

Indicates whether or not the specified scheduler link is set to show reason groups in its scheduler flow.

skipWelcome

boolean

 

Indicates whether or not the specified scheduler link is set to skip the welcome page - if this property is left null, that means that the schedulerLink will pick up the values from the default scheduler on the account. 

staffIdList

integer

 

Displays as a list of the IDs of any staff that are connected to the specified scheduler link.

staffList

array

 

Displays as a list of usernames of any staff that are set to show on the specified scheduler link.

styleUrl

integer

 

Optional stylesheet url that can be applied to header of scheduler to override default styles; must be set as an HTTPS URL.

vanity

boolean

Yes

Indicates whether or not you chose to set your own individual handle - if you do not, TimeTap will generate a unique alphanumeric code automatically.

welcomeText

string

 

Displays as what is set as the Welcome Text under Customizations in the specified scheduler link's profile - if this property is left null, that means that the schedulerLink will pick up the values from the default scheduler on the account.

welcomeTitle

string

 

Displays as what is set as the Welcome Title under Customizations in the specified scheduler link's profile - if this property is left null, that means that the schedulerLink will pick up the values from the default scheduler on the account.