Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
topOfPage
topOfPage
The Locations API is used to access, create, and modify any locations on your business' account. The Locations API is connected to the Staff and Services APIs, as staff and services can be optionally filtered depending on which location is chosen for an appointment. Since locations are necessary for creating appointments, as well as setting up both class schedules and service availability, it is crucial for you to familiarize yourself with how to get, create, and update the different locations on your account.

Locations are made accessible to all staff members on a business's account, but staff members will only be able to create appointments at locations to which they are assigned working hours unless they are an admin.


Info
titleOn this page

Table of Contents





Locations API Endpoints


These are the endpoints that are available under the /locations path, which lists all the different locations you have added to your business for scheduling purposes.

Endpoint

Description

GET /locations

Returns all location objects on an account in array format. 

GET /locations/{locationId}

Returns a JSON object for specified location.

GET /locations/countReturns an object that contains a count of the total number of locations that match the parameters passed with the call. 
GET /locationList/countReturns an object that contains a list of all locations along with a count of the total number of locations that match the parameters passed with the call. 
GET /locationList/reportReturns an object that contains a list of locations that match the parameters passed with the call.
GET /locationList/reportCountReturns a count object that provides the number of locations that match the parameters passed with the call.
GET /locationIdListReturns an object that contains list of the location IDs for the locations that match the parameters passed with the call.
POST /locations

Creates a new location object on an account.

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

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

Returns a list of objects that match the searchTerm parameter that gets sent with the API call.

Request body/payload: Must pass a list of parameters that will return the desired location(s).

PUT /locations/{locationId}

Updates an existing location object. All properties can be overwritten except createdDate, businessId, privateUrl, and locationId.

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

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

DELETE /locations/{locationId}Removes a location object from view by setting its active property to false.





Locations API Parameters

Data points passed on in the request URL portion of the API call that are used to filter the data being requested. 

ParameterTypeEndpoints to be used withDescription
assignAllStaffToLocationbooleanPOST /locationsIndicates whether or not you want to assign all of your staff to the location you are creating.
dateRangeTypestringPOST /locationList/reportWithCount, GET /locationList/report, GET /locationList/reportCount, GET /locationIdListShould be set as the object that determines the start and end date of the date range. Acceptable values include createdDate and modifiedDate.
endDatestringPOST /locationList/reportWithCount, GET /locationList/report, GET /locationList/reportCount, GET /locationIdListShould be set as the end date of appointments to be returned following the API call, formatted as YYYY-MM-DD. 
inactivebooleanGET /locations/count
locationGroupIdintegerGET /locationsShould be set as the unique numeric ID of any location groups that include the locations you want returned following the GET call.
locationGroupIdListinteger arrayPOST /locationList/reportWithCount, GET /locationList/report, GET /locationList/reportCount, GET /locationIdListShould be set as a comma-separated list of locationGroupIds connected to the locations to be returned following the API call.
locationIdListinteger arrayPOST /locationList/reportWithCount, GET /locationList/report, GET /locationList/reportCount, GET /locationIdListShould be set as a comma-separated list of locationIds of the locations to be returned following the API call.
locationIdListToExcludeinteger arrayPOST /locationList/reportWithCount, GET /locationList/report, GET /locationList/reportCount, GET /locationIdListShould be set as a comma-separated list of locationIds of the locations to be excluded from the data that returns following the API call.
locationTypeListstring arrayPOST /locationList/reportWithCount, GET /locationList/report, GET /locationList/reportCount, GET /locationIdListShould be set as a comma-separated list of locationTypes of the locations to be returned following the API call.
pageNumberintegerGET /locations, GET /locationList/report, POST /locationList/reportWithCountWorks with the pageSize parameter to determine how data gets returned following a GET call. The pageNumber value represents the number of pages on which the class sessions that get returned appear.
pageSizeintegerGET /locations, GET /locationList/report, POST /locationList/reportWithCountWorks with the pageNumber parameter to determine how data gets returned following a GET call. The pageSize value represents the number of class sessions appearing on each page of class sessions that gets returned.
searchTermstringPOST /locationList/reportWithCountShould be set as the text entered into the search bar on the location list view.
staffIdintegerGET /locationsShould be set as the unique numeric ID of a staff person that works at locations you want returned following the GET call.
staffIdListinteger arrayPOST /locationList/reportWithCount, GET /locationList/report, GET /locationList/reportCount, GET /locationIdList, POST /locationsShould be set as a comma-separated list of staffIds connected to the locations to be returned following the API call.
startDatestringPOST /locationList/reportWithCount, GET /locationList/report, GET /locationList/reportCount, GET /locationIdListShould be set as the start date of appointments to be returned following the API call, formatted as YYYY-MM-DD. 
workingbooleanGET /locations, GET /locationList/reportCount, GET /locationIdList, GET /locationList/report, POST /locationList/reportWithCountReturns only those locations that have working hours set up.





