Online Booking Link/Widget Customization

With the online booking service in iconpractice you have the option to preselect practices, practitioners and the appointment type.

The most likely situation in which you would use this facility was if you were running advertising campaigns for particular appointment types, e.g. free screenings, and only wanted to make only that appointment type available and with certain practitioners.

Another situation in which you might use this is if you had a team page on your website, and underneath each practitioner, you could have a button to book an appointment with that specific practitioner. The customization approach varies depending on whether you are using the Hosted Online Booking Page or the Embeddable Widget.

Hosted Online Booking Page

If you are sending people to the booking page hosted by us, to customize you need to add what are known as "parameters" to your online booking URL.

The parameter you need to add to preselect a practitioner is: prac_set
The parameter to preselect an appointment type is: appt_type

Setting Specific Practitioners

After the prac_set parameter you need to specify the ID number of the practitioner, which can be found in the first column on the list of practitioners under Settings->Practitioners. If you wish to specify more than one practitioner, it should be a comma separated list. E.g.

For a single practitioner:

https://www.iconpractice.com/ob/2459/yourclinicname/65745/1?prac_set=1

For multiple practitioners:

https://www.iconpractice.com/ob/2459/yourclinicname/65745/1?prac_set=1,4,7

Setting Specific Appointment Types

After the appt_type parameter you need to specify the ID of the appointment type. This can be found in the first column on the list of Services under Settings->Service/Stock->Services. E.g.

https://www.iconpractice.com/ob/2459/yourclinicname/65745/1?appt_type=63

NOTE: you can only preselect one appointment type. Setting multiple types is not supported.

An example where both practitioners and an appointment are set:

https://www.iconpractice.com/ob/2459/yourclinicname/65745/1?prac_set=1,4&appt_type=63

More Than One Practice?

If you have more than one practice in iconpractice and you would like users to be able to choose a practice, then you can remove the practice id number and trailing slash from the booking link.

https://www.iconpractice.com/ob/4660/easternbraincentre-wongapark/7183/1
// Change to:
https://www.iconpractice.com/ob/4660/easternbraincentre-wongapark/7183
// (Note the trailing /1 is removed)

Users will now be prompted to choose a practice first.

Embeddable Widget

Alternatively, when using our javascript widget on your website, you can specify the practitioners you wish to include. It is not possible to filter by appointment type with the widget at this time. You have two possible approaches.

Use this feature by specifying the practice ID, then the ID of the practitioner(s) you wish to include as illustrated below:

//Using Javascript Map Object:
practices: new Map([
[1, [2,3]]
]) // for the practice with ID 1, show and practitioners with ID numbers 2 and 3
// E.g
<div id="chmwidget">Loading...</div>
<script>
(function (w, d, s, o, f, js, fjs) {
w['CHM-Iconpractice'] = o;
w[o] = w[o] || function () {
(w[o].q = w[o].q || []).push(arguments)
};
js = d.createElement(s), fjs = d.getElementsByTagName(s)[0];
js.id = o; js.src = f; js.async = 1;
fjs.parentNode.insertBefore(js, fjs);
}(window, document, 'script', 'w1', 'https://api.iconpractice.com/assets/js/widget.js'));
w1('init', {
targetElementID: 'chmwidget',
obToken: 718223,
obToken2: 466330,
practices: new Map([
[1, [2,3]]
])
});
</script>

In the above Map Object above, 1 refers to the practice ID number, and 2,3 refer to the ID numbers of the practitioners that will be shown at that practice. If limiting practices and showing all practitioners, use the "Limiting the Practices shown in the Embeddable Widget" approach outlined below.

Note: the ID numbers for practices can be found on the Settings->Practices page, and the practitioners on Settings->Practitioners page.

Limiting the Practices shown in the Embeddable Widget

When using the widget, if you have multiple practices, the widget will display an option to choose a practice before proceeding with the booking process. If you just wish to limit which practices show on this step, you add a list of practice to the widget code:

practices: "1,3,8,12" // this will only show these practices
// OR:
practices: "1" // this will only show the practice whose ID = 1
// E.g.
<div id="chmwidget">Loading...</div>
<script>
(function (w, d, s, o, f, js, fjs) {
w['CHM-Iconpractice'] = o; w[o] = w[o] || function () { (w[o].q = w[o].q || []).push(arguments) };
js = d.createElement(s), fjs = d.getElementsByTagName(s)[0];
js.id = o; js.src = f; js.async = 1; fjs.parentNode.insertBefore(js, fjs);
}(window, document, 'script', 'w1', 'https://api.iconpractice.com/assets/js/widget.js'));
w1('init', {
targetElementID: 'chmwidget',
obToken: 718332,
obToken2: 466330,
practices: "1,4,7" // <- add here
});
</script>

If you would like assistance with setting this up, feel free to create a support ticket.

 


Was this article helpful?