Skip to main content

Widget Deep Links

Link directly to a specific service or provider in your embedded scheduling widget using query parameters in the URL.

Written by Felix Livni
Updated yesterday

Deep links let you send visitors directly to a specific service or provider in your embedded scheduling widget, skipping the selection steps they would normally click through.

No JavaScript is required.

Note: If you're not using the embedded widget, see How to link to a specific service on your scheduling page.


How it works

The embedded widget reads the URL hash of the hosting page. To deep link, add a hash in this format:

#schedulista://YOUR-BUSINESS-CODE?service_id=SERVICE_ID

To also pre-select a provider:

#schedulista://YOUR-BUSINESS-CODE?service_id=SERVICE_ID&provider_id=PROVIDER_ID

Examples

If your booking page is at https://yourwebsite.com/booking, link to a specific service:

Link to a specific service with a specific provider:


Finding your IDs

See the scheduling page deep links article for how to find your business code, service ID, and provider ID.


Behavior

  • Service-only link: Takes the visitor to provider selection for that service. If only one provider offers the service, the provider step is skipped automatically.

  • Service + provider link: Takes the visitor directly to time selection.

  • Invalid IDs: If a service or provider ID doesn't exist or doesn't belong to your business, the visitor sees your normal scheduling page.


Navigating with JavaScript

The widget detects hash changes automatically. You can update the hash with JavaScript to navigate the widget without reloading the page:

// Navigate to a specific service
window.location.hash = 'schedulista://salon?service_id=1073891883';

// Navigate to a specific service + provider
window.location.hash = 'schedulista://salon?service_id=1073891883&provider_id=1073746138';

This lets you build your own service or provider selection UI on your website while the widget handles the booking flow.

For more advanced control, see the Embeddable Widget API article.


Private services

Private services are hidden from your public service list and are only accessible via a direct link. Each private service has a unique offer code in the format xxxxx-xxxxx. You can find it on the service settings page.

Use the offer code in place of the service ID:

For more about private services, see Private services.


Pre-filling client information

You can also pre-fill the client's contact details by adding query parameters to the widget's iframe src URL. The supported parameters are first_name, last_name, email, and phone.

For example, to embed the widget with pre-filled client data, set the iframe src to:

This can be combined with deep links. For details and a full list of parameters, see How to pass client data to the scheduler.

keywords: deep link, widget, embed, service link, provider link, hash, iframe, service_id, provider_id, private service, offer code, prefill, pre-fill, client data

Did this answer your question?