Scheduler Field

The Scheduler Fields API is used to access, create, and modify the fields that appear on your business' scheduler. The fields are used to get and store information about the clients, appointments, and classes.

To delete a scheduler field, make a PUT /schedulerField call to edit that field and change the active boolean property to false.

On this page




Scheduler Fields API Endpoints

These are the endpoints that are available under the /schedulerField path, which shows any fields you have set up for your business account.

Endpoint

Description

GET /schedulerFieldList

Returns all schedulerFields objects on an account in array format.

GET /schedulerFieldList/reason/{reasonId}Returns all schedulerFields objects for specified reason in array format.
GET /schedulerFieldList/mode/{mode}

Returns all schedulerFields objects for specified mode in array format.

Accepted mode types: APPT, CLIENT, CLASS.

GET /schedulerField/{schedulerPreferenceFieldDefnId}Returns a JSON object for specified scheduler field.
POST /schedulerField

Creates a new schedulerFields object on an account.

Request body/payload: Pass a schedulerFields object with the schedulerPreferenceFieldDefnId included.

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

PUT /schedulerField

Updates an existing scheduler fields object.

Request body/payload: Pass a schedulerFields object with all required objects defined.

For these calls, you need to pass a schedulerFields 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 schedulerFields object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.




Scheduler Fields Parameters

There are no parameters included with schedulerFields calls.




Scheduler Fields API Response Body/Payloads

POST /schedulerField
{
    "active": true,
    "code": "UDF",
    "dataType": "LIST",
    "depAction": null,
    "depCondition": null,
    "depError": null,
    "depFieldDefnId": null,
    "depFields": [],
    "depSetValue": null,
    "depType": null,
    "depValue": null,
    "fieldValues": "Yes - we can leave our friends behind\nNo dancing allowed!",
    "filterByService": false,
    "label": "Can we dance if we want to?",
    "mode": "CLIENT",
    "required": false,
    "saving": true,
    "serviceIds": null,
    "sortOrder": 36,
    "userDefinedField": true,
    "visible": true,
    "visibleOnScheduler": true
}
PUT /schedulerFfield
{
    "active": true,
    "allowClientEdit": true,
    "basicTagName": null,
    "businessId": 43111,
    "code": "UDF",
    "createdDate": 1567092746000,
    "createdUser": "JoeSchmo",
    "dataType": "LIST_CHKBOX",
    "defaultNullValue": null,
    "defaultValue": null,
    "depAction": null,
    "depCondition": null,
    "depError": null,
    "depFieldDefnId": null,
    "depFields": [],
    "depSetValue": null,
    "depType": null,
    "depValue": null,
    "errorMessage": null,
    "extendedValue": null,
    "fieldValues": "Beer\nWine\nSoda\nJuice\nWater",
    "filterByService": false,
    "hint": null,
    "internalDisplayName": "What kind of drink would you like?",
    "internalLabel": null,
    "label": "What kind of drink would you like?",
    "labelTag": "%CUSTOM_FIELD_794375_LABEL%",
    "mask": null,
    "mode": "APPT",
    "modifiedDate": 1567092746000,
    "modifiedUser": "JoeSchmo",
    "oldFieldIds": null,
    "required": false,
    "requiredJSON": null,
    "saving": true,
    "schedulerPreferenceFieldDefnId": 794375,
    "serviceIds": null,
    "sortOrder": 27,
    "styleJSON": null,
    "tagName": null,
    "userDefinedField": true,
    "validationError": null,
    "validationRegex": null,
    "value": null,
    "valueList": null,
    "valueMap": null,
    "valueTag": "%CUSTOM_FIELD_794375%",
    "visible": true,
    "visibleOnScheduler": true
}




Scheduler Fields API Responses


