MEMBERS
Membership cards
Sign up, card emailed automatically, optional photo, QR on the card. Suspend, revoke, renew or extend from one list.
Door · Till · Ticketing · Members
Memberships, ticketing, door scanning, the bar till, stock, credit and end-of-night reporting — one system, one login, on your own server. Built for clubs and festivals that are tired of stitching five tools together at 3am.
Installs in 10 minutes · PHP + MySQL · no app store, no lock-in
The problem
The guestlist is in a spreadsheet. Tickets are on a platform. The till doesn't know who's a member. Stock is counted on Sunday from memory. By the time the numbers line up, the night is a week old and the answer is a guess.
A member's card, their ticket, their bar credit and their spend are the same record. Scan once at the door, charge at the bar, and the night's revenue, VAT split and stock movement are already written by the time the lights come up.
Signature walkthrough
Every part of havn exists because something happens at a specific hour. Scroll, and the night plays out.
21:40 — STAFF SIGN IN
Admin sees everything. Bartender opens straight into the till. Security gets the door scanner and the attendance log — nothing else. Accounts are created, blocked or reassigned in seconds, and the last remaining admin can't be demoted, so nobody locks the owner out at midnight.
22:20 — STOCK CHECK
Ingredients are the physical things that run out — bottles, spirits, mixers, food — each with a unit, a cost and a low-stock threshold. Products are what you actually sell, and each one carries a recipe. A bottled beer is one line. A Mojito is five. Sell one, and the right amounts come off the shelf.
23:00 — DOORS
The same phone camera reads a membership card, a ticket you sold yourself, and a Weeztix barcode synced in over webhook. The member's photo comes up next to their name, so door staff check a face rather than a signature. Check-in and check-out both land in the attendance log for the event.
00:40 — THE KIOSK
A tablet on the wall, no login. Scan your card, see your balance, pick an amount, pay by card. Credit only lands when the payment processor confirms it — never on the way back from a payment page — and the same payment can never be counted twice. The screen wipes itself after 45 seconds, so nobody's name and balance is still sitting there for the next person in line.
01:30 — PEAK
Products are photo tiles grouped by category. Tap to add, tap the quantity to set an exact number, charge. Cash and card record how it was paid; tap charges a real contactless reader; member QR deducts from bar credit against a hard balance check. Stock is allowed to go negative — a busy bartender shouldn't be blocked by a count that's off by one — but money never is.
03:50 — LAST ORDERS
A wrong round refunds in two taps. Paid by credit, it goes straight back onto the member's balance through the same ledger it came off. Paid by reader, a real refund is issued. Paid in cash, it's marked so it drops out of the night's revenue.
04:30 — CLOSE
Revenue, sale count, a cash / card / credit split, VAT broken out per rate, top sellers, and a revenue-by-event table. Filter to tonight, this week, this month, or one specific event. Export a print-ready PDF with every line item before you leave the building.
What's inside
MEMBERS
Sign up, card emailed automatically, optional photo, QR on the card. Suspend, revoke, renew or extend from one list.
EVENTS
Flyer, lineup, price, capacity. Sell your own QR tickets or point at a Weeztix shop — the door reads both.
DOOR
Camera check-in and check-out for members and tickets, with a live attendance log per event.
POS
Tablet-first, photo tiles, four payment methods, event tagging, and automatic stock depletion on every sale.
STOCK
Ingredients with units, costs and low-stock alerts. Products with photos, VAT rates and real pour ratios. Every change logged.
CREDIT
One ledger for top-ups, spend and refunds. Members top up from their phone or the in-club kiosk.
NOTIFY
Send a new event or a drinks promo to everyone or a picked list. Members get a bell with an unread dot. One-way, no replies to manage.
REPORTS
Revenue by period and by event, payment-method split, VAT per rate, top sellers, line-item PDF export.
Money and data
You're handling other people's money and other people's faces. That part isn't allowed to be clever.
Payments run on a hosted checkout page, which keeps your installation out of PCI scope entirely. There is no card number for you to store, and nothing for you to leak.
Balance is only ever topped up when the payment provider's webhook confirms the payment, using the payment session as an idempotency key. A retried webhook can't double-credit the same euro.
A declined or cancelled tap on the contactless reader never writes a sale record. Nothing in the night's revenue is a payment that didn't happen.
Photos are optional, stored on your own server, and only ever shown to the member, your staff and the door scanner. GDPR-minded by default, because a Belgian club doesn't get a choice.
Every password is hashed with bcrypt. Every form submission carries a CSRF token. Staff roles are managed in the interface, never by editing a database by hand.
It's your server and your MySQL database. No vendor holds your member list hostage, and there is no per-scan or per-ticket rake on top.
How it runs
No framework runtime. No build step. No package manager. Upload the folder, fill in the database details, open the installer once, delete it. It runs on the cheap shared hosting you already pay for.
Pricing
No cut of your ticket sales. No fee per member. Whatever the night does, the price is the same.
€149 / month
One club, one bar, one door. Everything included.
€249 / month
Adds unattended top-ups and real contactless charges at the bar.
Let's talk
Multiple bars, multiple gates, one set of numbers.
Payment processing fees are billed by your payment provider directly — havn never takes a cut.
Book a demo
Thirty minutes on a call. We open a real installation, sell a ticket, scan it at the door, pour a drink and close the till — then you decide.