đĽď¸ For providers using the Oasys web app. The scheduling widget is an add-on, so you'll only see it if it's turned on for your account.
This article shows you how to set up the scheduling widget and embed it on your website, so new clients can book with you directly. The widget shows your real-time availability, and bookings appear in your Oasys calendar like any other appointment.
In this article
1. Setting up the widget
Create and activate the widget once, then adjust it any time.
Go to Settings â Scheduling â Scheduling widget.
Click Create Booking Widget the first time.
Choose your Default Service (required) under Basic configuration. This is the service type clients will book, and it sets the session duration and pricing shown in the widget.
Restrict which websites can load the widget, if you want to. Turn on Restrict to specific websites (advanced) and enter each allowed website in Allowed websites, one per line (for example, https://yourwebsite.com).
Click Activate Widget. The availability settings, theme customization, intake questions, live preview, and embed code become available.
We recommend creating a standard first consultation service for the widget, if you don't already have one.
Additional services (add-ons) aren't listed as a Default Service, because they can't be booked on their own.
For allowed websites, include https:// and add both www and non-www versions if needed. Most providers don't need this: when it's off, the widget loads on any site.
If you turn on Restrict to specific websites without adding a website, you'll see "Add at least one website, or turn off "Restrict to specific websites."" and can't save until you fix it.
Changes to Allowed websites or Default Service take effect only after you click Save Changes.
â ď¸ Important: If you don't see Scheduling widget under Settings â Scheduling, it isn't turned on for your account. Contact Oasys support to have it turned on.
đĄ Tip: You can turn the widget off any time with the Deactivate Widget button at the top right of the widget settings page ("The widget will stop working on your website. You can reactivate it anytime.").
2. Availability settings
By default, the widget uses your general availability from Settings â Scheduling â Availability. Clients see the same open slots as any other booking method.
Turn on Use custom availability for widget to set different hours just for widget bookings:
Configure specific days and time ranges.
Add multiple time blocks per day (for example, 9am to 12pm and 2pm to 5pm).
Days without configured blocks show as unavailable.
This is useful for reserving certain hours for website bookings, or offering different availability to clients coming through your site.
â ď¸ Important: If custom availability is on but no time blocks are configured, you'll see "No availability hours configured. The widget will show no available slots until you add availability below."
3. Customizing the appearance
Match the widget to your website's design with these theme options:
Primary Color: buttons, links, and accent elements.
Text Color: the main text color for content.
Background 1: the widget container background.
Background 2: the calendar section background.
Font Family: choose from common web fonts (Arial, Georgia, Verdana, and more) or Default (System Font).
Use the color pickers or enter hex codes directly. Check your changes in the Live preview panel, then click Save Theme.
đĄ Tip: Your saved theme is written into the embed code. After you change and save your theme, copy the embed code again and replace the old snippet on your website. The colors and font in the snippet on your site are what your visitors see.
4. Intake questions
Add your own questions to the widget's booking form to collect information from clients when they book. Find this under Intake questions in the widget settings once the widget is activated.
Every booking form always asks for Name and Email.
Add up to 15 custom questions with Add Question.
Pick a type for each: Text (free-form answer), Single Select (radio buttons), or Multi Select (checkboxes). Select questions need at least 2 options.
For single-select questions, you can turn on Allow "Other" option so clients can type their own answer.
Turn on Required so clients must answer before they can book.
Reorder questions with the up and down arrows to control the order they appear on the booking form.
Click Save to apply your changes.
Clients' answers are saved to their client profile. Open the client and look for the Intake tab, which appears only when there are widget responses.
5. Embedding on your website
Once the widget is active, add it to your site with a code snippet. You don't need to edit the code.
Open the Embed code section under Preview & embed.
Click Copy Embed Code.
Add a "Custom HTML," "Code," or "Embed" block to your page in your website builder (Squarespace, Wix, WordPress, and so on).
Paste the entire snippet into the block where you want the calendar to appear, and save.
If someone else manages your website, send them the embed code and let them know where you'd like it placed.
đĄ Tip: After adding the widget to your site, test it by booking a test appointment with an email address that doesn't already have an Oasys account. You can cancel it afterward from your calendar.
6. What happens when someone books
Here's what the visitor does and what Oasys does next.
Pick a date and an available time.
Enter a Name and Email and answer your intake questions.
Click Confirm Appointment. The visitor sees "You're all set", gets a confirmation email, and can use Add to Calendar.
For a first-time visitor, Oasys:
creates a client in your caseload,
sends them an email invitation to set up their Oasys account (the setup link is valid for 24 hours), and
books the appointment and notifies you. The notification shows the client's name followed by "(via Widget)".
The widget is for new clients
If the email address already belongs to an Oasys account, the booking is stopped with "An account with this email already exists. Please log in to book an appointment." Existing clients should book from their client portal instead, if you've turned on direct booking.
Your scheduling rules still apply
These settings in Settings â Scheduling â Scheduling policies apply to the widget too (see Scheduling policies):
Require booking approval: if on, widget bookings arrive as requests you approve or reject, instead of confirmed appointments.
Minimum notice period and Maximum advance booking: the widget won't accept times outside these limits.
Block time slots with Google Calendar events: if on, your Google Calendar events block widget times too.
Times in the past can't be booked ("Appointments cannot be booked in the past.").
Enable direct client booking doesn't affect the widget. That setting controls booking from the client portal only, so an activated widget keeps taking bookings even if portal booking is off.
The widget always books your Default Service.
7. Troubleshooting
Most widget problems come from the activation, website list, or availability settings.
The widget doesn't appear on my website
Check that the widget is activated in Settings. A deactivated widget shows visitors "This scheduling widget is not properly configured. Please contact the site owner."
If Restrict to specific websites is on and the widget shows "This website isn't on the widget's list of allowed websites yet.", it also shows the exact site address it was blocked on. Copy that into Allowed websites and click Save Changes.
Site builders like Wix and Squarespace often load embeds from their own address (for example, a .filesusr.com address), which may differ from your domain.
Add both www and non-www versions if you use both (include https://).
Clear your browser cache or try an incognito window.
Make sure the embed code is pasted in full, without changes.
The widget shows but has no available times
Check your availability in Settings â Scheduling â Availability.
If you use custom widget availability, make sure time blocks are configured.
Check that the selected service type has a duration set.
Check your Minimum notice period and Maximum advance booking in Scheduling policies.
Check that you haven't blocked time on your calendar and, if Block time slots with Google Calendar events is on, that Google Calendar events aren't covering those times.
A client says the widget told them to log in
The email they entered already has an Oasys account. Ask them to log in to the client portal and book there, or book the appointment for them from your calendar.
Theme changes aren't showing
Make sure you clicked Save Theme.
Copy the embed code again after saving and replace the snippet on your website (it includes your theme).
Clear your browser cache on your website.
Frequently asked questions
Do I need technical skills to set this up?
No. You copy a code snippet and paste it into your website builder. You don't need to understand or change the code.
Does the widget work on mobile?
Yes. The widget is responsive and adapts to mobile screen sizes.
Are bookings through the widget real appointments?
Yes. They create real appointments that appear in your Oasys calendar and follow your standard scheduling rules.
Can existing clients use the widget?
No. The widget is for new clients. Anyone whose email already has an Oasys account is asked to log in and book from the client portal.
Where do I see a client's answers to my intake questions?
On the client's profile, in the Intake tab.
Can I use the widget on multiple pages or websites?
Yes. Paste the embed code on any page where you want the widget to appear. By default, the widget loads anywhere. To limit it to specific sites, turn on Restrict to specific websites (advanced) in Basic configuration and enter each allowed website on its own line.