GET /schedulerFieldList
[{
    "active": true,
    "allowClientToEdit": true,
    "basicTagName": "CLIENT_FIRSTNAME",
    "businessId": 43111
    "code": "spouseName",
    "createdDate": 1522268785000,
    "createdUser": "JoeSchmo",
    "dataType": "TXT",
    "defaultNullValue": null,
    "defaultValue": null,
    "depAction": null,
    "depCondition": null,
    "depError": null,
    "depFieldDefnId": null,
    "depSetValue": null,
    "depType": null,
    "depValue": null,
    "errorMessage": null,
    "extendedValue": null,
    "fieldValues": null,
    "filterByService": false,
    "hint": null,
    "internalDisplayName": "First Name",
    "internalLabel": null,
    "label": "Spouse",
    "labelTag": "%CLIENT_SPOUSE_LABEL%",
    "mask": null,
    "mode": "CLIENT",
    "modifiedDate": 1522268785000,
    "modifiedUser": "JoeSchmo",
    "oldFieldIds": null,
    "required": true,
    "requiredJSON": null,
    "schedulerPreferenceFieldDefnId": 322534,
    "services": null,
    "sortOrder": 1,
    "styleJSON": null,
    "tagName": "CLIENT_FIRSTNAME",
    "userDefinedField": false,
    "validationError": null,
    "validationRegex": null,
    "value": null,
    "valueList": null,
    "valueMap": null,
    "valueTag": "%CLIENT_SPOUSE%",
    "visible": false,
    "visibleOnScheduler": false
}]
GET /schedulerFieldList/reason/{reasonId}
[{
    "active": true,
    "allowClientEdit": true,
    "basicTagname": "CLIENT_MOBILE_PHONE%,
    "businessId": 43111
    "code": "cellPhone",
    "createdDate": 1522268785000,
    "createdUser": "JoeSchmo",
    "dataType": "TXT",
    "defaultNullValue": null,
    "defaultValue": null,
    "depAction": null,
    "depCondition": null,
    "depError": null,
    "depFieldDefnId": null,
    "depSetValue": null,
    "depType": null,
    "depValue": null,
    "errorMessage": null,
    "extendedValue": null,
    "fieldValues": null,
    "filterByService": false,
    "hint": null,
    "internalDisplayName": "Cell Phone",
    "internalLabel": null,
    "label": "Cell Phone",
    "labelTag": "%CLIENT_MOBILE_PHONE_LABEL%",
    "mask": null,
    "mode": "CLIENT",
    "modifiedDate": 1522268785000,
    "modifiedUser": "JoeSchmo",
    "oldFieldIds": null,
    "required": false,
    "requiredJSON": null,
    "schedulerPreferenceFieldDefnId": 322523,
    "serviceIds": null,
    "sortOrder": 12,
    "styleJSON": null,
    "tagName": "CLIENT_MOBILE_PHONE",
    "userDefinedField": false,
    "validationError": null,
    "validationRegex": null,
    "value": null,
    "valueList": null,
    "valueMap": null,
    "valueTag": "%CLIENT_MOBILE_PHONE%",
    "visible": true,
    "visibleOnScheduler": false
}]
GET /schedulerFieldList/mode/{mode}
[{
    "active": true,
    "allowClientEdit": true,
    "basicTagName": %CLIENT_FIRSTNAME%,
    "businessId": 43111
    "code": "firstName",
    "createdDate": 1522268785000,
    "createdUser": "JoeSchmo",
    "dataType": "TXT",
    "defaultNullValue": null,
    "defaultValue": "Given",
    "depAction": null,
    "depCondition": null,
    "depError": null,
    "depFieldDefnId": null,
    "depSetValue": null,
    "depType": null,
    "depValue": null,
    "errorMessage": null,
    "extendedValue": null,
    "fieldValues": null,
    "filterByService": false,
    "hint": "What are you called?",
    "internalDisplayName": "Given Name",
    "internalLabel": "Given Name",
    "label": "First Name",
    "labelTag": "%CLIENT_FIRSTNAME_LABEL%",
    "mask": null,
    "mode": "CLIENT",
    "modifiedDate": 1522268785000,
    "modifiedUser": "JoeSchmo",
    "oldFieldIds": null,
    "required": true,
    "requiredJSON": null,
    "schedulerPreferenceFieldDefnId": 322523,
    "serviceIds": null,
    "sortOrder": 12,
    "styleJSON": null,
    "tagName": "CLIENT_FIRSTNAME",
    "userDefinedField": false,
    "validationError": null,
    "validationRegex": null,
    "value": null,
    "valueList": null,
    "valueMap": null,
    "valueTag": "%CLIENT_FIRSTNAME%",
    "visible": true,
    "visibleOnScheduler": false
}]
GET /schedulerField/{schedulerPreferenceFieldDefnId}
{
    "active": true,
    "allowClientEdit": true, 
    "basicTagName": null,
    "businessId": 43111,
    "code": "UDF",
    "createdDate": 1528818398000,
    "createdUser": "JoeSchmo",
    "dataType": "LIST",
    "defaultNullValue": null,
    "defaultValue": "0",
    "depAction": null,
    "depCondition": null,
    "depError": null,
    "depFieldDefnId": null,
    "depSetValue": null,
    "depType": null,
    "depValue": null,
    "errorMessage": null,
    "extendedValue": null,
    "fieldValues": "Yes - we can leave our friends behind/nNo dancing allowed!",
    "filterByService": false,
    "hint": null,
    "internalDisplayName": "Can we dance if we want to?",
    "internalLabel": null,
    "label": "Can we dance if we want to?",
    "labelTag": "%CUSTOM_FIELD_375724_LABEL%",
    "mask": null,
    "mode": "CLIENT",
    "modifiedDate": 1528818398000,
    "modifiedUser": "JoeSchmo",
    "oldFieldIds": null,
    "required": true,
    "requiredJSON": null,
    "schedulerPreferenceFieldDefnId": 375724,
    "serviceIds": null,
    "sortOrder": 36,
    "styleJSON": null,
    "tagName": null,
    "userDefinedField": true,
    "validationError": null,
    "validationRegex": null,
    "value": null,
    "valueList": null,
    "valueMap": null,
    "valueTag": "%CUSTOM_FIELD_375724%",
    "visible": true,
    "visibleOnScheduler": true
}
POST /schedulerField
{
    "active": true,
    "allowClientEdit": true,
    "basicTagName": null,
    "businessId": 43111,
    "code": "UDF",
    "createdDate": 1535048100252,
    "createdUser": "JoeSchmo",
    "dataType": "LIST",
    "defaultNullValue": null,
    "defaultValue": null,
    "depAction": null,
    "depCondition": null,
    "depError": null,
    "depFieldDefnId": null,
    "depSetValue": null,
    "depType": null,
    "depValue": null,
    "errorMessage": null,
    "extendedValue": null,
    "fieldValues": "Yes - we can leave our friends behind/nNo dancing allowed!",
    "filterByService": false,
    "hint": null,
    "label": "Can we dance if we want to?",
    "labelTag": "%CUSTOM_FIELD_1520301_LABEL%",
    "mask": null,
    "mode": "CLIENT",
    "modifiedDate": 1535048100252,
    "modifiedUser": "JoeSchmo",
    "oldFieldIds": null,
    "required": false,
    "requiredJSON": null,
    "schedulerPreferenceFieldDefnId": 1520301,
    "serviceIds": null,
    "sortOrder": 36,
    "styleJSON": null,
    "tagName": null,
    "userDefinedField": true,
    "validationError": null,
    "validationRegex": null,
    "value": null,
    "valueList": null,
    "valueMap": null,
    "valueTag": "%CUSTOM_FIELD_443717%",
    "visible": true,
    "visibleOnScheduler": false
}
PUT /schedulerField
{
    "active": true,
    "allowClientEdit": true,
    "basicTagName": null,
    "businessId": 43111,
    "code": "UDF",
    "createdDate": 1528819443000,
    "createdUser": "JoeSchmo",
    "dataType": "DATE",
    "defaultNullValue": null,
    "defaultValue": null,
    "depAction": null,
    "depCondition": null,
    "depError": null,
    "depFieldDefnId": null,
    "depSetValue": null,
    "depType": null,
    "depValue": null,
    "errorMessage": null,
    "extendedValue": null,
    "fieldValues": null,
    "filterByService": false,
    "hint": "Please enter the date of the next-to-last class you plan on offering.",
    "internalDisplayName": "When is your next-to-last class?",
    "internalLabel": null,
    "label": "Date of penultimate class",
    "labelTag": "%CUSTOM_FIELD_375737_LABEL%",
    "mask": null,
    "mode": "CLASS",
    "modifiedDate": 153002161438,
    "modifiedUser": "JoeSchmo",
    "oldFieldIds": null,
    "required": false,
    "requiredJSON": null,
    "schedulerPreferenceFieldDefnId": 375737,
    "serviceIds": null,
    "sortOrder": 2,
    "styleJSON": null,
    "tagName": null,
    "userDefinedField": true,
    "validationError": null,
    "validationRegex": null,
    "value": null,
    "valueList": null,
    "valueMap": null,
    "valueTag": "%CUSTOM_FIELD_375737%",
    "visible": true,
    "visibleOnScheduler": false
}