Locations API Request Body/Payloads


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

Code Block
languagejs
titlePOST /locations
linenumberstrue
collapsetrue
{
    "active": true,
    "address": "",
    "businessId": "43111",
    "description": "123 West blvd",
    "directions": "<p>Hang a left at the Cracker Jack</p>",
    "emailAddress": "roadhaus@email.com",
    "locationName": "The Roadhouse",
    "locationType": "PHYSICAL",
    "officePhone": "555 123 4567",
    "timeZone": {Timezone object for timezone of location - for more info, see Timezones API page}
}


Code Block
languagejs
titlePOST /locationList/reportWithCount
linenumberstrue
collapsetrue
{
    "dateRangeType": "createdDate",
    "locationTypeList": ["PHYSICAL"],
    "pageNumber": 1,
    "pageSize": 25,
    "searchTerm": "office",
    "statusList": ["ACTIVE"]
}


Code Block
languagejs
titlePUT /locations{locationId}
linenumberstrue
collapsetrue
{
    "active": true,
    "address1": "Back Beach Road",
    "address2": null,
    "allowOnline": true,
    "allowTZChange": null,
    "businessId": 43111,
    "city": "Panama City Beach",
    "contactName": null,
    "country": "United States",
    "createdDate": 1523975908774,
    "createdUser": null,
    "description": "1234 Back Beach Rd, Panama City Beach, FL",
    "directions": null,
    "einNumber": null,
    "emailAddress": "noreply@email.com",
    "embedCode": "<iframe src='https://www.timetap.com/pembed/zzmNCEEytQ' frameborder='0' width='840' height='500'> </iframe>",
    "endDate": null,
    "externalLocationId": null,
    "geocode": "[{\"addressComponents\":[{\"longName\":\"Back Beach Road\",\"shortName\":\"Back Beach Rd\",\"types\":[\"ROUTE\"]},{\"longName\":\"Panama City Beach\",\"shortName\":\"Panama City Beach\",\"types\":[\"LOCALITY\",\"POLITICAL\"]},{\"longName\":\"Bay County\",\"shortName\":\"Bay County\",\"types\":[\"ADMINISTRATIVE_AREA_LEVEL_2\",\"POLITICAL\"]},{\"longName\":\"Florida\",\"shortName\":\"FL\",\"types\":[\"ADMINISTRATIVE_AREA_LEVEL_1\",\"POLITICAL\"]},{\"longName\":\"United States\",\"shortName\":\"US\",\"types\":[\"COUNTRY\",\"POLITICAL\"]}],\"formattedAddress\":\"Back Beach Rd, Panama City Beach, FL, USA\",\"geometry\":{\"bounds\":{\"northeast\":{\"lat\":30.26166000000002,\"lng\":-85.7867266},\"southwest\":{\"lat\":30.18943689999997,\"lng\":-85.957977}},\"location\":{\"lat\":30.2250683,\"lng\":-85.8727905},\"locationType\":\"GEOMETRIC_CENTER\",\"viewport\":{\"northeast\":{\"lat\":30.26166000000002,\"lng\":-85.7867266},\"southwest\":{\"lat\":30.18943689999997,\"lng\":-85.957977}}},\"types\":[\"ROUTE\"],\"partialMatch\":false,\"placeId\":\"EilCYWNrIEJlYWNoIFJkLCBQYW5hbWEgQ2l0eSBCZWFjaCwgRkwsIFVTQSIuKiwKFAoSCUfvBgg1jJOIERC4sQRp-on4EhQKEgmVhTrHaoyTiBEsxQw92LEh0g\"}]",
    "hasBookingCutOffDates": false,
    "hasWorkScheduleOrClass": null,
    "inboundBuffer": null,
    "instructions2": null,
    "instructions3": null,
    "instructions4": null,
    "instructions5": null,
    "internalDisplayName": "Beaches",
    "internalName": "Beaches",
    "latitude": 30.225069046020508,
    "locationCategory": null,
    "locationId": 81181,
    "locationName": "Beach Office",
    "locationType": "PHYSICAL",
    "logoUrl": null,
    "longitude": -85.87278747558594,
    "modifiedDate": 1684867524653,
    "modifiedUser": "JoeSchmo",
    "officePhone": "555-123-4567",
    "outboundBuffer": null,
    "privateUrl": "https://www.timetap.com/appts/zzmNCEEytQ",
    "sortWeight": null,
    "startDate": null,
    "state": "Florida",
    "status": "ACTIVE",
    "tax1Rate": null,
    "timeZone": {Timezone object for timezone of location - for more info, see Timezones API page},
    "virtualRoomId": null,
    "virtualRoomUrl": null,
    "virtualType": null,
    "visible": true,
    "zip": null
}





