Skip to content

← bookable

changelog

what's new in bookable

Each update is summarized from the app release notes, grouped by release. New features, fixes, and operational changes appear here when they affect how merchants or attendees use bookable.

July 11, 2026

latest release

new

  • floor — Checking in on the Floor view is now a party flow with readiness checks, quick attendee edits, ID verification, blocker overrides, guest self-serve QR codes, and mark-remaining-no-show handling from one booking panel.
  • floor — Staff can now capture required contract signatures at the door from the party check-in flow, including drawn signatures and guardian signing for minors.
  • offerings — Deactivated ticket types with no bookings can now be permanently deleted from the offer's Tickets tab, so copied or test tickets do not linger forever.

changed

  • floor — The Floor view now shows each time block's roster as a table with one row per attendee and inline check-in actions.
  • storefront — Booking cards now show the offering's location and map link so customers can confirm where their booking takes place before checkout.
  • floor — The Schedule filter now appears only when the selected location has more than one schedule, and narrows within that location to avoid empty combinations.
  • floor — Rosters now flag ID-gated attendees, unpaid bookings, time-slot context, payment-link actions, and booking view actions at a glance.
  • floor — Attendee rows now match booking detail status chips and actions, with clearer party grouping, attendee-level menus, QR access, and check-in progress in each time block.
  • floor — Party rows now share a subtle highlight and edge marker so staff can distinguish groups from solo guests more quickly.
  • bookings — Operators can now filter the bookings list to a specific offering without relying on search.
  • offerings — Offering session summary cards now show the linked schedule name next to each location's inherited defaults.
  • catalog — Archived offerings, ticket types, and add-ons now use consistent Unarchive and Delete permanently actions, and archived offerings restore their prior Shopify product visibility when reopened.
  • storefront — Members-only classes now link shoppers to the required membership's product page, and logged-out members see a log-in link instead of a dead members-only button.

fixed

  • bookings — Manual booking save errors now show specific guidance for known booking and database failures instead of falling back to a generic message.
  • checkout — Paid widget checkouts into sessions on a shared schedule now create bookings again after payment instead of dropping them on a capacity-lock error.
  • floor — The Floor date picker now stays open while moving between months, so staff can jump to another month before choosing a date.
  • offerings — Setting an offering's main photo no longer creates duplicate Shopify Files copies, and replacing or removing it clears stale Shopify product media.
  • offerings — Tagged Shopify products now appear reliably in the add-on product and variant selector.
  • offerings — Replacing an offering's main image now removes the previous image from the Shopify product unless it is still selected in the offering gallery.
  • schedules — Schedule time blocks now stay in chronological order after edits, and overlapping blocks no longer show duplicate time slots or generate duplicate sessions.
  • sessions — Monthly and series session generation no longer gets stuck on an endless spinner; validation errors, conflict prompts, and open-ended monthly generation now complete as expected.
  • email — Post-session thank-you emails now skip no-shows and wait for required attendance to be resolved before sending.

July 4, 2026

release

new

  • email — Customer transactional emails can now send from a verified merchant domain with Bookable fallback.
  • storefront — Widget settings now let merchants choose Bookable's lowercase style or normal-case labels for the storefront booking widget.

changed

  • schedules — Schedules now make their generated-session cap explicit, with blank values preserving uncapped generation.
  • sessions — Multi-location offers now group sessions by location across the offer, session, and generation views, show per-location counts before generation, and let merchants add sessions for a newly added location without touching the others.
  • items — Items can now be filtered by workflow week, and email-enabled step advances ask before sending customer updates.
  • floor — Floor view now filters by schedule and groups each location's bookings by time block across all offerings.

fixed

  • bookings — Manual booking creation now shows clearer guidance when the booking save does not return a usable result.

June 27, 2026

release

