), so it runs on every page. * * Any link to https://admin.southlondonacro.co.uk/book/… opens in a pop-up * instead of a new page. Without this script (or with JavaScript off) the * same links just open the booking page — nothing breaks. * * Book the next jam: https://admin.southlondonacro.co.uk/book/jam/lsbu-jam * Book a specific date: https://admin.southlondonacro.co.uk/book/jam/lsbu-jam?on=2026-10-17 * * The booking page talks back with three messages (admin/lib/book/embed.ts): * slac:height resize the pop-up to fit * slac:navigate card payment: send the whole window to Stripe * slac:close the "Done" button after a booking */ (function () { var ORIGIN = window.SLAC_BOOKING_ORIGIN || 'https://admin.southlondonacro.co.uk' if (window.__slacBookingPopup) return window.__slacBookingPopup = true function build() { var css = '#slac-book{border:0;padding:0;width:min(1120px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);' + 'border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(20,8,12,.35)}' + '#slac-book::backdrop{background:rgba(20,8,12,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}' + '#slac-book-bar{display:flex;justify-content:flex-end;padding:10px 10px 0}' + '#slac-book-close{all:unset;cursor:pointer;width:36px;height:36px;border-radius:999px;display:grid;place-items:center;' + 'font:600 22px/1 system-ui,sans-serif;color:#1d1b25;background:rgba(0,0,0,.06)}' + '#slac-book-close:hover{background:rgba(0,0,0,.12)}#slac-book-close:focus-visible{outline:2px solid #e11f26;outline-offset:2px}' + '#slac-book-frame{display:block;width:100%;border:0;height:70dvh;max-height:calc(100dvh - 90px);background:#fff}' + '@media (max-width:640px){#slac-book{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}' + '#slac-book-frame{height:calc(100dvh - 46px)!important;max-height:none}}' var style = document.createElement('style') style.textContent = css document.head.appendChild(style) var dialog = document.createElement('dialog') dialog.id = 'slac-book' dialog.setAttribute('aria-label', 'Book with South London Acro') dialog.innerHTML = '
' + '' document.body.appendChild(dialog) return dialog } var dialog = null function frame() { return document.getElementById('slac-book-frame') } function open(url) { if (!dialog) { dialog = build() document.getElementById('slac-book-close').addEventListener('click', function () { dialog.close() }) dialog.addEventListener('click', function (e) { if (e.target === dialog) dialog.close() }) dialog.addEventListener('close', function () { frame().src = 'about:blank' document.documentElement.style.overflow = '' }) } if (typeof dialog.showModal !== 'function') { window.location.href = url; return } frame().src = url document.documentElement.style.overflow = 'hidden' dialog.showModal() } document.addEventListener('click', function (e) { if (e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return var a = e.target && e.target.closest ? e.target.closest('a[href]') : null if (!a || a.href.indexOf(ORIGIN + '/book/') !== 0) return e.preventDefault() open(a.href) }) window.addEventListener('message', function (e) { if (e.origin !== ORIGIN || !e.data || typeof e.data !== 'object') return if (e.data.type === 'slac:height' && typeof e.data.height === 'number' && window.innerWidth > 640) { frame().style.height = Math.max(360, Math.min(e.data.height, window.innerHeight - 90)) + 'px' } else if (e.data.type === 'slac:navigate' && /^https:\/\/checkout\.stripe\.com\//.test(e.data.url)) { window.location.href = e.data.url } else if (e.data.type === 'slac:close' && dialog) { dialog.close() } }) })()

Cancellation and Refund Policy

Last Updated: 29 October 2026

Draft — not reviewed by a solicitor.

This policy forms part of our Booking Terms and Conditions.

1. If we cancel

Full refund, always. You do not need to ask and you do not need to chase.

If we cancel a class, jam or workshop for any reason, everyone booked is refunded in full. If we cancel at short notice we will tell you why.

If the venue changes and you cannot make the new one, that counts as us cancelling on you: full refund, whatever the notice period.

Where the cause is outside our reasonable control (clause 12 of the Booking Terms), you are still refunded — that clause limits our liability beyond the price paid, it does not let us keep the money.

2. If you cancel

Notice you giveWhat you get
More than 7 days beforeFull refund
48 hours to 7 days beforeFull refund as class credit — or a full refund to your card if someone from the waiting list takes your place
Less than 48 hours beforeNo refund — unless someone from the waiting list takes your place (see below)
No-show, no contactNo refund