Scheduler Fields Object Values

For a description of how the conditional properties (generally those properties that begin with "dep") interact, see the documentation on the Scheduler Field Dependent Properties child page.

Property nameTypeRequiredDescription
activebooleanYesIndicates whether or not the specified scheduler field should return following a GET call.
allowClientEditbooleanYesIndicates whether or not client can edit the specified scheduler field.
basicTagNamestringYesDisplays as the email tag that populates the value of the specified scheduler field.
businessIdintegerYesProvides unique numeric ID of the business to which the specified scheduler field belongs.
codestring
All fields TimeTap provides at the point of account creation have a unique code representative of that field; if the specified scheduler field was added by the user to the account, the code would be UDF, which stands for User Defined Field.
createdDateinteger
Displays as date the specified scheduler field was created in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
createdUserstring
Displays as username of user who created the specified scheduler field. 
dataTypestringYesProvides the type of data needed in responses to the specified scheduler field. Has acceptable values "TXT", "DATE", "CHKBOX", "LIST", "AREA", "LIST_CHKBOX", and "FILEUPLOAD".
defaultNullValuestring
Displays as the default value that shows for the specified scheduler field when it has a value of null.
defaultValuestring
Displays as default value that has been set for the specified scheduler field.
depAction

string


For conditional fields, provides the action that is taken if the dependent condition is met.
depConditionstring
For conditional fields, provides the condition that must be met.
depErrorstring
For conditional fields, provides the error message that displays if the dependent condition is not met.
depFieldDefnIdinteger
For conditional fields, provides the schedulerFieldDefnId of the field with which the specified scheduler field interacts.
depSetValuestring
For conditional fields, provides the setting of the dependent value.
depTypestring
For conditional fields, provides the type of dependent condition that must be met.
depValuestring
For conditional fields, provides the value required to meet the dependent condition.
errorMessagestring
Displays as the message that appears when an incorrect value is submitted for the specified scheduler field.
extendedValuestring
Will fill in when field is used on a Client profile, Appointment detail, or Class (depending on mode) depending on the dataType of the specified scheduler field. If dataType is anything but "FILEUPLOAD", it will fill in with the value directly; if it is a "FILEUPLOAD" dataType, this will provide the link to the file to download.
fieldValuesstring
Provides the different responses that are possible for the specified scheduler field. Only applicable to "LIST" and "LIST_CHKBOX" dataTypes.
filterByServiceboolean
Indicates whether or not the specified scheduler field can be filtered by service. Only applicable if the mode property is equal to APPT or CLASS.
hintstring
Displays as the text to be shown below the specified scheduler field.
internalDisplayNamestring
Displays as the contents of the Internal Label for the specified scheduler field if it has one, otherwise displays as the contents of its Field Label.
internalLabelstring
Displays as the contents of the Internal Label for the specified scheduler field.
labelstringYesDisplays as the text appearing adjacent to the specified scheduler field. 
labelTagstringYesProvides a tag to display the specified scheduler field's label text. Generally takes the form "tagName + _LABEL" wrapped in % signs. Can be used with email templates.
maskstring
Displays as format required for the specified scheduler field. Example: (###) ###-####.
modestring
Provides the mode of the service attached to the specified scheduler field. Used for back office. Available values include "CLIENT", "COURSE", "APPT", and "CLASS".
modifiedDateinteger
Displays as date that the specified scheduler field was last updated in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
modifiedUserstring
Displays as username of user who last updated the specified scheduler field.
oldFieldIds


requiredbooleanYes

Indicates whether or not the specified scheduler field requires a response. 

requiredJSONstring

schedulerPreferenceFieldDefnIdintegerYes, on PUT callsProvides unique numeric ID for the specified scheduler field.
serviceIdsarray
If the specified scheduler field is of mode "APPT" and filterByService is true, then can fill in with list of reasonIds that the fields would be assigned to. When clients book appointments for the reasonIds contained in this list, they will be prompted to fill in these fields.
sortOrderinteger
Displays the order in which the specified scheduler field appears in the list of scheduler fields.
styleJSONstring

tagNamestring
Provides the base tagName for the fields label and value of the specified scheduler field. If you want to display the field's value in an email, you would wrap the tagName in % signs; if you want to display the field's label in an email you would add _LABEL at the end of the tagName and wrap in % signs.
userDefinedFieldboolean
Indicates whether or not the specified scheduler field was created by a user.
validationErrorstring
If value entered fails to meet the conditions of the RegEx expression entered in the the validationRegex field, this error message will show to the client on the scheduler.
validationRegexstring
Provides a space to add a RegEx expression to validate the value put into the specified scheduler field against.
valuestring
Displays the value associated with the specified scheduler field when it is input to the Client Profile, Appointment Detail, or Class Session.
valueListstring
Displays as a list of all values for the specified scheduler field.
valueMapstring

valueTagstring
The valueTag can be put into emails and messages as a merge field to display the value that was put into the value property of the specified scheduler field. Generally takes the form of the tagName wrapped in % signs.
visiblebooleanYesIndicates whether or not the specified scheduler field is set to show at all. Unlike the visibleOnScheduler property, if visible is set to false, the field will not show to staff if they are on the Client Profile, Appointment Detail, or Class Session screens. 
visibleOnSchedulerbooleanYesIndicates whether or not the specified scheduler field is set to show to clients as they are booking on your scheduler. If set to false, field will only be visible to staff on the back office.