session.checked_inAttendance in a spreadsheet
Every check-in is a row in Google Sheets: date, class, coach, client. The club board's report, already done.
Every booking, check-in, stamp and sale in Qruuk is an event. Send it to your spreadsheet, your newsletter, your team chat or your own code, and let your till or online shop report sales back.
The name comes from QR and hook, as in webhook. Qruuk started as a developer tool for what happens after a QR code is scanned: the automations and side effects a scan sets off. Today it's a tool for small gyms and cafés, but the scan is still the hook everything else hangs from.
Pick the events you want. Qruuk sends each one as a signed POST to your address, with the card, the program and the customer.
session.bookedA client booked a placesession.booking_cancelledA booking was cancelledsession.checked_inA client checked insession.check_in_undoneA check-in was undonesession.no_showBooked, but didn't comesession.cancelledA class or event was cancelledcard.issuedA new cardentry.recordedA visit on a pass or membershipticket.usedA ticket was checked at the doorstamp.addedStamps were addedreward.earnedA reward is readyreward.redeemedA reward was usedcustomer.opted_inA customer agreed to hear from youcustomer.unsubscribedA customer opted outorder.paidAn order was paidEach one is an event and a step in Zapier, Make or n8n.
session.checked_inEvery check-in is a row in Google Sheets: date, class, coach, client. The club board's report, already done.
session.no_showWhoever booked and didn't come gets an email or text the next morning: "Missed you yesterday. See you Thursday?"
session.bookedA new booking lands in the coach's Slack or Telegram channel.
customer.opted_inA customer who agreed to hear from you joins your Mailchimp list (or any other); one who opts out leaves it.
order.paidEvery paid order becomes a row in the sheet your accountant picks up at the end of the month.
reward.earnedA full card sends a thank-you email, or a coupon for next time.
A till, an online shop or your own code can tell Qruuk about a sale and issue cards.
Two lines you paste into your site: visitors see the week's classes, book a place and buy a pass right there. The same data as your booking page; works in Wix, WordPress, Voog, Squarespace and plain HTML.
<script src="https://app.qruuk.com/embed.js" data-qruuk="your-studio"></script>
A free class is booked right in the block, with a first name. Paying for a pass or a drop-in opens your Qruuk payment page; the pass arrives by email. The snippet with your own address is under Settings → Website, with a live preview.
data-view shows only the schedule (schedule), the passes (passes) or the extras (products); data-accent gives the buttons your site's colour, data-lang the language, data-coach one coach's classes.
Every webhook request carries Qruuk-Signature: t=<time>,v1=<hmac>: an HMAC-SHA256, with your endpoint's secret, of <time>.<body>. Answering 410 ends the subscription. The envelope's id is the event's id, so you can spot a repeat.
POST https://your-endpoint.example
Content-Type: application/json
Qruuk-Signature: t=1792646400,v1=5f2b…
{ "id": "e3b0c442-…", "type": "session.checked_in", "createdAt": "…", "data": { … } }
The full description (OpenAPI, webhooks, MCP) is in /llms.txt and the MCP resources.
Start free. A webhook and an API key come with the Free plan too.
Start free →