What's new – Booking
What changed recently - newest first.
September 2026
-
The calendar id is no longer stored twice
With the Google Workspace sync, a person's calendar id is always their email address. Until now that address was therefore written a second time into the staff member's Google calendar id field - the same address stood in the record twice. From now on it is only derived there: the field stays empty for synced staff members and the appointment scheduling uses the stored email address automatically. The same identifier is still displayed, and nothing changes about booking. An identifier entered by hand - a room or resource calendar, for instance - stays untouched and still takes precedence. Existing duplicates are cleared by the system on its next start.
-
The shared Google key belongs to the personnel area while the calendar integration is running
Since appointment booking and the calendar integration use the same Google service account, it could be overwritten on the Google Workspace page by people who may only manage appointments - in the worst case the calendar sync of the entire workspace stood still afterwards. While the calendar integration runs on that access, admin email, domain and the key are now reserved for the Manage calendar integration permission; an attempt to save without it is refused and leaves the existing credentials untouched. You still set the organisational unit here as before, and a workspace without an active calendar integration sets the connection up on this page unchanged.
-
Booking dashboard now shows load errors instead of empty lists
When one of the four booking dashboard views (Daily Overview, Reschedule Requests, Analytics, Reporting) failed to load - for example due to an expired session or a server error - it used to show the exact same empty state as a day with genuinely no bookings. A failed load now shows its own error message, so it is clear whether there really is nothing to show or the request should be retried.
-
Booking list now shows a fault message on a load error (#3406)
A failed booking list request used to render the same empty table used for genuinely zero bookings - the list already knew about the error internally, it just never displayed it. The list now shows a visible notice that loading failed.
-
Booking page styling completed
Part of the styling was missing on the public booking page: font sizes, spacing and table headers of the shared controls were not shipped and fell back to inherited values. The page now ships its styling in full and looks like the rest of the product.
-
Your booking page now shows the booking products
In the first step ("What is it about?") appointment types appear under the heading of the booking product you assigned them to, in the order you set under Appointments, Booking products. Until now the booking page did not read the grouping, so it stayed invisible to your customers. Appointment types without an assignment do not disappear: they remain selectable, collected under "Other services". As long as no appointment type is assigned at all, the page looks exactly as before.
Open the Knowledge Base → -
An unreachable HR module no longer reads as "everybody is available" on the booking page
Before it offers a single time, the public booking page asks the HR module who is on leave, who has reported sick, who has a public holiday, and where a calendar entry already sits. If that question could not be answered - a dropped connection, a permission error, a tenant that is only half set up - the answer used to be read silently as "nobody is busy", and a customer could book an appointment with somebody who is not there at all. We no longer claim availability we could not verify: when the HR lookup cannot be answered, the page reports an error instead of offering times that may not exist. The failure is also logged visibly now, so it gets noticed and fixed. For tenants that do not use the HR module at all nothing changes: there is nothing to look up there, and appointment booking keeps running on its own rules exactly as before.
Open the Knowledge Base →
August 2026
-
Google credentials now live in one place
The service account for the Google Workspace sync is shared with the HR calendar integration from now on. Setting it up does not change - admin email, organisational unit and domain stay on this page, and the sync runs on unchanged. What is new is that a revocation under Security → Google credentials really reaches every place: until now a credential removed here could stay valid in the calendar integration. The "Remove connection" button on this page therefore only disconnects the appointment side (the organisational-unit filter) and leaves the shared key alone.
-
Dropdowns in appointments are now read out by name (#2859)
Affected were the appointment list with status, staff member and appointment type, absences with the staff picker, the calendar connection with the internal and Google calendar, and the day of week in the working hours of staff and teams. Anyone using them with a screen reader heard nothing but "combo box" there - with no hint of what was being selected. All of them now carry a spoken name in German and English. Nothing changes visually. Bookings · Workspace ·
Open the Knowledge Base → -
A sick note blocks appointments right away, and the calendar no longer names the reason
Until now only an approved HR absence reached the booking page. A sick note is never approved automatically, though - it stayed open until a manager decided, and the employee stayed bookable in the meantime. Somebody who called in sick in the morning could still be booked that same afternoon; the customer showed up, nobody was there. A reported sick note now takes those times off the market immediately, without waiting for an approval. A leave request that is submitted but not yet approved still blocks nothing - otherwise anyone could take their own appointments off the market simply by asking. Second change in the same step: in the company-wide absence calendar a sick note used to carry the absence type in the event title - health data about a colleague, visible to everyone subscribed to that calendar. It now shows only the name and "absent". Every other absence type, annual leave for example, still appears with its name.
Open the Knowledge Base → -
The customer's message is now visible on the appointment
Whatever a customer wrote under "Your message" in the booking form was stored, but shown nowhere in the admin area - the customer believed they had told us something, and nobody ever read it. The notes drawer in Booking Management now shows the message word for word, clearly separated from your internal note: the customer message on top and read-only, your note below it and editable as before. If the customer wrote nothing, the upper section is omitted entirely. In the list, affected bookings carry a small speech-bubble icon next to the customer name. Every previously received message becomes visible too - they were stored all along. Also fixed: when a customer rescheduled their own appointment through the link in the confirmation email, your internal note used to be dropped; it now travels along.
Open the Knowledge Base → -
Times now sit beside the date when rescheduling
The reschedule dialog used to offer a single field for typing a date and time - which times were actually free that day appeared nowhere, and moving a booking onto an occupied time only surfaced on save. Now you pick the date and the day's times appear below it, in the same shape customers see when booking. Taken times stay visible, name the reason ("taken", "absent", "daily limit reached", "too short notice") and cannot be selected. If nothing is free that day, the dialog says so. The times are meant in the assigned staff member's timezone, which is named below the selection.
Open the Knowledge Base → -
Absences: duplicate and overlapping periods are now rejected
The same period could be recorded for the same person any number of times - and each of those records triggered its own redistribution of the affected appointments. The list then showed several identical-looking entries, and it was no longer possible to tell which one had actually triggered a rebooking. If a new period overlaps an already active absence for the same person, recording it is now rejected with a reference to the existing period. A single shared day is enough: if an absence ends on 14 March and the new one is meant to start on 14 March, that counts as an overlap - you can attach a new period seamlessly starting 15 March. A cancelled absence blocks nothing; you may re-record a withdrawn period at any time.
Open the Knowledge Base → -
Redistributed appointments now only land inside real working hours
When redistributing an appointment, the system previously only checked whether the replacement person has a schedule entry on that weekday at all - not whether the appointment falls inside their working hours. A 16:00 appointment could end up with someone who only works 08:00 to 12:00; the affected customer would receive a rebooking confirmation for a time when nobody is there. Redistribution now runs through exactly the same availability check as a new booking or a customer-initiated rebooking: holidays, the schedule in the replacement person's own time zone, their own absences, blocked periods from the HR module, the daily limit and actual occupancy. If nobody genuinely fits, the appointment still shows up as "rebooking required" as before - that is the more honest outcome than an assignment nobody can keep.
Open the Knowledge Base → -
The absence list and the employee picker were empty
The Staff absences page showed "No absences found" no matter how many were recorded, and the employee picker in both the recording dialog and the filter stayed empty - the page was reading the server response at the wrong place. Both now show data again.
Open the Knowledge Base → -
The impact preview finally names time and customer
The preview shown before saving displayed one line per affected appointment, but without a time or a name - you could see that something was affected, never what. Both now appear in the line, the time with its time zone abbreviation as everywhere else. If no appointment in the period is affected, the preview says so explicitly instead of staying empty below the counters.
Open the Knowledge Base → -
Field captions in appointment booking are now linked to their field
Across absences, the email rules, the appointment list, the holidays, the widgets, the workspace and the shared drawer fields of the configuration tabs (languages, products, staff, teams, appointment types) the input fields carried a caption above them that was not technically linked to the field. That had two noticeable consequences: clicking the caption did not put the cursor in the field, and a screen reader announced the field without a name - you heard "edit box" instead of "Subject, edit box". That link is now in place. Nothing changes visually - captions, spacing, colours and field sizes are unchanged. Four places sound different: below "Languages" and "Schedules" for a member of staff, below a team's "Entries" and below a widget's primary colour there is no single field but a group - several choice buttons, a repeated list of rows, or a colour swatch with its matching colour value. A screen reader now announces a group with that name there.
Open the Knowledge Base → -
The booking portal shows dates and times in the language you booked in
Anyone using the booking page in English still saw a German date on screen - “Donnerstag, 20. August 2026” - while the confirmation email for the very same appointment had been dating in English for a while. Screen and email contradicted each other. The day strip, the time grid, the summary before submitting, the confirmation page and the manage view now follow the language chosen in the booking form, using the same rule the email uses. Until a language is chosen, the previous German format stays. Time zones are unchanged: times still show in the visitor's own zone, with the short label beside them.
-
Appointment booking moved to the shared interface controls (technical)
In the booking management list, the widgets area, "My appointments", and the calendars/staff tabs of the booking settings, buttons and text fields now come from the shared interface toolkit instead of each component carrying its own code. Look and handling stay the same; what becomes consistent is keyboard focus, contrast in dark appearance and the behaviour of disabled fields.
Open the Knowledge Base → -
Appointment emails now use the assigned staff member's timezone and name it
The confirmation, both reminders, the cancellation and the reschedule email always stated the time in a single, system-wide timezone - regardless of where the assigned staff member actually works. If you run staff in another timezone, you were sending out a time nobody would show up for. Every appointment email is now formatted in the timezone stored on the staff member and names it in the text - for example "at 10:00 (CEST)". If no timezone is stored on the staff member, the system-wide default applies as before. For your own email templates, the placeholders {{appointmentTimezone}} (e.g. Europe/Berlin) and {{appointmentTimezoneLabel}} (e.g. CEST) are now available.
Open the Knowledge Base → -
Booking page: timezone in the summary too
On the public booking page and on the page for rescheduling and cancelling, the timezone abbreviation now also appears directly next to the selected time, not only as a footnote below the time grid. Times are still offered in your visitor's own timezone.
Open the Knowledge Base → -
Every time now names its timezone
In the booking management list, the booking analytics, "My appointments" and the absence impact preview, a time used to appear with no indication at all of which timezone was meant. What was shown was your browser's timezone - so two people in different countries read different numbers for the same row, and neither display revealed it. Every time is now followed by its timezone abbreviation (for example "CEST" or "CET"). The displayed time itself is unchanged.
Open the Knowledge Base → -
Holidays: one shared source instead of two separate stores (#1246)
The Holidays tab of Appointment Booking used to keep its own store with its own import, independent of the HR area's holiday calendar. Visible effect: a holiday HR already knew about (e.g. Good Friday) remained an ordinary bookable day in Appointment Booking, and anyone who wanted holidays in both areas had to import them twice. Both areas now read and write the same store - what you add or import here also appears in the HR area, and vice versa. Import runs through the same path already cross-checked against a second official source used in HR. For Appointment Booking, only your company's own country (from the workspace settings) counts; holidays from other countries no longer close your booking flow. Existing holidays from the appointments module were carried over automatically - nothing was lost. Region is now picked from a list instead of typed, which stops the same holiday ending up twice in the list through different spellings ("Bavaria", "BY", "DE-BY"). The Recurring yearly option is gone: the shared store is instead refreshed automatically every day for the current and next year.
Open the Knowledge Base → -
Dialogs in the appointment booking settings are cleaner for screen readers
In the email rules, holidays, widgets and the workspace, the dimmed area behind a dialog window used to be announced to assistive technology as its own operable element, even though it is purely decorative. It is now correctly marked as decorative and no longer shows up as a tab stop in screen readers. Closing itself is unchanged: the visible close button and the Escape key still work as before.
Open the Knowledge Base → -
A team's timezone now actually affects its working hours
You could set a booking team's timezone, but it had no effect - working hours configured for a team ended up applying in each member's own individual timezone instead of the team's. Saving a team's working hours now also carries the team's timezone onto every member.
Open the Knowledge Base → -
Holidays, absences, and the daily limit now apply on the correct calendar day
An appointment shortly after midnight in a staff member's own timezone could previously be checked against the wrong calendar day, because these three checks determined the day in UTC instead of the staff member's timezone - a holiday or a day off could go unnoticed as a result. All three checks now use the same staff-timezone-based calendar day the working-hours check already used.
-
Rescheduling: the timezone is now visible and unambiguous
When rescheduling a booking, there used to be no indication below the time field of which timezone the entered time applied to - depending on how the server happened to be configured, the actually-stored duration of the new appointment could end up different from the number of minutes you typed. The field now shows which timezone the input is understood in - by default the assigned staff member's - and a time with no recognizable timezone is no longer accepted.
Open the Knowledge Base → -
Managing an appointment from the confirmation e-mail link works on a phone too
On the reschedule-and-cancel page, the heading and the Reschedule / Cancel / Back buttons ran off the visible area on narrow screens, and long names or appointment types pushed the summary rows past the card edge. Both now wrap cleanly.
Open the Knowledge Base → -
The booking page now works properly on a phone
Most of your customers open the booking link on their phone, and until now the flow there was awkward. The calendar's day strip stretched the whole page sideways, so you had to swipe the page just to reach the times; the arrow buttons for earlier and later days were too small to hit reliably; and tapping a form field made iPhones zoom in on their own and leave the customer stranded in the magnified view. All three are fixed: only the day strip itself scrolls now, every button has a finger-friendly size, and the input fields no longer trigger auto-zoom. The same applies on tablets. Nothing changes about the steps, the fields or the confirmations.
Open the Knowledge Base → -
A dark-mode switch - top right on every page
The public booking page has been fixed to light since 6 August. It now has a visible light/dark switch in the top right corner, so visitors can deliberately switch to dark - fully designed this time, not just half. The choice is remembered on the next visit, including after reloading the page. Without an explicit choice the page stays light, regardless of whether the visitor's device is set to dark.
Open the Knowledge Base → -
Cancel booking: consistent wording in German
The optional reason field in the cancel-booking dialog now uses the standard German term Stornierungsgrund (optional). The English label is unchanged; only the German wording changes.
-
Rescheduling now checks the same availability as a new booking
Anyone moving their appointment via the management link from the confirmation email could previously end up with a time the booking page would never have offered - a holiday, an approved vacation day for that staff member, a time outside the staff schedule, or a day where the staff member's daily meeting limit was already reached. Until now those checks only ran on new bookings. Rescheduling now runs through the exact same availability check - holiday, staff schedule, absence, the HR-sourced blocked times, and the daily limit. The appointment's own previous slot does not count as a conflict against itself, so rescheduling onto the unchanged time still works.
Open the Knowledge Base → -
A guided start instead of seven equal tabs
The setup area for Appointment Booking now greets you with a short checklist: create an appointment type → add a staff member with working hours → share your booking page. Every step says what it is for, and the button next to it takes you to the right place. A progress bar shows how far you are. The middle step matters most: a staff member without working hours effectively does not exist for your booking page - neither a language nor a free slot will appear there. That exact case is now warned about explicitly instead of looking finished.
Open the Knowledge Base → -
Booking language in the appointment module: search instead of scroll
In the Languages tab of the appointment setup you now pick a further booking language from a searchable dropdown instead of a fixed drop-down list. Open the field, type a language name or code, and the list filters to the matching entries right away - with many languages you no longer have to scroll through the whole list. The choices are still your own language set from Settings → Languages; languages already added are marked and cannot be added twice.
Open the Knowledge Base → -
Clearer wording in the navigation
Widgets becomes Embedding, Workspace becomes Google Workspace, and the Appointments group in the sidebar is now called Bookings - three levels no longer share one name. The Booking Widgets page is now called Embed your booking page.
-
Correction: the sync interval lives in the personnel area
For the pace of the Google sync the manual pointed at the Google Workspace page of Appointment Booking. It is not set there - it is set per connection under Calendar integration in the personnel area (default 60 minutes). On the Google Workspace page you only adopt users as bookable staff.
Open the Knowledge Base → -
Correction: three manual statements about Appointment Booking were wrong
The manual described behaviour that does not exist. Corrected: the Google Calendar ID field on a staff member has no effect on availability - busy times from Google arrive via Person from staff management or via the team's calendar. A staff member's email address serves as a contact address and as a criterion in the email rules; SCS sends no calendar invites to it. And for the meeting type Google Meet the appointment is marked as a video call, but a Meet link is not created automatically.
Open the Knowledge Base → -
Deleted staff members can be restored again
In the Staff tab of the appointment settings a deleted entry stayed deleted even when you clicked the back arrow with Show deleted enabled - nothing visible happened. The click now restores the entry, and the list shows it as active straight away.
Open the Knowledge Base → -
Every empty state names the next step
Where it used to say only "No appointment types found", a sentence now explains what the entry is for and a button leads straight to creating one - in every section of the setup. In the Calendars tab the empty state leads to the Teams tab accordingly.
-
Setup now starts at the appointment types
Opening the configuration used to land you in the Booking products tab - of all places the section your public booking page never reads. The default section is now Appointment types, which is what your customers actually pick. Booking products moved to the end of the tab bar and carries a clear notice that they currently have no effect on your booking page; wiring them to appointment types is scheduled as separate work. Old bookmarks pointing at a specific section keep working unchanged.
-
The booking flow runs through reliably
After choosing an appointment type the page reliably moves on to the next step. Should no bookable language ever be on file, the page no longer sits silently on step 1 but clearly states that online booking is currently unavailable.
Open the Knowledge Base → -
The help button finds Booking Management again
On the Booking Management page the "?" used to open the general help home page instead of the matching manual page, because the registry still held the page's old address. That is fixed.
Open the Knowledge Base → -
The public booking page now always appears light
Until now the page - both at your shop address (…/termine) and at appointment.scs.sellerlogic.com - followed each visitor's dark-mode setting; on a device set to dark it appeared unintentionally dark and only half styled. Its appearance is now deliberately fixed to light and identical on both entry points, regardless of the visitor's device.
Open the Knowledge Base → -
Three places no longer show raw text
The copy button literally reported "copied" at the moment it should confirm, and the email rules as well as the workload overview each showed an internal key instead of text in one spot. All three are translated.
-
Your booking page finally has a visible address
Above the setup you now find the Your booking page card with the full address you hand to customers - plus Copy address, Open and a Preview that shows the page right inside the admin. Until now nothing in the admin revealed what your own booking page is called or what customers see there; the only visible thing was an embed snippet in a dialog. If no shop address is on file yet, the card shows the way to the domain settings instead of a dead link. If the page does not offer any slots yet, the note sits right next to the link.
Open the Knowledge Base → -
a confirmation immediately after booking,
-
a reminder 24 hours and again 1 hour before the appointment,
-
a cancellation notice when the appointment is cancelled,
-
a reschedule notice with the new time.
-
"Book appointment" entry in your shop menu
As soon as at least one appointment type is active, the entry appears automatically in your shop's navigation - on desktop and in the mobile menu. With no active appointment types it stays hidden. If you want it somewhere else in the menu, add it yourself in the shop menu pointing to /termine; the shop then shows only your own entry.
Open the Knowledge Base → -
"My Bookings" is no longer a dead end
Anyone not yet assigned to an appointment calendar only saw "No appointments found" and "No availability configured" - with no explanation and no next step. The page now says what is missing: it shows the appointments of the person linked to your user account in the appointments area. If you may run the setup yourself, a button takes you straight to staff management; everyone else is told to contact their appointment administrator.
Open the Knowledge Base → -
A meaningful address for the appointment configuration
The setup area for Appointment Booking used to sit under the bare address /appointments and told its sections apart only through an add-on (?tab=…). That made the setup page share its address with the product itself. Every section now has its own, meaningful address - for example …/appointments/configuration/staff for the staff members or …/appointments/configuration/calendars for the calendars. From the address bar or a bookmark you can now see at once that - and where - you are in the configuration. Search, page and sort within a section still live in the address, so a copied link shows the same view. Old bookmarks pointing at /appointments?tab=… keep working - they redirect to the new address automatically.
Open the Knowledge Base → -
A useful entry point instead of an empty page
If you have no link but may manage bookings, opening the appointments area now takes you to Booking Management directly instead of the empty personal page.
Open the Knowledge Base → -
An empty selection explains itself
In the Create staff member dialog, the Languages field used to stay simply empty - which looked like a loading error. It now shows a hint pointing to the Languages tab. And the public booking page says that no appointments are currently offered instead of silently staying on step 1.
-
Appointment emails are actually sent now
Confirmations, reminders, cancellations and reschedules were being created but never delivered - the part that sends them was missing. From now on your customers receive:
-
Appointments can be booked again
Every appointment is booked in a specific language - and because no tenant ever had a booking language on file, there was no bookable slot anywhere: the public booking page at /termine stayed dead even with appointment types, staff and working hours fully maintained. Every existing and every newly created environment now starts with its own languages, at least German and English, and your existing bookable staff were assigned the default language once. Nothing has to be added by hand. On the booking page nothing used to happen after choosing an appointment type - now it does.
Open the Knowledge Base → -
Booking languages come from your language set
The Languages tab no longer keeps a third list of its own; it shows the languages you already maintain under Settings → Languages. You pick a language there instead of typing a code, and name and code come from your set, so they match the rest of the system. The code now follows the usual spelling (de, en, and pt-br for regional variants) instead of the former capitals. Once a language has been added its code is fixed, while Name and Active stay editable.
Open the Knowledge Base → -
Embedding is unchanged
The booking widget on your own website continues to run through your tenant address and was not affected by the fault.
Open the Knowledge Base → -
Existing data is kept
Existing appointment staff were matched to the right personnel record automatically wherever the match was unambiguous. In doubtful cases the entry stays as a manual one, and you can add the link in the dialog at any time. External people without a personnel record are still handled via Keep without a personnel record.
-
Google synchronisation now runs by itself
Calendar sync previously had to be triggered by hand in the settings, and the watch channels to Google expired after a week at most without being renewed. A background service now handles both: synchronisation at the interval you configured per connection (default 60 minutes), and channel renewal every hour.
Open the Knowledge Base → -
Google Workspace sync prefills the link
When the sync creates a new bookable staff member and exactly one active employee record carries the same email address and a user account, the link is set automatically. If the match is ambiguous it stays empty and you set it by hand.
-
Holidays are resolved per person
For linked staff it is no longer a single switch that applies to everyone, but the country and region of their own holiday calendar in HR, and for an approved stay abroad even the residence country, day by day. A team with a colleague in Vienna and one in Munich is therefore only half closed on 3 October. The Holidays tab of Appointment Booking still applies to everyone at once.
-
If the person is missing, create them without leaving the dialog
Create a new person and Create a new team produce a full record in staff management - not a second one valid only for appointments. The button appears only if you are allowed to manage personnel.
-
Leave, public holidays and Google appointments now block slots automatically
Until now Appointment Booking only knew about its own absences and holidays. Anyone whose leave was approved in HR still stayed bookable on the public booking page. If a bookable person is connected to their personnel record under Person from staff management, three further sources now feed into availability: approved absences, the holidays of their country, and their Google appointments. Without that link, nothing changes. The block applies to the free slots shown as well as to a booking submitted directly.
Open the Knowledge Base → -
No more identifiers in the list
The staff and team lists showed raw identifiers (long strings such as 3f2a…) instead of readable names in several places. They now show the name, with the department or position underneath where names could be confused. If an entry cannot be resolved, it reads Unknown - never the identifier again.
-
One fixed address for the booking page
The booking page at appointment.scs.sellerlogic.com loads data again. For your customers, however, the right address is and remains your own shop address plus /termine (see below) - that is also where confirmation e-mails and the embed code point. Until now that address answered the request but could not load any data; appointment types and free slots stayed empty. This is fixed. The spellings booking.… and appointments.… considered earlier do not lead to the booking page; they were never served and never sent in any link. If you noted one of them down somewhere, please replace it once.
-
Only "busy", never "what"
From calendars, only the busy time span is evaluated. Titles, locations and attendees are never read and appear nowhere in the public booking flow.
-
Reminders survive a reschedule
When an appointment is moved, the reminders for the old time are withdrawn and re-scheduled for the new one. Reminders for cancelled appointments are no longer sent.
-
Staff and teams now come from staff management
The appointments area used to keep a second list of its own - anyone created in the personnel file had to be typed in again under Appointment Booking → Staff, and a rename in the personnel area never reached this page. The dialog now has a Person from staff management field: you pick the person, and name and email come from there. Only active people are offered; those who have left no longer appear. When someone is renamed in the personnel area, the name changes immediately in the appointment list, workload view, absences, reports, and appointment emails. The same applies to teams via Team from staff management.
Open the Knowledge Base → -
The assigned team calendar now blocks booking times too
The calendar assignment on the Calendars tab had just been made storable, but at first it only recorded which team works on which calendar. From now on it takes effect: appointments of the assigned calendar's members count as busy time for every member of the team. The note on the tab saying this check was still being worked on is therefore obsolete and has been removed.
Open the Knowledge Base → -
The Calendars tab now actually saves - and you pick the calendar
On the Calendars tab of the appointment settings you could assign a calendar to a booking team, the confirmation appeared - and nothing was stored. The next time you opened the tab it was back to "No calendar". Fixed: the assignment is saved and shown again after a reload. The list offers the calendars of your connected Google account, by name - you never have to type or paste a calendar ID. Add calendar links a calendar that already exists in Google; ones that are already linked are marked. If no Google account is connected, the tab says so and links to the setup. If an assigned calendar was deleted, you now see "Assigned calendar no longer exists" instead of an unreadable ID. The automatic availability check this tab still owed you at that point followed within the same month - see the entry on the blocking team calendar above.
Open the Knowledge Base → -
The embedded booking widget works again
The widget you place on your own website via the embed code showed an error page instead of the booking form - it pointed at an address where the booking page does not live. It now shows your public booking page at /termine on your own shop address, the same page customers can open directly - and on your own custom domain if you use one. The embed code itself does not change, so there is nothing to re-paste.
Open the Knowledge Base → -
The link can now be set in the form
The Staff tab of the appointment settings has a new Linked user/employee field. Use it to assign the user account under which a bookable staff member sees their own appointments. Entries already claimed elsewhere cannot be selected, and people without a user account are flagged as such. The staff list shows the link in its own column.
Open the Knowledge Base → -
The personal appointment view follows along
When you pick a person from staff management, the system sets the user-account link itself - you no longer make the same assignment twice. The Linked user/employee field therefore only appears for entries without a personnel record.
Open the Knowledge Base → -
The personal management link is in the email
The confirmation and reschedule emails carry the link your customers use to view, reschedule or cancel their appointment - exactly the link the handbook already describes. It points at your own shop address (…/termine/…), or at your own domain if you use one.
-
The widget grows with its content again
The embedded form stayed at the height configured for the widget and cut off longer steps. It now adjusts its height automatically again, as described under "Embed code".
-
The wording is editable
The five new templates (appointmentconfirmation, appointmentreminder24h, appointmentreminder1h, appointmentcancelled, appointmentrescheduled) ship in German and English under Settings → Email templates and can be edited like any other template.
-
Traceable
Every appointment email that goes out appears in the email log. If an email cannot be delivered after several attempts, it stays visible in the queue with its error message instead of disappearing silently.
-
Your booking page now lives on your own shop address
Customers book at https://your-shop-name.scs.sellerlogic.com/termine - or at https://www.your-domain.com/termine if you use your own domain. This is the address for newsletters, email signatures and business cards; it stays the same regardless of your widgets. The personal link for rescheduling or cancelling sits below it (…/termine/b/…).
Open the Knowledge Base →
July 2026
-
Appointments is now its own product
Appointment booking used to be a section inside CRM. You now find it as its own "Appointments" entry in the product rail on the left, alongside CRM, HR and Sign. If you only use appointments, you no longer need to open CRM to get there.
-
Full rename to "Appointments"
Beyond the product name, the technical names now carry the new term too - API paths (/appointments, /store/appointments), database tables, permissions (appointments:…) and the public booking page. Nothing changes in how you use it. If you embedded the booking widget on your website, please copy the embed code once more under Appointments → Widgets.
-
New page addresses
The pages now live under /appointments/… instead of /crm/booking/…. Please update any saved bookmarks once.
-
What stays the same
Nothing changes about the features, your bookings, appointment types, staff, or already-embedded booking widgets. An individual booked slot is still called a booking; only the product was renamed.
-
Customers book their own appointments
The booking page is now a separate, publicly reachable page. Customers choose their topic, a free time slot and enter their contact details there. After booking they receive a confirmation with a personal link they can use to reschedule or cancel the appointment themselves.
-
The embed code is one line
The code under "Embed code" is now a single <script> call. It inserts the booking form into your page itself and adjusts its height to the content automatically, so nothing gets cut off. Please replace already embedded widgets with the new code once.
Open the Knowledge Base → -
Consistent controls across the booking area
All booking-related pages (appointment list, dashboard, the booking page with services, appointment types, staff, teams, languages, holidays and calendars, plus widgets, workspace and email rules) now use the shared UI-kit building blocks (buttons, input fields, dropdowns). Nothing changes for you in look or behaviour - the update simply makes every area look consistent and behave the same in both light and dark mode.