Clients see exactly what cancelling a class costs, before they cancel
The cancel dialog now states your real rule for that booking at that moment — free, or late with the exact fee and what happens to the clip — in your venue's local time, and the late-cancellation receipt lists every detail.
When a client cancels a class booking, the dialog no longer says a fee "may" apply. It checks your cancellation settings at that moment and tells the client exactly what will happen: - **Free:** "Cancelling now is free. Your clip goes back on your pass. Free cancellation ends at 06:30 today (venue time)." - **Late:** "Cancelling now counts as a late cancellation: the cancellation window closed at 06:30 today (venue time). You will be charged 50 kr and the clip stays used." - **Not allowed online:** when you have turned off online or late online cancellation, the client is told to contact you, and no cancel button is shown. The confirm button states the outcome too, for example "Cancel for free" or "Cancel and pay 50 kr". The cancel uses the same rule as the dialog, so a client is never charged a fee the dialog did not show. The rule is checked again at the exact moment the booking is cancelled. If the window closes while the dialog is open, or even during the cancel itself, nothing is cancelled or charged and the new terms are shown so the client can decide again. If the terms cannot be checked, the client sees "We could not check the cancellation terms right now" with a Try again button, never a blind cancel. The message follows your current settings: the free cancellation window and late cancel fee under **Settings → Cancellations, fees & waitlists** (a location's own window and fee win for classes at that location), and what each pass type loses under **Settings → Membership → Late-cancel & no-show fees**. Change a setting and the next client who opens the dialog sees the new rule. Times are shown in your venue's time zone. This works on your BookingBible schedule, client dashboard, embeds and BookingBible Sites, and your own website and apps can show the same message. A booked class on the schedule also shows "Free cancellation until 06:30", using the window for that class: a course's own rule, the location's window, or your venue's. The late-cancellation fee receipt now lists: - the class, and its date and start time; - the cancellation window and when it closed; - when the client cancelled; - the fee and its VAT; - the pass, and whether a clip was deducted. The receipt shows the rule that applied when the client cancelled. If you change your window or fees later, receipts already issued stay the same. Clients can open these details from **Receipts**, and the late-cancellation email links there. The "booking cancelled" email now says what happened to the pass in the same words as the dialog: "Your clip is back on your pass." after a free cancellation, "The clip stays used because this was a late cancellation." after a late one, and nothing about clips for an unlimited pass. It no longer says "Clip restored" when no clip came back. The same terms appear wherever a client cancels: "Cancel & book this" and "Cancel the later class and book this one" in the booking form, for example "Cancel Hot Yoga 60 and pay 50 kr, then book this", and the booking assistant tells the client the terms before it cancels. **Removing a client who was marked no-show.** When you remove a client from a class after they were marked no-show, the dialog now says who marked them and when, and that their pending no-show fee will be cancelled: "Remove and cancel the fee". A no-show fee is only ever charged while the booking is still a no-show, so a client you removed, checked in or restored is never charged. The "Mark as no-show" confirmation, wherever you use it, also states the exact fee: a client with a saved card is charged within the hour; otherwise the fee stays on their account as unpaid.
Who sold it and how it was paid are now shown separately
A membership sold at the front desk with a later start date now shows the team member who sold it, even though its first payment was charged automatically on the start date.