new

  • storefront — Widget settings now let merchants choose offer image ratios, use an integrated booking card style, show richer Browse & Book location details, and support text-message links in bio headers.
  • sessions — Session lists now have Bulk edit actions for archiving, deleting archived sessions, canceling sessions, changing capacity, and adjusting collaborators or membership eligibility across selected sessions.
  • memberships — Memberships can now be sold as one-time prepaid hour packs linked to existing Shopify variants.
  • storefront — Offering galleries can now include Shopify-hosted videos, with full-width product-page media and an isolated widget bundle for safer theme compatibility.
  • items — Items can now be bulk-noted with workflow-configured internal statuses like Loaded and Unloaded.
  • floor — Floor view now lets merchants pick a location and date to see sessions grouped by schedule, with live headcounts, rosters, check-in, and no-show actions.
  • memberships — Offerings and sessions can now be marked members-only, with session-level member spot limits that do not reserve normal inventory.

changed

  • storefront — Booking widgets now keep far-out bookings anchored on today, clarify card and image corner radius settings, show clearer Browse & Book catalog details, and let customers choose locations inline on product pages.
  • bookings — Bookings can now be filtered by session date range alongside search, payment, location, schedule, and collaborator filters.
  • capacity — Schedule slot capacity now protects overlapping offers at booking time and flags paid checkout orders that need merchant follow-up when capacity can no longer be reserved.
  • calendar — Calendar filters and rows now focus on operational choices, including schedule-name markers for multi-schedule days.

fixed

  • storefront — Product-page and Browse & Book widgets now stay visible and usable across mobile layouts, custom sections, sold-out locations, timezone notes, category filters, and multi-location choices.
  • offerings — Gallery saves, duplicated drop-in availability, Sessions tab loading, ticket product repair, and duplicate photo selection now behave more reliably.
  • sessions — Drop-in session generation now surfaces newly added schedule slots and skips sessions that already exist for the offering.
  • bookings — Manual booking failures now show clearer retry guidance when stale session details or temporary database conflicts block saving.
  • items — Item checkout now narrows the option list and tells customers when the studio needs to refresh app access before items can be submitted.
  • email — Scheduled reminder and thank-you emails now send more promptly, stay in order for overnight sessions, and avoid duplicate sends when the app is scaled.

June 22, 2026

release

