Clubnetz

Club management and court booking for tennis clubs

Clubnetz is a free, open-source web app. Members book a court in a few taps on their phone and pay their membership fee online. The board manages members, seasons, fees, court sales, events, news, the clubhouse and the books in one place.

Free for clubs and members. No advertising.

The member's start page in Clubnetz: greeting, the next match, season statistics and upcoming bookings The booking grid on a phone, with the bookings of all courts for one day
  • Free for clubs and members
  • Open source (AGPL-3.0)
  • English and German
  • Works on every phone
  • Hosted in the EU

A look inside

This is what your club gets

Real screens of a club with more than 600 members. The names are invented, and so are the figures in the books and the clubhouse.

Every court and every booking at a glance

The booking grid shows all courts of a day with play modes, prime time, blocked courts and your own matches. Tap a free slot to book it, partners included.

  • Opening hours, prime time and quotas are checked automatically
  • Weekly series, court blockings and tournaments in the same grid
  • All upcoming club events in the calendar
Booking grid for one day with seven courts and singles, doubles, training and tournament bookings The club calendar on a phone with the club championship and the end-of-season barbecue

New

Find players without the group chat

Ask a few members, or one of your saved groups, to play at an exact time. Everyone answers with one tap, and when the last spot is filled, Clubnetz books the first free court of your choice.

  • Nothing is blocked while you wait for answers
  • Booking rules, quotas and play modes are checked as for any booking
  • Groups to reuse, like the Thursday crew or your team
Looking for players: a singles request from another member to answer, and your own doubles request A doubles request on the phone: three of four players, who is in and who has not answered yet

Membership fees without the spreadsheet

The club enters its price list once per season. Members choose their plan, for themselves or the whole family, and pay online. The treasurer sees at a glance who has paid and who has not.

  • Card and SEPA direct debit through the club's own Stripe account
  • A paid fee enrolls the members in the season
  • Bank transfers and cash recorded by hand, export to Excel
The treasurer's overview of membership fees: amounts received and open, and who has paid A member chooses a membership plan on the phone and pays it online

Sell free court time to non-members

Players without a season membership sign up for free, tap a free slot, see the price and pay online. The court is booked for them right away, and the treasurer sees every sale in one list.

  • Prices per court, weekday and time, for example a cheaper daytime rate
  • Paid online straight to the club's Stripe account, or with a credit from the club
  • Members of the season keep booking for free
The treasurer's court sales: bookings sold, amount paid online, credits used and the list of purchases A player without membership buys an hour on court 1 on the phone and pays it online

New

The club's books, almost by themselves

Income and expenses by category, tax sphere and cost center, next to the year before. Membership fees, court sales and Stripe payouts arrive as suggested entries, and imported bank statements are matched line by line.

  • Receipts photographed with the phone and attached to the entry
  • Bank statements from camt.053, MT940 or CSV, with your own rules
  • Invoices with a payment QR code, an annual report to print and a role for the auditors
The club's income and expenses by tax sphere and category, next to the year before Suggested entries on the phone: membership fees and court purchases paid online, ready to book

New

The clubhouse tab, without the paper list

The clubhouse host sees the open tabs, today's players and the regulars at a glance and books a round with a few taps. Guests pay at the end, in cash, by card or in the app.

  • Works on a phone or a tablet behind the bar
  • Members see their tab and pay it online with SumUp
  • The money goes to the host, Clubnetz only keeps the list
A member's clubhouse tab: the menu of drinks and food, what is on the tab and the button to pay The clubhouse host's start screen on the phone with the open tabs of members and guests

Events people actually sign up for

Work efforts, parties, tournaments and meetings with registration, head count and the organizer's questions. News reach members by push notification or email.

  • "Sausage or steak?" answered right in the registration
  • Share an event by link or WhatsApp
  • Pinned news, attachments and expiry dates
An event page with description, registration, a question about the food and the list of participants Club news on a phone with a pinned announcement

A season to look back on

The board sees how the courts are used, hour by hour and court by court. Members collect badges by playing and keep them in their trophy case.

  • Occupancy, prime time share and the busiest days
  • Comparison with last season at the same point
  • Leaderboards, tier badges and special awards
Club statistics for the season: hours played, bookings, active players and court occupancy per hour The trophy case of a member with the top badge

A member list that stays up to date

Members keep their own details current. The board filters by season, age group and role, and copies email addresses for its mailings.

  • Who is new this season and who has not come back yet
  • Families, roles and season enrollment in one place
  • Other members only see name and profile picture
The member administration with filters for the season and the list of members

For members

Book a court in seconds, from anywhere

No phone calls and no paper list at the clubhouse. Members see what is free and book it themselves.

  • Court booking

    Pick a court and a time and add your partners. The club's rules for opening hours, prime time and quotas are applied automatically.

  • Recurring bookings

    Reserve the same slot every week or every few weeks. Change or cancel one date, or all following ones.

  • Finding players

    Ask a few members or a saved group to play. When the last spot is filled, the court is booked.

  • Membership

    Choose a plan for yourself or the whole family and pay the fee online by card or SEPA direct debit.

  • Clubhouse tab

    See what's on your tab at the clubhouse and pay it in the app.

  • Families

    Parents book and manage on behalf of their children.

  • Club calendar

    Work efforts, parties, tournaments and meetings, with registration and head counts. Share an event by link or WhatsApp.

  • Notifications

    Booking added or cancelled, a reminder before the match, new events and news. By push, by email, or not at all.

  • Statistics and badges

    Who plays the most and with whom, leaderboards, and badges earned over the season.

  • Season Wrapped

    Your season as a story: hours on court, favourite partners, badges and events, once the club releases it.

  • Subscription planner

    Plans a fair schedule for shared winter court subscriptions and exports it to Excel.

  • Several clubs, one account

    Member of two clubs? Join both with the same account and switch between them in the menu.

