CheckCourt
App platform

App platform

Build apps for tennis clubs that work with CheckCourt data, react to events and appear in the user interface.

An app connects your service to CheckCourt, not just for one club but for every club that wants to use it: a door lock that opens at booked times, floodlights that switch themselves, a sync with the accounting system, or a calendar that knows a member's own bookings.

The platform is opening step by step

Developer organizations come by sign-up or invitation, depending on whether sign-up is currently open. Private apps for individual clubs work today. Publishing in the marketplace is being enabled gradually; the marketplace itself is on for every club unless support switched it off. Write to [email protected] if you want to build an app.

What an app can do

  • Read and change data through the REST API, with exactly the permissions the club or member has consented to.
  • React to events: CheckCourt reports bookings, cancellations, membership changes and court locks by webhook.
  • Appear in the user interface: as a section in the booking view, as a tile on the dashboard or on the kiosk, as a button on a booking, as badges on courts, as a column in the member list, as an entry with a page of its own in the navigation, or as a settings page. See UI extensions.
  • Offer rights to the club's roles, such as who may manage a ladder. See permissions.
  • Notify members through CheckCourt without learning their contact data. See Notifications.
  • Share data and events with other apps, once the club approves. See Connections between apps.

Your own code never runs on CheckCourt servers. Your app is a service that you operate yourself.

Three installation types

Club appMember appClub app with user linking
Who installs?A club admin, for the whole clubEach member, for their own accountThe club installs, members additionally link their account
ExamplesDoor lock, floodlights, accounting, bank reconciliationCalendar sync, personal statisticsCamera system: the club owns the cameras, the member sees their videos
AccessInstallation token via client credentialsOAuth 2.1 with PKCEBoth
PermissionstenantScopes in the manifestuserScopes in the manifest, never more than the member is allowed to doBoth
Manifest"installTargets": ["tenant"]"installTargets": ["user"]"installTargets": ["tenant"] and "userLinking": "optional"

An app can also be a club app and a member app at the same time ("installTargets": ["tenant", "user"]).

Member apps are always bound to a club. If a member belongs to several clubs, they decide when connecting which clubs the app should apply to, and each club gets its own connection. Each club decides for itself whether members may connect an app at all. Links under a club installation don't need this approval, because the club has already installed the app.

App lifecycle

Entwurf  ──>  Privat  ──>  In Prüfung  ──>  Veröffentlicht
                                              (Gesperrt: Not-Aus durch CheckCourt)

The developer portal shows these statuses in German: Entwurf (Draft), Privat (Private), In Prüfung (In review), Veröffentlicht (Published), Gesperrt (Suspended, an emergency stop by CheckCourt).

StatusWho can install the app?Who sets the status?
EntwurfOnly your sandbox clubYou
PrivatYour sandbox club and clubs you enable via install linkYou
In PrüfungSame as Privat. CheckCourt reviews the submitted versionThe submission
VeröffentlichtAdditionally every club that has the marketplace enabledCheckCourt, after review
GesperrtNobody. All tokens become invalid immediatelyCheckCourt

You switch between Entwurf and Privat yourself in the developer portal. An app only gets into the marketplace through review.

How clubs get your app

  1. Sandbox club: Every developer organization has its own club with test data. Any app can be installed there, always with the latest uploaded version.
  2. Install link: For a private app, you create a link and send it to a club's admin. When they open it, the app is enabled for that club. This is the route for pilot clubs and for apps that only one club uses. With a link for a pre-release, the club gets every new version immediately, including unreviewed ones.
  3. Marketplace: Clubs see published apps under Admin → Apps → App hinzufügen (Add app). The marketplace is on for every club by default; support can switch it off for a club. Only versions reviewed by CheckCourt run there.

Which version a club gets in each case is explained in Review and marketplace.

Terms

TermMeaning
Developer organizationYour team in the developer portal. It owns apps, members and a sandbox club
AppYour application with client ID, secrets, webhook URL, versions and marketplace listing
ManifestJSON description of a version: permissions, events, extensions, data processing
VersionAn uploaded manifest. Immutable, numbered sequentially
InstallationAn app in a club (club app) or for a member in a club (member app)
ScopeA single permission such as bookings:read. Clubs see German labels for it, such as „Belegung sehen“ (view occupancy)

Next

On this page