🏷️ Add Role Badges to Your Staff for Services

🧭 Overview

When a service has multiple staff members — e.g., junior and senior stylists, different specialists, varying levels of experience — customers picking from a plain list of names often can't tell who's the best fit.

You can now add a short role tag, like "Lead Therapist" or "Senior Consultant," to each staff member's profile, and it shows up as a badge right where customers choose who to book with — making that choice easier and giving your staff's role more visibility.

🚀 What's New?

✅ Create reusable badges

Create as many role badges as you need — e.g., Lead Therapist, Senior Consultant, and so on. When assigning a badge to a staff member, every badge you've already created shows up to pick from, so you're not recreating the same tag for each person.

✅ One role tag per staff member

Add a single text-based role badge (up to 30 characters) for each staff member from your staff details settings.

✅ Pick a color for each badge

Each staff role tag can have its own color — so roles are visually distinct at a glance instead of every badge looking the same.

✅ Shown as a badge during staff selection

When a staff member has a tag configured, it appears as a badge on their card during staff selection on the booking widget — styled in a lighter shade of your widget's primary color so it fits your theme without dominating the card.

✅ No empty badges

Staff without a configured tag show no badge or placeholder — their card stays clean.

✅ Updates reflect right away

Edit or remove a badge, and the booking widget reflects the change the next time it loads.

✅ Consistent on desktop and mobile

The badge renders the same way across both desktop and mobile widget layouts.

🧩 How to Use It

  1. Go to Services → Staff. Edit the staff member for whom you would like to add a badge
  2. Under the Basic details tab, navigate to the Staff badge dropdown.
  3. Add/select a badge for the staff member
  4. Save — the tag now shows as a badge next to that staff member during staff selection on your booking widget.

🎯 Why This Matters

  • Helps customers quickly identify the right person to book with when there's more than one staff member to choose from.
  • A single, simple tag keeps setup light and easy to scan — no need to build out full staff bios.
  • On-brand badge styling keeps the booking experience polished without extra design work on your end.
  • Consistent across desktop and mobile views, so the experience doesn't change based on how a customer books.

create new badge

badge selection

badge selected

booking page - badge

💰 Custom Pricing for Service Appointments

🧭 Overview

Service prices don't always match what should be charged — negotiated pricing or a one-off scenario with custom pricing can all mean the final price differs from what's configured.

With this release, you can now edit a service's price directly from the Services appointment modal before saving a new appointment or while editing/duplicating an existing appointment, without touching the service's global pricing.

🚀 What's New?

✅ Editable service price on the appointment itself

When creating, editing or duplicating a Services appointment, you can now adjust that service's price right in the appointment modal — the total updates immediately to reflect it.

✅ Appointment-specific, never global

A price edit only applies to that one appointment. The service's globally configured price is never changed, so every other booking keeps using the standard rate.

✅ Sensible validation, built in

Zero is a valid price for cases like complimentary services, but negative values are blocked with a clear validation error before the appointment can be saved.

✅ A clear "Custom" tag on edited prices

Once a service's price is edited on an appointment, it's marked with a Custom tag right next to the amount — so it's obvious at a glance that this booking isn't using the standard price.

✅ Overrides staff-specific pricing too

If a staff member has their own custom price configured for a service, entering a price on the appointment overrides that staff-specific price as well — the appointment always uses whatever price you set there.

✅ Available on mobile app

You can edit a service's price for an appointment directly from the mobile app as well.

🧩 How to Use It

  1. Open the service appointment modal (create, edit, duplicate).
  2. Click the edit icon next to a service.
  3. Enter a new price for the service.
  4. Save as usual. The custom price applies only to that appointment.

🎯 Why This Matters

  • Lets staff charge the actual negotiated or discretionary price without a workaround or offline settlements.
  • Keeps global service pricing untouched, so one custom price never leaks into other bookings.
  • Works the same way whether staff are at a desk or on the go with the mobile app.

service price edit

service price edited

edit modal - service price

🕵️ Calendar AI Can Now Tell You Why a Slot Isn't Bookable

🧭 Overview

Calendar AI — the assistant you already use to build calendars conversationally — now handles availability troubleshooting too. Users can now ask, in plain language, why a user or calendar isn't isn't bookable, and get an accurate, conversational answer instead of digging through the internal Troubleshooting View grid or filing a support ticket.

🚀 What's New?

✅ Ask Calendar AI why a slot isn't available

Ask something like "why isn't 5 PM on Aug 8 available on my Sales Call calendar?" and get a direct answer naming exactly what's blocking it.

✅ Check a team member instead of a specific calendar

Ask about a person by name — e.g. "why isn't Jane available on Friday?" — and Calendar AI resolves it across every calendar they serve, or asks which one (or their overall schedule) when they serve more than one.

✅ Whole-day summaries instead of slot-by-slot answers

Ask about a full day and get one de-duplicated, per-segment summary (e.g. "mornings are outside business hours, 2–3 PM is a specific conflict") — with slot-level detail available if you ask a follow-up for it.

✅ Smart disambiguation, only when it's actually needed

Calendar AI figures out whether a bare name means a calendar, a team member, or both, and only asks a clarifying question when there's genuine ambiguity — never when your message is already specific.