new

  • storefront — Custom page templates can now add the Spotlight booking app block, choose a Bookable offering product per page, and show that offering's 7-day booking widget outside product templates.
  • billing — Starter, Growth, and Pro plan gates now apply across booking limits, locations, collaborators, schedules, POS check-in, groups, AI copy, customer self-service, notifications, add-ons, memberships, waivers, ID verification, item tracking, and advanced per-location overrides.
  • storefront — New single "card" booking experience for the product page and Book now button — day, time, and tickets on one premium card covering all offering types — with a 7-day date strip and a calendar button that re-anchors the strip to any chosen date. A single "Booking layout" setting (single card / classic 7-day strip / classic month calendar) replaces the old split Date picker + Booking experience settings, and the product block gains a "Full width" hero image option and a "Show highlight badge" toggle.
  • storefront — Product pages now show a swipeable photo gallery on the offering's detail view, built from the images in the offering's gallery and placed between the "what you do" steps and the "things to know" sections.
  • storefront — Bookable-created Shopify products can now inherit a default Shopify product category from Storefront settings, with per-offering overrides. New managed products also default to untracked, non-physical variants so service offerings avoid inventory and shipping behavior by default.
  • workflows — Item-tracking workflows can now be duplicated from the Workflows list and detail pages. The copy carries over every step, email, pickup window, and product-tag setting, but starts disabled with no tracked items so you can tweak it before turning it on.
  • self-service — The customer manage-booking page now shows contact details — in the "Contact Us" notes and a "Questions?" line in the footer — so customers can reach the studio when cancel or reschedule isn't available online. Set it in Settings → Self-service: use each location's phone and email (locations gained an email field) or a shop-wide custom override.
  • workflows — Item-tracking workflows now live in their own Workflows area, can link to schedules, and attach to specific offering locations from the offering's Locations tab instead of being authored on the location record.
  • sessions — Session rows now have an "Add group" action in the row menu, so you can start a new booking group for a session without opening it first.
  • sessions — Drop-in offerings can now run on only some of their schedule's time slots. A new "Customize slots" control in the session generator lets you untick individual recurring slots per location — so a class can use just the Friday 9:00 and 11:00 openings instead of every slot the schedule offers, and those picks carry forward each time you generate or extend.
  • calendar — The Calendar filter can now select multiple active offerings at once, with the selection saved in the URL for reloads and shared links.
  • self-service — Merchants can now limit customer self-service reschedules to one move, with per-offering overrides. After a customer reschedules, their booking page shows Contact Us for both cancel and reschedule, and customer cancel/reschedule actions stamp visible booking tags.
  • check-in — Merchants can now require check-in at the business level, allow customer self-check-in only when check-in is required, and override both settings per offering. Required check-in sessions automatically mark un-checked-in attendees after the session ends.
  • check-in — Bookings on the check-in roster that belong to a group now show a group chip with the group's name, so floor staff can spot grouped reservations at a glance without cross-referencing the Groups section.
  • sessions — The offering's Sessions tab now has a "Show past sessions" control. Past sessions stay hidden by default to keep the list focused on upcoming dates, but a tap reveals them — listed most-recent-first and grouped by location, just like the upcoming list — with a "Hide past sessions" control to collapse them again.
  • sessions / subscriptions — Monthly subscription classes are now set up by month — pick a start month, the weekdays that recur, and an optional end month. Each month gets the same number of sessions (up to 4 per weekday) so the recurring price stays consistent; billing recurs monthly at the offering's price and ends cleanly when the end month is reached, or rebills until the customer cancels when no end month is set. The "Prorate first month" option now lives on the Sessions tab, shown once sessions are generated.
  • sessions / subscriptions — Monthly offers now let merchants choose whether the setup is treated as 4 weeks or per calendar month; calendar-month setup skips any fifth weekly occurrence so a five-week month does not add an extra included session.
  • email — Subscribers now get a heads-up a few days before each monthly renewal charge, listing the upcoming month's sessions, the amount, and roughly when the charge lands.
  • sessions — Expanding a double-booked session in the offering's sessions list now spells out the conflict in an italic note — naming the offering it overlaps (linked to that session) along with the location or collaborator and the colliding time — instead of only showing the "Double-booked" badge.
  • sessions — The session detail / check-in page now leads with Preview, Edit session, and Cancel actions in the header, and always shows its Groups and Bookings sections — each with its own New group and New booking button — whether or not the session has any bookings yet. Cancelling a session archives it and notifies active subscribers per your cancellation policy.
  • add-ons — Add-on bundles now have a Duplicate action that opens a new, editable add-on prefilled with the bundle's contents and quantities, so a near-identical bundle can be created without rebuilding it from scratch. The original bundle stays unchanged until the copy is saved.
  • add-ons — Add-on bundles can now be copied to one or more other active locations on the same offering, creating independent editable copies without changing the source bundle.
  • add-ons — Add-on bundles can now carry a percentage discount. The booking widget shows the discounted bundle total, and checkout applies the same discount when the bundle is purchased.

changed

  • offerings — Removed the Landing page URL field from the offer details form.
  • check-in — An offering's "Always show the self-check-in button" and "Self-check-in window" settings now make clear they only apply when self-check-in is enabled — when it's off they're disabled with a link to Self-service settings, and the no-show cutoff stays editable. Saving with self-check-in off no longer wipes those stored values.