For the board

The whole club in one place

Less paperwork for the people who run the club in their spare time.

  • Members and seasons

    Member list, roles such as sports director, treasurer or trainer, and enrollment per season.

  • Membership fees

    Your own price list per season: adult, youth by birth year, couple, family, student and more. Members pay online straight to the club's account and are enrolled automatically. The treasurer sees who has paid, records transfers and cash, and exports the list.

  • Courts and rules

    Courts, opening hours, prime time, play modes and who may book what.

  • Court blockings

    Block courts for tournaments, maintenance, weather or weekly training. Affected players are informed.

  • Court sales

    Sell free court time to non-members at your own prices. They pay online or with a credit the club gives them.

  • Accounting

    Fiscal years, income and expenses by category and cost center, receipts from the phone, reports and the annual report. Fees, court sales and bank statements turn into entries almost by themselves.

  • Invoices

    Invoices to members, sponsors or other clubs as a PDF with a payment QR code, sent by email, with reminders.

  • Clubhouse

    Digital tabs for the clubhouse host: a round booked in seconds, paid in cash, by card or in the app.

  • Planner

    Plan tournaments on a timeline over several days: drag bookings to another court or time and book many slots at once. Trainers and the board can book for any member without playing themselves.

  • News and emails

    Publish club news with attachments and send it by email to all members, the youth or selected roles. Every email text can be adapted.

  • Club statistics

    Court utilization and activity over the season.

  • API for your own tools

    Connect your club website, a spreadsheet or your own scripts with an API key.

    API documentation โ†’

Getting started

Three steps to your club on Clubnetz

  1. Write to us

    Tell us the name of your club and how many courts you have.

  2. We set up your club

    You get your own club area with your courts, seasons and rules.

  3. Invite your members

    Members register with their email address and start booking.

Write to hello@clubnetz.app

Open source

Your club's data is not locked in

The complete source code of Clubnetz is public under the AGPL-3.0 license. You can read it, improve it and run it on your own server.

One Docker image runs the whole app. It needs a PostgreSQL database and an SMTP server for emails.

  • ASP.NET Core
  • Blazor WebAssembly
  • PostgreSQL
  • Docker

Hosting guide on GitHub

git clone https://github.com/sleepwalkerffs/Clubnetz.git
cd Clubnetz
docker build -t clubnetz .

For tinkerers

An API for your own ideas

Somebody in your club knows a little programming? With an API key, your own scripts and tools can read and change what the app shows: bookings, members, events, news and court blockings.

  • Show free courts or the next events on your club website
  • Export members to a spreadsheet or your accounting tool
  • Read-only keys for displays and exports
  • Each key belongs to one club and can be revoked at any time
  • Payments, prices and the books are never reachable with a key

Read the API documentation

# How many members do we have?
curl -H "Authorization: Bearer cnz_..." \
  https://my.clubnetz.app/api/Clubs/12/Members/summary

# Which courts can be booked?
curl -H "Authorization: Bearer cnz_..." \
  https://my.clubnetz.app/api/Clubs/12/Courts

Questions

Frequently asked

Is Clubnetz really free?

Yes. Clubnetz is free for clubs and for members, and it contains no advertising. The source code is public under the AGPL-3.0 license.

Is Clubnetz only for tennis clubs?

It was built for a tennis club and tennis is what it is tested with every day. It works for any club that has courts to book and members to manage.

Do members have to install an app?

No. Clubnetz runs in the browser on any phone, tablet or computer. Members who want to can add it to their home screen, where it behaves like an app and can send push notifications.

Can we host Clubnetz ourselves?

Yes. The repository contains a Dockerfile that builds one image for the whole app. You need a PostgreSQL database and an SMTP server for emails.

What about data protection?

The hosted Clubnetz runs on servers in the EU. Other members only see your name and profile picture. Members can export their personal data, leave a club and delete their account themselves.

Can members pay their membership fee online?

Yes, if the club wants to. The club enters its price list as membership plans, members choose a plan for themselves or their family and pay by card or SEPA direct debit. The money goes straight to the club's own Stripe account, and a paid fee enrolls the members in the season. Bank transfers and cash are recorded by the treasurer.

Can players without a membership book a court?

Yes, if the club wants to. The club sets prices per court, weekday and time. Players who are not enrolled in the season tap a free slot and pay online, or use a credit the club gave them. Members of the season keep booking for free.

Can Clubnetz do the club's accounting?

Yes. The treasurer keeps the books in Clubnetz: fiscal years, income and expenses by category and tax sphere, receipts, reports and the annual report. Membership fees, court sales and Stripe payouts are suggested as entries, bank statements are imported and matched, and invoices go out as a PDF with a payment QR code. The auditors get a role of their own to check the year.

Does Clubnetz help in the clubhouse?

Yes. The clubhouse host keeps the tabs of members and guests in the app instead of on a paper list and records how each tab was paid. Members can pay their tab online with SumUp. The money goes to the host, Clubnetz only keeps the list.

Is there an API?

Yes. Club admins create API keys in the app and use them to read and change the data of their club from their own scripts and tools, for example to show free courts on the club website or to export the member list. API documentation

Rather play than do paperwork?

Write to us and we set up Clubnetz for your club, free of charge.

hello@clubnetz.app