Locations API Responses


Code Block
languagejs
titleGET /locations
linenumberstrue
collapsetrue
[{
    “active”: true,
    "address1": null,
    "address2": null,
    "allowOnline": true,
    "allowTZChange": 1,
    "businessId": 43111,
    "city": null,
    "contactName": "Titus Bigly",
    "country": null,
    "createdDate": 1501607570000,
    "createdUser": "API",
    “description”: "Bring your pets here to make them sparkle!",
    “directions”: "<p>Log in and add a pet profile</p>",,
    "einNumber": null,
    "emailAddress": "groomer@email.com",
    "embedCode": "<iframe src='https://www.timetap.com/pembed/zzmNCJ7B6CQ' frameborder='0' width='840' height='500'> </iframe>",
    "endDate": null,
    "externalLocationId": null,
    "geocode": null,
    "hasWorkScheduleOrClass": null,
    "inboundBuffer": null,
    "instructions2": "<p>Only online!</p>",
    "instructions3": null,
    "instructions4": null,
    "instructions5": null,
    "internalDisplayName": "Sparkles",
    "internalName": "Sparkles",
    "latitude": null,
    "locationCategory": null,
    "locationId": 157670,
    "locationName": "Sparkle Row",
    "locationType": "VIRTUAL",
    "logoUrl": null,
    "longitude": null,
    "modifiedDate": 1643911062373,
    "modifiedUser": "API",
    "officePhone": "5551234321",
    "outboundBuffer": null,
    "privateUrl": "https://www.timetap.com/appts/zzmNCJ7B6CQ",
    "sortWeight": 0,
    "startDate": null,
    "state": null,
    "status": "ACTIVE",
    "tax1rate": null,
    "timeZone": null,
    "virtualRoomId": "%FAKE%",
    "virtualRoomUrl" "https://fakeurl.com",
    "virtualType": "OTHER",
    "visible": true,
    "zip": null
}]


Code Block
languagejs
titleGET /locations/{locationId}
linenumberstrue
collapsetrue
{   
    “active”: true,
    “allowOnline”: true,
    “allowTZChange”: null,
    “businessId”: 13245,
    “createdDate”: 1501607570000,
    “description”: "123 Main Street Everywhere, NC 22222",
    “directions”: null,
    “emailAddress”: "janedoe@noemail.com",
    “embedCode: "<iframe src='https://www.timetap.com/pembed/gzvwUZQdH2' frameborder='0' width='840' height='500'> </iframe>",
    “geocode”: "https://www.timetap.com/appts/gzvwUZQdH2“,
    “hasWorkScheduleOrClass”: null,
    “inboundBuffer”: null,
    “internalDisplayName”: "Main Office Location",
    “internalName”: null,
    “locationId”: 12345,
    “locationName”: "My Office 1",
    “locationType”: “PHYSICAL”,
    “logoUrl”: null,
    “officePhone”: "888-888-8888",
    “outboundBuffer”: null,
    “privateUrl”: “http://www.timetap.com/appts/yGmkTKrXtR”,
    "sortWeight": 0,
    "timeZone": {Timezone object for timezone of location-see timezones API page}
}