fixed

  • offerings — Editing tickets on managed single-location offerings no longer fails when stale Shopify variant data still points at the old single-option product shape.
  • offerings — The Offerings list now shows per-location capacity overrides instead of the stale offering-level capacity.
  • storefront — The single-card 7-day strip now shows a 21-day window starting today, or from the date picked in its calendar button, and resets the strip scroll position after calendar jumps.
  • admin — Manual bookings and groups no longer block immediately when Shopify's customer-access preflight check is temporarily unavailable, while still blocking when customer scopes are definitively missing. Legacy unlinked groups can now save non-contact edits without requiring customer access.
  • items — The Items tab now shows the Pro upgrade state instead of loading a blank page when item tracking is not available on the shop's plan.
  • offeringsUse Shopify routing now saves correctly for ticket-only locations while still requiring a Shopify-linked fulfillment location before physical add-ons can route inventory from a non-Shopify venue.
  • offerings — The Collaborators tab now distinguishes no collaborators, no collaborators available for a location, and all available collaborators already attached. Creating a collaborator from an offering now preselects that location, and assign/restore actions re-check active/location eligibility before saving.
  • bookings — Manual bookings and groups now request Shopify customer access before save when the shop has not granted customer read/write scopes, instead of failing only after the merchant submits the form.
  • billing — Plan gates now re-check paid add-ons, payment links, memberships, documents, schedules, and Starter active-record limits at the write paths that persist them, so stale carts or downgraded shops cannot bypass tier limits.
  • email — Booking emails on every plan again include the customer's booking/check-in link, so Starter customers can reach their check-in QR for staff to scan.
  • billing — A paid membership or add-on is now honored even if the shop's plan was downgraded after checkout, instead of being silently dropped — the customer keeps what they paid for and the mismatch is logged for follow-up.
  • billing — Plan changes now take effect on storefront, POS, and email surfaces right away (via the subscription-update webhook) instead of waiting for the merchant to reopen the admin.
  • billing — Billing now shows only the current plan and pricing tiers, removing an unshipped usage panel from the merchant UI.
  • billing — Starter booking creation now enforces the 50-booking monthly cap, the offering Notifications tab correctly gates pre-event reminder overrides to Growth, and location creation/import actions show the Starter one-location cap before merchants hit the server-side gate.
  • offerings — Stale offering admin links now show an "Offering not found" page with a Back to Offers action instead of the generic server error screen.
  • storefront — The booking widget now adopts the theme's fonts and button colors/corner radii consistently across the booking card and pickers — under both Dawn and Horizon/Savor token conventions — instead of falling back to system fonts or hardcoded styles. Offering detail pages also read cleaner: a collapsible description preview, consistent section headings, a location map-pin, the Book now button in the same spot for every offering type, and bulleted fields no longer split decimals like "1.5 hours".
  • storefront — Bookable's filled Book now buttons stay visible on hover in white themes, instead of inheriting a white hover background while the label remains white.
  • offerings — The offering type chip now reads "No type set" for offerings that don't have a type chosen yet, and shows the same label on both the offerings list and the offering detail page — previously it said "Offering" in the list but "Class" on the detail page, neither of which signalled that a type still needs to be picked.
  • offerings — The "View on store" action in an offering row's kebab menu now opens the same page as the Preview button on the offering screen, instead of occasionally landing on the wrong page.
  • item tracking — Customers can now submit items on the checkout page when the workflow's product tag is written differently from the Shopify tag — for example firing-request now matches a product tagged Firing Request. Previously every option in the dropdown failed on submit with "One of those options isn't set up for item tracking," because the tag match required an exact spelling while Shopify's own tag search did not. The dropdown also no longer lists options that can't actually be submitted.
  • self-service — Picking a replacement session after the studio cancels a session no longer counts as the customer's one self-service reschedule, so they keep the ability to cancel or reschedule that booking. Previously a studio-forced move showed "You've already rescheduled this booking" on both the cancel and reschedule sections.
  • booking pages — Customer booking and manage-booking links no longer flash an insecure "http" page (the browser's "not secure" warning) before settling on https. The app now trusts the platform's TLS proxy so the pages it builds always use https, and sends HSTS so browsers never try http in the first place.
  • storefront — The "What's included" list on a product page no longer breaks bullets in the middle of numbers — a "1.5-hour session" or a "$16.50" price now stays in one bullet instead of splitting into "1" / "5-hour ..." or "$16" / "50 ...". Items are split on commas, the way the list is written.
  • offerings — Changing an offering's image in Bookable now updates the linked Shopify product's featured image, so the storefront and checkout thumbnails follow the hero instead of sticking on the image the product was first created with. Combined with the existing Shopify-to-Bookable image read, the offering hero is now two-way.
  • storefront — Bookable product pages no longer flash the full offerings catalog before showing the offering's detail. The product-page widget now shows a loading state until it resolves to that offering, and a clear "not available" message if the product isn't linked to an offering.
  • storefront — New offerings now reliably publish to your Online Store. After an offering goes live, Bookable verifies its product is actually published to the Online Store sales channel and republishes it if not — fixing product pages that returned a 404 until you manually unpublished and republished.
  • capacity — Changing a location's capacity now updates the sessions that were already created instead of only future ones. If a decrease would overbook sessions that are already full, you get a warning listing them and can apply the new capacity everywhere it fits while leaving the full sessions untouched.
  • sessions — Editing a session's capacity now sets the total capacity directly instead of adding it on top of existing bookings, so raising a session from 5 to 10 spots with 3 already booked lands on 10, not 13.
  • item tracking — Checked-in attendees now see only the Bookable item-details action for product-tag workflows; legacy generic Shopify product link controls have been removed from customer and admin surfaces.
  • sessions — The offering Sessions tab now links schedules through the generator card only, and each schedule picker only shows schedules for that offering location.
  • offerings — The offering Preview action now opens the offering's own product — Shopify's working product preview page when available, otherwise the storefront product URL — instead of a blank public URL or, for stores with a booking page configured, the shared catalog booking page.
  • billing — Paid plans (Growth and Pro) are now detected reliably, so upgrading from Growth to Pro unlocks email-template editing and other gated features instead of still prompting to upgrade. Plan detection reads the subscription plan handle from Shopify directly and keeps the highest active tier during a plan change.
  • offerings — The offering edit Preview action now opens only one storefront tab instead of repeatedly opening the same preview.
  • storefront — Storefront settings now normalize pasted Shopify product template names to the suffix Bookable expects, so future Bookable-created products do not get a doubled product.product... template assignment.
  • deploy — Admin tabs that were open across an app update now pick up the new version automatically instead of breaking. Previously a stale tab could show a dead page, a 404, or a raw "null" after clicking a button, and the first requests after an update were slow; the app now reloads itself at a safe moment (never while you have unsaved changes) and updates only start serving once fully warmed up.
  • add-ons — Copying a discounted add-on bundle no longer fails when Shopify discount sync hits an error; Bookable completes the copy and reports the sync issue separately.
  • photos — Uploading a main or gallery photo no longer fails with "Couldn't finalize the upload." The app now requests the write_files permission it needs to save uploads to your Files library; existing stores are prompted to grant it on next load.
  • notifications — Reminder and thank-you emails now schedule against the store's time zone instead of the server's. Previously a session's times were read in server (UTC) time, so for stores outside UTC the post-session thank-you could send hours before the session even started; auto no-show marking and the customer check-in window had the same off-by-timezone error and are corrected too.
  • sessions — The offering view and Sessions tab no longer lag when an offering has hundreds of sessions. The list now loads in pages with a "Show more" control, so opening an offering and switching locations stays responsive.
  • add-ons — Add-on images now use the same Shopify Files picker and upload flow as other image fields, while existing image URLs continue to show in the form preview.
  • add-ons — Add-on checkout lines now keep their Shopify fulfillment source when a location is Shopify-linked or uses a fulfillment-location override, so physical add-ons can route inventory from the intended Shopify location.
  • sessions — Canceling a session from its detail page now requires a reason and disposes active bookings instead of leaving ordinary paid bookings live. Merchants choose refund, store credit, or no-refund handling; seats are released, customers are notified, and bookings that need manual payment follow-up are called out after the cancellation.
  • sessions — Booking and session times now default to the Shopify store's time zone on customer and admin surfaces, with store-zone labels on session times instead of relying on the viewer or server time zone.
  • bookings — Newly paid storefront bookings now stay searchable by purchaser name or email even before the search index catches up, so app-review and merchant searches do not briefly show "No matching bookings" for a booking that already exists.
  • locations — The New location page no longer shows a floating Save bar on top of the "Create location" button. Creating a location now has one clear action — the "Create location" button — matching every other create form.
  • offerings — Duplicating an offering now produces a ready-to-use copy instead of one flagged with "missing Shopify product" and "no tickets" warnings. The duplicate carries over every tab's data — tickets, locations, hosts, add-ons, images, documents, category labels, and membership links — and gets its own freshly created Shopify product and ticket variants, just like a brand-new offering. The copy lands as an inactive draft so it can be reviewed before going live.
  • offerings — Editing an event no longer shows a separate "Event settings" location picker on the Details tab — a leftover from before locations moved to the Locations tab, and especially confusing right after copying a one-time event. Set an event's location on the Locations tab, the same as every other offer type.
  • email — The post-event thank-you email now skips canceled bookings while still sending to attendees whose final post-session status is no-show / not checked in.
  • add-ons / tickets — Saving a new add-on or ticket now works reliably. The Add-ons and Tickets editors no longer show a phantom save bar on arrival (for example when you jump into Add-ons from a location's "add on the Add-ons tab" link), and clicking "Add add-on" / "Add ticket" no longer gets stuck behind a re-appearing save bar that blocked the save — reverting a change now also clears the bar as expected.
  • offerings — Setting an offering's main photo and then saving no longer attaches the same image to the Shopify product twice — the photo is added to the product once.
  • sessions — Generating or extending sessions now lights the always-visible loading bar at the top of the admin for the whole run, instead of only an inline spinner that could sit below the fold — so it stays clear that generation is working and there's no reason to re-click.

June 8, 2026

release

new

  • bookings — When a membership covers a booking, the booking detail now shows it was paid with the membership and names which membership was used, so a paid booking with a $0.00 total is no longer ambiguous.
  • customers — Category labels can now be scoped to customers, so you can tag a customer "VIP", "regular", "instructor friend", and so on. Apply or remove a customer's labels from a booking's customer card, filter the bookings list by customer label, and see the labels on booking rows and at check-in next to the visit and anniversary badges.
  • settings — Self-service settings now include a default cancellation outcome (contact merchant, refund, refund to store credit, or no refund) that offerings inherit unless they set their own, a toggle to let attendees check themselves in from their booking link, and a toggle to allow cancelling a single attendee out of a party or group booking. Store credit is selectable, but until online store-credit refunds ship a self-service cancellation set to store credit asks the customer to contact the merchant.
  • check-in — The manual Verify ID action now opens a dialog with a birth-year field that flags an under-21 guest and, when someone only turns 21 later this year, warns staff to check the month and day on the ID and states the exact cutoff date for being 21.
  • locations — Locations linked to a Shopify location now show their address and phone pre-filled from the Shopify record and read-only in Bookable, so the two stay in sync. Manual locations are unaffected and stay fully editable.
  • calendar — Each session on the calendar now has a kebab menu with quick actions — Check in, Edit session, Add booking, Add group, and Archive — so staff can act on a session without leaving the calendar. Archiving hides the session from new bookings and can be reversed from the sessions list.
  • schedules — Archived schedules can now be permanently deleted after choosing whether affected offerings should use another active schedule or keep the original schedule name with a deleted label.
  • offerings — Permanently deleting an archived offering now asks whether to remove all of its sessions or keep the past ones and remove only upcoming sessions. Bookings and attendance on kept past sessions are preserved, and only upcoming bookings still block a delete.
  • collaborators — Collaborator bios now include an Other Link social field for profiles or pages that do not fit the platform-specific fields.
  • locations — Archived locations with booking history can now be permanently deleted after choosing whether historical bookings should point to another active location or keep the original name with a deleted label.
  • sessions — The Sessions list has a new "This week" filter that shows only the sessions falling in the rolling next 7 days, with a clear "No sessions in the next 7 days" message when that window is empty.
  • memberships — The membership detail page now splits Eligible sessions and Customer usage into their own tabs, and you can mark an individual upcoming session not eligible for the membership (or make it eligible again). The override carries through to booking eligibility.
  • collaborators — Collaborators now support a main image plus a gallery of additional photos. Collaborators, Offers, and Locations share one image picker with the same upload/select modal, which now scrolls via trackpad, swipe, and mouse wheel in addition to dragging the scrollbar.
  • calendar — The Calendar location filter is now multi-select, so you can view several locations at once instead of one or all, and each session entry shows its location as a clear badge.
  • session generator — When generated sessions would overlap an existing session — same location or same collaborator — the generator now surfaces each conflict and lets you skip those times or overbook them (created with a Double-booked chip) instead of silently failing to save.
  • offerings — Series can now be repeated as draft copies with all sessions shifted to a new start date, while carrying over tickets, add-ons, collaborators, and offering config.
  • manage booking — Bookers now manage their whole booking — cancel, reschedule, add-ons, offering details, and the price summary — from a single page alongside their waiver, ID, and check-in. The old separate manage-booking link redirects here, so existing email links keep working.
  • offerings — Offer locations can now choose a Shopify-linked fulfillment location for physical add-ons at non-Shopify venues; checkout now constrains those add-on cart lines to that source and admin saves block invalid configs.
  • add-ons — Admins can now configure hidden Shopify products as add-ons without exposing them in the public booking picker.
  • check-in — Scanned customer QR codes now show relationship context for the matched attendee, including badges, lifetime spend, past visits, pending bookings, and ready pickups. Milestone badges now also flag a customer's 10th, 25th, 50th, and 100th visit and their yearly customer anniversary.
  • schedules — Schedule rows are now expandable. Each row summary shows the slot capacity, and expanding a row reveals the full weekly hours and up to 4 upcoming blackout dates without opening the schedule.

fixed

  • navigation — Creating or saving a schedule now returns you to the Schedules section, and Schedules is available from the admin Shortcuts instead of the main left nav.
  • offerings — The per-location Fulfillment location override on the offer Locations tab now appears only for non-Shopify locations. Shopify-linked locations already fulfil through Shopify, so the picker is hidden there.
  • offerings — On the offer view, the "Viewing" location buttons now filter the session list to the selected location, matching how they already scope tickets, add-ons, and collaborators.
  • offerings — The location picker for adding a location to an offer now lists only active locations and rejects archived location IDs on save.
  • sessions — The monthly session generator's "Repeat on" weekday picker now has a help tooltip clarifying that it generates a session on each selected weekday every week, not a single class the customer attends multiple times.
  • settings — Removed the category label list and Filter chips from Settings > Defaults; manage categories and their storefront filters on the Category labels screen.
  • blackouts — Blackout schedule choices now exclude archived schedules and reject archived schedule IDs on save.
  • sessions — Session generation now shows in-progress feedback and ignores repeated clicks while a generation run is already submitting.
  • offerings — Hid the preview Create with AI entry point on the Offerings list while keeping the create-offer AI prompt available.
  • sessions — Same-day sessions now validate against the shop's current date and start time, so future starts today are allowed while earlier starts are blocked.
  • sessions — Fixed drop-in setup so location schedules with active days are used for generation, explicit per-location schedule links are honored, and location-specific Solo/Couple ticket selections save reliably.
  • offerings — Multi-location offers now show a compact location count on the Offerings list instead of a stale default location chip.
  • offerings — Image gallery edits and Publish to channel selections now mark the offering form dirty and save reliably.
  • locations — Adding an item-tracking workflow step now keeps the merchant's place in the location editor instead of jumping back to the top.
  • bookings — Move balance charges now use destination ticket variants when possible and cheaper moves allocate refunds across split-tender payments.
  • storefront — Product-page app embeds now load the booking widget host for custom Book now triggers on first navigation, avoiding a refresh-only recovery path.
  • privacy — Generated-copy AI observability no longer sends raw prompt or response content by default, and merchants can control redacted log sharing.