The 48-hour line has an honest reason behind it: venues are booked and teachers are paid whether or not you come, and a place given up on the day is very unlikely to be refilled.

Inside 7 days, you can still ask us to try. Tell us you want to release your place, and we will offer it to the waiting list for that class. If someone takes it before the class starts, you get a full refund — your place was genuinely filled, so nobody lost out. If nobody claims it in time, the place stays yours and you get what the table says for your notice — class credit, or nothing inside 48 hours — because the venue and teacher are still being paid for it either way. Either outcome, we will tell you which happened.

But talk to us. Illness, injury, bereavement, a family emergency, a cancelled train — email bookings@southlondonacro.co.uk. We will almost always sort something out. This table is a default, not a wall. It exists so that casual cancellations do not cost the community money, not to punish people having a bad week.

Class credit issued under this policy is valid for 6 months and can be used on any class.

2a. Giving your place to someone else

Instead of cancelling, you can pass your place to a named person, free, up to 48 hours before the start — see clause 2 of the Booking Terms. Nothing is refunded, because the place is still used; the booking simply moves into their name.

3. Cash-on-the-day bookings

A cash booking that was never paid has nothing to refund. Please still tell us you cannot make it, so we can release your place to someone else.

If a class is full and people are waiting, a cash place that is still unpaid after the pay-by time in your confirmation email may be released to the waiting list (Booking Terms, clause 4). We will email you if that happens. Nothing is charged, so there is nothing to refund. Paying by card before the pay-by time keeps your place.

Repeated unpaid no-shows may mean we ask for payment in advance in future (Booking Terms, clause 4).

4. Class passes and multi-class packs

Cancelling a class booked with a pass credit returns the credit to your pass, on the same timings as the table in clause 2.

A returned credit keeps the pass's original expiry date. Returning a credit does not extend the pass.

You can cancel a pass within 14 days of buying it. This is your statutory right under the Consumer Contracts Regulations 2013, and it applies because a pass is not tied to a specific date. If you have not used any credits you get a full refund. If you have, we deduct the value of the classes you have already had — the pass price divided by the number of credits, for each credit used — and refund the rest. After 14 days, passes are non-refundable.

Passes expire on the date shown when you buy them. Unused credits are not refunded at expiry, so please buy the size of pass you will realistically use.

5. Memberships

Membership is a one-off annual purchase, not a subscription. It does not auto-renew and your card is never charged again.

You can cancel within 14 days of buying for a full refund, provided you have not yet booked anything at the member rate. This is your statutory right under the Consumer Contracts Regulations 2013.

If you have already used the member rate within those 14 days, we may deduct the difference between what you paid and what you would have paid without membership, and refund the rest.

After 14 days, membership is non-refundable — it is a year-long benefit, not a service delivered on a date. If your circumstances change significantly, email us; we would rather hear from you than have you write it off.

If you cancel a membership, bookings you already made at the member price stand at the price you paid.

6. Waiting lists

If a class is full you can join the waiting list with your name and email.

When a place comes up, we email people on the waiting list, normally in the order they joined, and the place goes to whoever books it first. We do not hold it for anyone, so if you want it, book straight away. If someone else gets there first, you stay on the list for the next place.

Waiting lists can be capped. For jams the waiting list holds up to 10 people per date. Once it is full you cannot join it for that date.

Joining a waiting list costs nothing and commits you to nothing. You can ask to be taken off it at any time. Your waiting-list details are deleted 30 days after the event (Privacy Notice, clause 6).

This is also what pays out the exception in clause 2: if you release your place inside 48 hours and the waiting list fills it, you are refunded in full — because someone genuinely took the spot, the same as if a place came up any other way.

7. How refunds are paid

Refunds go back to the original payment method, through Stripe. They usually appear within 5–10 working days, depending on your bank — that delay is on their side, not ours.

We do not refund to a different card or to a third party.

8. Your statutory rights

Nothing in this policy affects your rights under the Consumer Rights Act 2015 or the Consumer Contracts (Information, Cancellation and Additional Charges) Regulations 2013. Where those give you more than this policy does, they win.

Note in particular that the 14-day cancellation right does not apply to classes booked for a specific date — see clause 5 of the Booking Terms, which explains why.