Code Block
languagejs
titleGET /locationList/reportCount
linenumberstrue
collapsetrue
{
    "count": 10,
    "locations": [{
        “active": true,
        "address1": "Back Beach Road",
        "address2": null,
        "allowOnline": true,
        "allowTZChange": null,
        "businessId": 43111,
        "city": "Panama City Beach",
        "contactName": null,
        "country": "United States",
        "createdDate": 1523975908774,
        "createdUser": null,
        "description": "1234 Back Beach Rd, Panama City Beach, FL",
        "directions": null,
        "einNumber": null,
        "emailAddress": "noreply@timetap.com",
        "embedCode": null,
        "endDate": null,
        "externalLocationId": null,
        "geocode": null,
        "hasWorkScheduleOrClass": null,
        "inboundBuffer": 0,
        "instructions2": null,
        "instructions3": null,
        "instructions4": null,
        "instructions5": null,
        "internalDisplayName": "Beaches",
        "internalName": "Beaches",
        "latitude": null,
        "locationCategory": null,
        "locationId": 81181,
        "locationName": "Beach Office",
        "locationType": "PHYSICAL",
        "logoUrl": null,
        "longitude": null,
        "modifiedDate": 1684867559252,
        "modifiedUser": "JoeSchmo",
        "officePhone": null,
        "outboundBuffer": 0,
        "privateUrl": null,
        "sortWeight": null,
        "startDate": null,
        "state": "Florida",
        "status": "ACTIVE",
        "tax1Rate": null,
        "timeZone": {Timezone object for timezone of location - for more info, see Timezones API page},
        "virtualRoomId": null,
        "virtualRoomUrl": null,
        "virtualType": null,
        "visible": true,
        "zip": null
}],
    "count": 6}


Code Block
languagejs
titleGET /locationList/report
linenumberstrue
collapsetrue
[{
    “active”: true,
    “allowOnline”: true,
    “allowTZChange”: 1,
    “businessId”: 43111,
    “createdDate”: 1501607570000,
    "createdUser": "MORGANKEARNEY"
    “description”: "Bring your pets here to make them sparkle!",
    “directions”: "<p>Log in and add a pet profile</p>",,
    "emailAddress": "groomer@email.com",
    "embedCode": "<iframe src='https://www.timetap.com/pembed/zzmNCJ7B6CQ' frameborder='0' width='840' height='500'> </iframe>",
    "geocode": null,
    “hasWorkScheduleOrClass”: null,
    “inboundBuffer”: null,
    "instructions2": "<p>Only online!</p>",
    “internalDisplayName”: "Sparkle Row",
    “internalName”: null,
    "locationId": 157670,
    "locationName": "Sparkle Row",
    "locationType": "VIRTUAL",
    “logoUrl”: null,
    "modifiedDate": 1643911062373
    “officePhone”: "5551234321",
    “outboundBuffer”: null,
    "privateUrl": "https://www.timetap.com/appts/zzmNCJ7B6CQ",
    “sortWeight”: 0,
    “timeZone”: null,
    "virtualRoomId": "%FAKE%",
    "virtualRoomUrl" "https://fakeurl.com",
    "virtualType": "OTHER",
    "visible": true
}]


Code Block
languagejs
titleGET /locationList/reportCount
linenumberstrue
collapsetrue
{
    "count": 6
}


Code Block
languagejs
titleGET /locationIdList
linenumberstrue
collapsetrue
[
    495584,
    468322,
    81181,
    319495,
    87877,
    282639
]


