Embeds and Dynamic Links
This API is not needed to integrate Acuity Scheduling with your website, it is intended for developers to access information outside of a website or develop custom applications. See the website integration guides under Client's Scheduling Page within your account for the code and guides on embedding into your website.
Dynamic Scheduling Page
Some parameters can be passed in to the scheduling page through the query string to change which options and defaults are shown to clients.
If the scheduler is embedded in your website you can also pass these to your website, and they'll be transferred into the embedded scheduler. For example, http://YourWebsite.com/[email protected]
will pre-fill [email protected]
into the embedded scheduler.
To pass the client's first name, last name, phone number, and e-mail address into the scheduling page:
https://example.acuityscheduling.com/schedule.php?firstName=First&lastName=Last&phone=Phone&[email protected]
Here's the complete list of available fields:
firstName
the client's first namelastName
the client's last nameemail
the client's email addressphone
the client's phone numbercalendarID
select a specific calendarappointmentType
select a specific appointment type or type category usingcategory:categoryName
appointmentType[]
link to multiple appointment types like this:
https://example.acuityscheduling.com/schedule.php?appointmentType[]=184520&appointmentType[]=765448
certificate
set a coupon code or packagequantity
set the quantity of appointments to bookdatetime
a date and time for an appointment slot, parsed bystrtotime
location
the set location category for the calendar/s
To find the ID for calendar go to Calendars in your account and choose Direct Scheduling Link to find the link directly to that calendar. For appointment type go to Appointment Types and choose Direct Scheduling Link.
Dynamic Scheduling Page Example »
Dynamic Intake Forms
Intake Form data may also be passed in a similar manner. Data is set by fieldID which can be found by inspecting the client scheduler forms by right clicking a field and selecting Inspect, or contacting support. Formatting of the query string parameter depends on the field type.
- Text fields:
field:1=Wonderful
- Drop Down list and Checkbox list fields:
field:2[]=First&field:2[]=Second
- Yes/No and Checkbox fields:
field:3=yes&field:4=no
Data of fields in intake forms marked Internal Use Only can also be set in this manner.
https://example.acuityscheduling.com/schedule.php?field:237764=Relaxation!
Native iOS and Android Apps
Acuity's HTML embed code can also be used to embed the scheduler into native apps using a WKWebView on iOS or WebView on Android. Check out our sample code for iOS and Android embedding!
Example Time
Let's say you want a scheduling link which:
A) Prefills some client data
B) Selects a particular appointment type
C) Chooses a specific appointment time, eg. August 30th, 2017, 2pm (your time)
Each scheduling link starts with the base part of your scheduler url. In our case that would be https://example.acuityscheduling.com/schedule.php
but you should use your own scheduler link. This is followed by parameters, starting with a question mark ?
. Each following parameter is separated by an ampersand &
.
A) First, set the client data.
?firstName=Jane&lastName=McTest&field:237764=Relaxation!
The first argument starts with ?
and each following parameter is separated by an &
. In this example, we set a custom intake form as well.
B) Next, add the Appointment Type id
&appointmentType=184520
Don't forget that &
symbol!
C) Finally, set the appointment time using datetime
datetime
&datetime=2019-01-10+2:00pm
Be sure to test out the datetime you set to, to make sure it's a valid appointment time and to make sure our servers understand it.
Our full link would look like this:
https://example.acuityscheduling.com/schedule.php?firstName=Jane&lastName=McTest&field:237764=Relaxation!&appointmentType=184520&datetime=2019-01-10+2:00pm
Updated 3 days ago