✅ No hallucinated reasons, ever

If the reason engine can't produce a clean answer or if it fails due to any technical reason, Calendar AI says so plainly and links into the full Troubleshooting View instead of guessing or inventing an explanation.

🧩 How to Use It

No setup needed — these improvements are live automatically.

  • Go to Calendars and use the Calendar AI launcher.
  • Select the Troubleshoot availability chip or ask a plain-language question about a slot, a whole day, a calendar, or a team member — Calendar AI asks a clarifying question when it needs one.

🎯 Why This Matters

  • Appointment-booking issues already account for roughly a third of calendar-related support issues — this puts an instant, accurate answer directly in the user's hands instead of routing to Support.
  • Strict no-hallucination guardrails mean every answer is trustworthy — Calendar AI never guesses or fabricates a reason.
  • Privacy and permission checks are enforced by default, so troubleshooting never exposes more than a user is already allowed to see.

troubleshooting tool

ai troubleshooting

🔄 Enhanced Two-Way Sync for Service Appointments

🧭 Overview

When a service appointment's calendar event was rescheduled or cancelled directly from a connected third party calendar (e.g., Google or Outlook calendar) — the change previously updated the calendar event only, leaving the service appointment record out of sync. For single-service appointments, this is now fixed: changes made directly on a third-party calendar sync back correctly everywhere. Multi-service appointments would still remain out of sync if directly updated on third party calendars.

🚀 What's New?

✅ Full two-way sync for single-service appointments

When a service appointment has just one service/event, a reschedule or cancellation made directly in third party calendars (e.g., Google or Outlook) now updates the calendar event and the service appointment together — so your third-party calendar and in-app calendar always agree.

✅ Correct appointment data everywhere you look

For single-service appointments, the calendar view, the appointment list view, and the appointment's view-details all now correctly reflect reschedules or cancellations made directly on a connected third-party calendar.

🧩 How to Use It

  • No setup needed — these improvements are live automatically.
  • Single-service appointments: Reschedule or cancel directly from third party calendars (e.g., Google or Outlook) — the change syncs back automatically, and shows correctly in the calendar, appointment list, and view-details.
  • Multi-service appointments: These are not yet synced with third-party calendar changes — continue managing schedule changes for multi-service appointments directly in-app to avoid your appointment and calendar event going out of sync.

🎯 Why This Matters

  • Closes a double-booking risk that occurred when a third-party cancellation or reschedule for a single-service appointment wasn't reflected in the in-app appointment.
  • Keeps the calendar view, appointment list, and appointment details in agreement for single-service appointments, no matter where the change is made.
  • Reduces support reachouts stemming from mismatched appointment times or statuses between the services calendar and connected calendars.

🌐 Calendars, Services & Rentals Notifications Now Speak Your Business's Language

🧭 Overview

Notification templates have historically shipped in English only, leaving multi-language businesses to manually translate every notification themselves. This release brings internationalization (i18n) to notification templates across Calendars, Services, and Rentals — default templates now localize based on the Business Profile's Platform Language, while anything a user has already customized stays exactly as saved. Newly created calendars, Services and Rentals locations get localized defaults automatically; existing ones keep their current templates until a user resets them to default.

🚀 What's New?

✅ Localized templates across Calendars, Services, and Rentals

Notification templates now display in the appropriate language automatically — across Email, SMS, and WhatsApp channels, wherever each product supports them.

✅ Coverage matches each product's own notification types

Calendars covers Assigned User, Additional Email, Additional Phone, Contact, and Guest templates. Services and Rentals covers all recipients of each notification as well.

✅ One consistent language source

All notification templates resolve their language from the Business Profile Platform Language — a single, consistent source across every product, recipient type, and channel.

✅ Your customizations are never touched

Any template that's already been edited is preserved exactly as saved — the system will never overwrite, retranslate, or reset a customized template. Only untouched, default templates get localized.

✅ New calendars, Services and Rentals locations get localized defaults automatically

Newly created calendars, services and rentals locations display their default notification templates in the Business Profile Platform Language right away — no extra steps needed.

🧩 How to Use It

  • Calendars: Go to Calendar Settings → Notifications for the calendar you want to update.
  • Services / Rentals: Go to Global Settings → Notifications.
  • New calendars, Services, and Rentals: Nothing to do — default templates already display in the Business Profile Platform Language.
  • Existing calendars, Services, and Rentals: Templates keep their current (English) content by default, even if they've never been edited. To pick up the localized version, click Reset to Default on the relevant notification template — this is what triggers the translation.

🎯 Why This Matters

  • Multi-language businesses no longer need to manually translate notification templates across Calendars, Services, or Rentals.
  • A single source of truth for language — the Business Profile — keeps behavior predictable and easy to reason about across every product and recipient type.
  • Protects existing work — nothing a user has already customized gets reset or retranslated.
  • New calendars, services, and rentals work out of the box, and existing ones can opt in with one click — no forced, silent overwrite of what's already live.

business profile settings

calendar notifications i18n

Screenshot 2026-09-22 at 10

Screenshot 2026-09-22 at 10