Code Block
languagejs
titlePOST /locations
linenumberstrue
collapsetrue
{
    "active": true,
    "address1": "123 West Boulevard",
    "address2": null,
    "allowOnline": true,
    "allowTZChange": null,
    "businessId": 43111,
    "city": "Charlotte",
    "contactName": null,
    "country": "United States",
    "createdDate": 1684502543017,
    "createdUser": "JoeSchmo",
    "description": "123 West blvd",
    "directions": "<p>Hang a left at the Cracker Jack</p>",
    "einNumber": null,
    "emailAddress": "roadhaus@email.com",
    "embedCode": null,
    "endDate": null,
    "externalLocationId": null,
    "geocode": "[{\"addressComponents\":[{\"longName\":\"123\",\"shortName\":\"123\",\"types\":[\"STREET_NUMBER\"]},{\"longName\":\"West Boulevard\",\"shortName\":\"West Blvd\",\"types\":[\"ROUTE\"]},{\"longName\":\"Wilmore\",\"shortName\":\"Wilmore\",\"types\":[\"NEIGHBORHOOD\",\"POLITICAL\"]},{\"longName\":\"Charlotte\",\"shortName\":\"Charlotte\",\"types\":[\"LOCALITY\",\"POLITICAL\"]},{\"longName\":\"Mecklenburg County\",\"shortName\":\"Mecklenburg County\",\"types\":[\"ADMINISTRATIVE_AREA_LEVEL_2\",\"POLITICAL\"]},{\"longName\":\"North Carolina\",\"shortName\":\"NC\",\"types\":[\"ADMINISTRATIVE_AREA_LEVEL_1\",\"POLITICAL\"]},{\"longName\":\"United States\",\"shortName\":\"US\",\"types\":[\"COUNTRY\",\"POLITICAL\"]},{\"longName\":\"28203\",\"shortName\":\"28203\",\"types\":[\"POSTAL_CODE\"]},{\"longName\":\"4401\",\"shortName\":\"4401\",\"types\":[\"POSTAL_CODE_SUFFIX\"]}],\"formattedAddress\":\"123 West Blvd, Charlotte, NC 28203, USA\",\"geometry\":{\"location\":{\"lat\":35.2128106,\"lng\":-80.8599899},\"locationType\":\"RANGE_INTERPOLATED\",\"viewport\":{\"northeast\":{\"lat\":35.2142826302915,\"lng\":-80.85855426970849},\"southwest\":{\"lat\":35.21158466970851,\"lng\":-80.86125223029151}}},\"types\":[\"STREET_ADDRESS\"],\"partialMatch\":false,\"placeId\":\"EicxMjMgV2VzdCBCbHZkLCBDaGFybG90dGUsIE5DIDI4MjAzLCBVU0EiMBIuChQKEgltdiJkeZ9WiBEPBdRQbm3LYhB7KhQKEglb3e_88phWiBH5j9JLqFsDaQ\"}]",
    "hasWorkScheduleOrClass": null,
    "inboundBuffer": null,
    "instructions2": null,
    "instructions3": null,
    "instructions4": null,
    "instructions5": null,
    "internalDisplayName": "The Roadhouse",
    "internalName": null,
    "latitude": 35.2128106,
    "locationCategory": null,
    "locationId": 515417,
    "locationName": "The Roadhouse",
    "locationType": "PHYSICAL",
    "logoUrl": null,
    "longitude": -80.8599899,
    "modifiedDate": 1684502543017,
    "modifiedUser": "JoeSchmo",
    "officePhone": "555 123 4567",
    "outboundBuffer": null,
    "privateUrl": null,
    "sortWeight": null,
    "startDate": null,
    "state": "North Carolina",
    "status": "ACTIVE",
    "tax1Rate": null,
    "timeZone": {Timezone object for timezone of location - for more info, see Timezones API page},
    "virtualRoomId": null,
    "virtualRoomUrl": null,
    "virtualType": null,
    "visible": true,
    "zip": "28203"
}


Code Block
languagejs
titlePOST /locationList/reportWithCount
linenumberstrue
collapsetrue
{
    "count": 10,
    "locations": [{
        "active": true,
        "address1": "1422 Green Street",
        "address2": null,
        "allowOnline": true,
        "allowTZChange": 1,
        "businessId": 43111,
        "city": "Raleigh",
        "contactName": null,
        "country": "United States",
        "createdDate": 1543365967030,
        "createdUser": null,
        "description": "1422 Green Street,\nRaleigh, NC27603",
        "directions": null,
        "einNumber": null,
        "emailAddress": null,
        "embedCode": null,
        "endDate": null,
        "externalLocationId": null,
        "geocode": null,
        "hasWorkScheduleOrClass": null,
        "inboundBuffer": 0,
        "instructions2": null,
        "instructions3": null
        "instructions4": null,
        "instructions5": null,
        "internalDisplayName": "Green office",
        "internalName": "Green office",
        "latitude": null,
        "locationCategory": null,
        "locationId": 282639,
        "locationName": "Green Street Office",
        "locationType": "PHYSICAL",
        "logoUrl": null,
        "longitude": null,
        "modifiedDate": 1543946614386,
        "modifiedUser": "JoeSchmo",
        "officePhone": null,
        "outboundBuffer": 0,
        "privateUrl": null,
        "sortWeight": null,
        "startDate": null,
        "state": "North Carolina",
        "status": "ACTIVE",
        "tax1Rate": null,
        "timeZone": {Timezone object for timezone of location - for more info, see Timezones API page},
        "virtualRoomId": null,
        "virtualRoomUrl": null,
        "virtualType": null,
        "visible": true,
        "zip": "27603"
}]


Code Block
languagejs
titlePUT /locations/{locationId}
linenumberstrue
collapsetrue
{
    "active": true,
    "address1": "Back Beach Road",
    "address2": null,
    "allowOnline": true,
    "allowTZChange": null,
    "businessId": 43111,
    "city": "Panama City Beach",
    "contactName": null,
    "country": "United States",
    "createdDate": 1523975908774,
    "createdUser": null,
    "description": "1234 Back Beach Rd, Panama City Beach, FL",
    "directions": null,
    "einNumber": null,
    "emailAddress": "noreply@email.com",
    "embedCode": "<iframe src='https://www.timetap.com/pembed/zzmNCEEytQ' frameborder='0' width='840' height='500'> </iframe>",
    "endDate": null,
    "externalLocationId": null,
    "geocode": "[{\"addressComponents\":[{\"longName\":\"Back Beach Road\",\"shortName\":\"Back Beach Rd\",\"types\":[\"ROUTE\"]},{\"longName\":\"Panama City Beach\",\"shortName\":\"Panama City Beach\",\"types\":[\"LOCALITY\",\"POLITICAL\"]},{\"longName\":\"Bay County\",\"shortName\":\"Bay County\",\"types\":[\"ADMINISTRATIVE_AREA_LEVEL_2\",\"POLITICAL\"]},{\"longName\":\"Florida\",\"shortName\":\"FL\",\"types\":[\"ADMINISTRATIVE_AREA_LEVEL_1\",\"POLITICAL\"]},{\"longName\":\"United States\",\"shortName\":\"US\",\"types\":[\"COUNTRY\",\"POLITICAL\"]}],\"formattedAddress\":\"Back Beach Rd, Panama City Beach, FL, USA\",\"geometry\":{\"bounds\":{\"northeast\":{\"lat\":30.26166000000002,\"lng\":-85.7867266},\"southwest\":{\"lat\":30.18943689999997,\"lng\":-85.957977}},\"location\":{\"lat\":30.2250683,\"lng\":-85.8727905},\"locationType\":\"GEOMETRIC_CENTER\",\"viewport\":{\"northeast\":{\"lat\":30.26166000000002,\"lng\":-85.7867266},\"southwest\":{\"lat\":30.18943689999997,\"lng\":-85.957977}}},\"types\":[\"ROUTE\"],\"partialMatch\":false,\"placeId\":\"EilCYWNrIEJlYWNoIFJkLCBQYW5hbWEgQ2l0eSBCZWFjaCwgRkwsIFVTQSIuKiwKFAoSCUfvBgg1jJOIERC4sQRp-on4EhQKEgmVhTrHaoyTiBEsxQw92LEh0g\"}]",
    "hasWorkScheduleOrClass": null,
    "inboundBuffer": null,
    "instructions2": null,
    "instructions3": null,
    "instructions4": null,
    "instructions5": null,
    "internalDisplayName": "Beaches",
    "internalName": "Beaches",
    "latitude": 30.2250683,
    "locationCategory": null,
    "locationId": 81181,
    "locationName": "Beach Office",
    "locationType": "PHYSICAL",
    "logoUrl": null,
    "longitude": -85.8727905,
    "modifiedDate": 1684867559252,
    "modifiedUser": "JoeSchmo",
    "officePhone": "555-123-4567",
    "outboundBuffer": null,
    "privateUrl": "https://www.timetap.com/appts/zzmNCEEytQ",
    "sortWeight": null,
    "startDate": null,
    "state": "Florida",
    "status": "ACTIVE",
    "tax1Rate": null,
    "timeZone": {Timezone object for timezone of location - for more info, see Timezones API page},
    "virtualRoomId": null,
    "virtualRoomUrl": null,
    "virtualType": null,
    "visible": true,
    "zip": null
}





Locations Object Values


Property nameTypeRequiredDescription
activebooleanYesIndicates whether or not the specified location should return on GET calls.
address1string
Displays as the first line of the specified location's address.
address2string
Displays as the second line of the specified location's address.
allowOnlineboolean
Indicates whether or not the specified location can be booked by clients.
allowTZchangeinteger
If this value is set to 1, a timezone change is allowed and shows - if it is set to 0, a timezone change is not allowed and shows - if it is set to -1, a timezone change is not allowed and does not show.
businessIdintegerYesProvides a unique numeric ID of the business to which the specified location belongs. 
citystring
Displays as the specified location's city.
contactNamestring
Displays as the name of the staff that is designated as the specified location's preferred contact.
createdDateinteger
Displays as the date that the specified location was created, in milliseconds elapsed since January 1, 1970 00:00:00 UTC form. 
createdUserstring
Displays the username of the user who created the specified location.

description

string


Displays as what is set as the Address of the specified location.

directionsstring
Displays as what is set as the Directions of the specified location.
einNumberinteger
Provides the employer identification number (EIN) of the specified location.
emailAddressstring
Displays as the email address provided for the specified location.
endDatestring
Displays as the end date of the specified location's booking window if the location has one.
embedCodestring
Provides iframe code that can be used to display scheduler for the specified location based on address given in location description - a back-end component, users cannot alter.
geocodestring
Provides geographical coordinates for the specified location based on address given in location description - a back-end component, users cannot alter.
hasWorkScheduleOrClassboolean
Indicates whether or not the specified location has a defined work schedule or class.
inboundBufferinteger

Provides built-in estimate of how much time is needed to enter the specified location - displays in minutes.

instructions2string
Displays as what is set as the Additional Directions/Instructions of the specified location.
instructions3string
Provides an additional field to contain any instructions for the specified location.
instructions4string
Provides an additional field to contain any instructions for the specified location.
instructions5string
Provides an additional field to contain any instructions for the specified location.
internalDisplayNamestring

This is a derived, READ ONLY field. It does not get updated directly by API calls.

If the locationName is filled but the internalName is empty, the internalDisplayName would be the same as the locationName - if the internalName is not empty, the internalDisplayName would be the same as the internalName.

internalNamestring
Displays as what is set as the Internal Display Name of the specified location - this is what staff see.
latitudeinteger
Displays as the latitude of the specified location.
locationCategorystring
Displays as the category of the specified location.
locationIdintegerYes, for PUT callsProvides a unique numeric ID for the specified location. 
locationNamestringYesDisplays as what is set as the Location Name name of the specified location - this is what clients see.
locationTypestringYesImpacts how the description field is shown in the backoffice. Has acceptable values "PHYSICAL", "VIRTUAL", and "VARIABLE". 
logoUrlstring
Displays as URL of specified location.
longitudeinteger
Displays as the longitude of the specified location.
modifiedDateinteger
Displays as the date that the specified location was last modified, in milliseconds elapsed since January 1, 1970 00:00:00 UTC form. 
modifiedUserstring
Displays the username of the user who last modified the specified location.

officePhone

string


Displays as what is set as the Office Phone of the specified location.

outboundBufferinteger

Provides a built-in estimate of how much time is needed to leave this location - displayed in minutes.

privateUrlstring
Displays as the URL of the specified location's private scheduling page.
sortWeightinteger
Affects the order in which different locations of a business are displayed to users.
startDatestring
Displays as the start date of the specified location's booking window if the location has one.
statusstring
Displays as the status of the specified location. Has acceptable values "ACTIVE" and "INACTIVE".
tax1rateinteger
Provides the tax rate of the specified location.
timeZoneobject
Displays the timezones object connected to the this location - for more info, see Timezones API page.
virtualRoomIdinteger
If you take virtual appointments and your meeting room requires a passcode or meeting ID, it would go here.
virtualRoomUrlstring
Displays as the URL for the specified location's virtual meeting room.
virtualTypestring
Displays as the type of service provider used for virtual meetings held at the specified location.
visibleboolean
Indicates whether or not the specified location is visible.
zipinteger
Provides the zip code of the specified location.