Balls In Air — How to Use
A simple guide for getting started, finding a game, and getting the most out of the app.
What is Balls In Air?
Balls In Air (BIA) is a private app for private club members to find games at their own club — golf, tennis, pickleball, and paddleball all in one place — without the back-and-forth of group texts, phone calls, and endless "who's in?" messages.
Members pick which sports they play at signup, and the app filters everything (the Looking feed, the Destination dropdown, the notifications) to just those sports. A tennis-only member won't be bothered with golf games; a multi-sport member sees the union of all the games they could actually want.
It works like this: a member who wants a game posts the day and time. Other members at their club who want to play can see the post and tap to join. The host either approves the joiners, or — even better — sets the game to confirm players automatically. When the group is full, BIA handles the roster, the calendar invite, and the reminders. Everyone just shows up.
The pitch in one sentence: Post once, see who's in within an hour, stop sending the same text to ten people.
Why use BIA instead of group texts?
Anyone who's tried to organize a Saturday foursome knows the drill:
"Anyone want to play this Saturday at 9?"
"Joe — out, helping daughter move in"
"Mike — maybe, let me check with the wife"
"Tom — in, but I'd rather play 8:30 if you can"
"Wait who else is coming?"
"Mike, are you in or out?"
... 47 messages later you have 3 players and Tom isn't speaking to Mike ..."
Now multiply that by every weekend, every member, every club. Group texts don't scale.
What BIA does instead
| The text-message way | The BIA way |
|---|---|
| Text 10 friends to find 3 players | Post once, and the app shows it to whichever audience you choose: 1) a specific group of members you've already saved (your regular foursome, say), 2) every eligible member at your club, or 3) only the specific members you've already lined up |
| You forget who said yes | The roster updates live; everyone can see who's confirmed |
| You text reminders the night before | BIA reminds confirmed players automatically |
| Schedule changes = chaos | Update the time once; everyone gets notified |
| New player can't crash the texted group | Open the game to your whole club — find a 4th from someone you've never played with |
| Adding the game to your calendar means typing it in | One tap, it's on your calendar |
You still play with the same friends — and you'll discover other members who play your format and want a regular game.
Getting started (5 minutes, one time)
1. Create your account
- Open
https://play.ballsinair.comon your laptop or phone. - Tap "Create account".
- Enter your email, pick a password.
- Fill in your name and gender, and check "I play as a couple" if that applies (you can link your partner later from your profile). Your gender filters the right games to you — e.g., a men's game won't appear in a woman's feed. Checking couple simply adds couples games on top; it doesn't take away your own gender's games, so a woman who plays as a couple still sees the ladies' games.
- Pick the sports you play — Golf, Tennis, Pickleball, Paddleball. Check every sport you book time for at your club. You'll only see games for sports you select, and the Destination dropdown when you post a game is built from your picks. You can add or remove sports anytime in your profile.
- Search for your club and tap to select it.
- Submit.
2. Verify your email
Open the inbox of the email you registered with. You'll get an email from noreply@ballsinair.com with a "Verify my email" button. Click it. You're logged in.
3. Add the BIA icon to your home screen (highly recommended)
This makes BIA feel like a real app instead of a website — same icon, same launch experience as any other app on your phone. You'll also need this step before push notifications work reliably on iPhone.
iPhone (Safari)
- Open
https://play.ballsinair.comin Safari (not Chrome — Safari is the only browser that can install apps on iPhone). - Tap the share icon at the bottom of the screen (the square with the up-arrow).
- Scroll down through the share sheet and tap "Add to Home Screen".
- The next screen shows the BIA icon and name. Tap Add in the top-right.
- Find the BIA icon on your home screen and tap it to launch.
Android (Chrome)
- Open
https://play.ballsinair.comin Chrome. - Tap the three-dot menu in the top-right.
- Tap "Add to Home Screen" (or "Install app" — wording varies by device).
- Confirm with Add or Install.
- Find the BIA icon on your home screen and tap it to launch.
The BIA icon is the green-and-white "BIA" mark — same one at the top of this manual.
4. Turn on push notifications
Notifications are how BIA tells you a friend invited you, a game you joined just filled, or your tee time changed. Without them you'd have to remember to open the app to check.
- Launch BIA from the home-screen icon (not from a browser tab — push only works reliably from the installed app).
- Tap Profile at the bottom of the screen.
- Find the Notifications card and tap "Enable notifications on this device".
- Your phone will pop up a permission prompt. Tap Allow.
- You should see "✓ Notifications are on." If it didn't work, see troubleshooting below.
You can also tap "Send test notification" right below — within a few seconds you should get a push that says "BIA test notification — If you can see this, push notifications are working on this device." That confirms everything's wired up.
Troubleshooting:
- iPhone: push notifications require iOS 16.4 or later and BIA must be launched from the home-screen icon (Safari tabs can't receive push). If the Enable button does nothing, check Settings → Notifications → Balls In Air and toggle "Allow Notifications" on.
- Android: if you accidentally tapped Block at the prompt, open Chrome → Settings → Site settings → Notifications → ballsinair.com and switch it back to Allow, then re-tap Enable in BIA.
- Mac/PC laptop: push works in Chrome and Edge. Firefox is hit-or-miss.
Posting a game
Tap the + Post button at the bottom of the screen.
Step 1: Pick the format
- Standard game — A regular foursome (or threesome, or twosome). Up to 4 spots.
- Group outing — A flexible-size event. Could be 8 people, could be 24. You set a minimum and maximum, and the app accepts sign-ups until you cap it.
For a typical weekend round, use Standard game.
Step 2: Fill in the details
- Date — When you want to play.
- Destination — This dropdown is built from the sports you picked at signup plus your club's courses. What you see depends on your club:
- Multi-course golf club — Each course (e.g., "East", "West") shows as its own option, plus a "Golf Course TBD" option if you haven't decided yet.
- Single-course golf club — Just "Golf" (no need to pick a course — there's only one).
- Tennis / Pickleball / Paddleball — A single option for each sport you play. No court picker (mention a specific court in the Notes if you've reserved one).
- If you play multiple sports at the same club, all your options appear in one dropdown — pick the one for the game you're posting.
- Time — The hour you want to play.
- BIA? (Yes / No) — The most important field. See below.
- Who's this game for? — Open to all members, Men's, Women's, Couples. Filters who can see and join. Defaults to your own gender (a man's game starts as "Men's," a woman's as "Women's") so you don't broadcast to the opposite gender by accident — switch it to Open to all any time you want a mixed game.
- Visibility — How widely to broadcast it:
- Group only — Just members of one of your saved Groups (think: your regular foursome).
- Club — Every eligible member at your club sees it. Best for finding new players. Only members who selected this sport in their profile will see the game.
- Private — Only the specific people you pick can see the game — it won't appear in the club feed. (They still choose whether to join; picking them doesn't reserve a seat. To hold someone a seat, use Invite on the posted game.)
- Notes — Anything extra: "Buddy match, 2 vs. 2. Loser buys drinks." Also a good place to specify a court number for tennis/pickleball games.
Step 3: (Optional) Invite specific players
If you already know someone wants to come, you can tap Invite player and select them. They get a notification immediately. You can also mark them as pre-confirmed — meaning they're already in, no acceptance step needed. Useful when you've already agreed in person.
Step 4: (Optional) Add guests
Bringing a non-member friend or family? Add them as a Guest — just type their name (email optional). The guest takes up a slot but isn't a BIA user themselves.
Step 5: Submit
Your game is live. Other members at your club who match your audience and visibility settings will see it within seconds.
The BIA (Balls In Air) concept
This is the heart of the app — and where the name comes from.
When you post a game time, that time can mean one of two different things to your players:
BIA = Yes
The posted time is when the ball actually goes in the air. (Or the first serve, in tennis; first dink, in pickleball.) Players should arrive earlier to warm up, drop bags, check in.
"Saturday at 8 AM, BIA Yes" → arrive by 7:30 to be ready at 8:00.
This is the case when you have a booked tee time or a reserved court. The clock is fixed; the world is built around showing up early.
BIA = No
The posted time is when to show up. Play begins whenever everyone's ready.
"Saturday at 8 AM, BIA No" → just be there at 8:00. We'll head out together.
This is the case for open-format play, walk-on golf, drop-in pickleball, etc. Casual arrival, no specific start.
Why does this matter?
Because the question "Is that BIA?" used to be the first thing every invitee asked. Now it's answered at the moment of posting, and shown to every player in every notification, on their game card, on their calendar event. Nobody has to ask. Nobody shows up at the wrong time.
Joining a game someone else posted
Browse the Looking feed
Tap Looking in the bottom menu. You'll see all the games posted at your club that match your audience, the sports you play, and that have open spots. Each game card shows:
- The host's name
- The date and time (with "Balls In Air" or "Arrive By" label so you immediately know what the time means)
- A sport chip (Golf, Tennis, Pickleball, Paddleball) so you know at a glance what this game is for
- The destination (for golf, the course name; for other sports, the sport itself acts as the destination)
- How many spots are open and how many players are confirmed
- A short explanation of what BIA Yes/No means for this game
Filter
Filter by date, course, game type (standard vs. outing), to narrow down to what you care about.
Tap the game
Tapping a card opens the game's detail page. You'll see the full roster (who's confirmed, who's been invited), the host's notes, and a Join button.
Three ways to respond
- Request to join — Tap Join. The host gets notified and either approves or declines. You'll be notified either way. While you're waiting, the game sits under Requested on your My Games page — and you can cancel the request if your plans change (see below).
- Maybe play — You're interested but not ready to commit. Tap Maybe so the host knows you're on the fence. (No commitment — they won't reserve a seat for you. You can convert to a Join later.)
- Can't play — A one-tap "no." Saves the host from wondering if you saw the post. No social cost — easier than writing "sorry, can't make it!" in a group text. You can change your mind anytime.
Tapping Maybe Play or Can't play again clears it (toggles). The host of a named-recipient game (Group or Private) sees the roster of who replied; for club-wide broadcasts the soft replies are kept private — the host invited everyone, so a "passed" list there would be meaningless noise.
You can also be directly invited — the host taps your name from a member list, you get a notification asking if you're in, tap Accept or Decline.
Either way, once you're confirmed, the game appears in your My Games page and the calendar invite is ready to add to your phone.
Changed your mind before the host answers?
You don't have to wait to be declined, and you don't have to text the host.
Open My Games, find the game under Requested, tap it, and tap Cancel request. The host is told you've withdrawn, and the game goes back to being an ordinary open game you can request again later if your plans change back.
This is the polite exit. It's better than going quiet: the host knows where they stand, and they aren't holding a mental seat for someone who can't make it.
Note: your own games no longer appear on the Looking feed — they show up in My Games as the host. The Looking feed is for games posted by other members.
The Verified badge ✓
When you see a small green check ✓ after a member's name, that person is Verified at this club — they've completed at least one game here. The badge is BIA's quiet way of separating "known quantity" from "brand-new sign-up" without anybody having to ask awkward questions at the first tee.
How a member becomes Verified
There's no application and no admin button. You earn the badge by playing your first game at the club:
- You request to join a game, or a host invites you directly.
- The host confirms your spot.
- The game happens (the host doesn't retroactively cancel it as a no-show within 24 hours).
- The next day, you're Verified at that club. A small in-app notification confirms it.
The host's confirmation is the social vouch. The game running to completion is BIA observing that the vouch held. That's it.
What it means in practice
- For hosts — When you're deciding whether to confirm a join request from someone you don't recognise, look for the badge. A Verified member has already played here without incident. Absence of the badge isn't a red flag — it just means they're new. You still decide.
- For members — Don't worry about chasing the badge. Just play. You'll have one after your first round.
- For the club — The badge is the soft gate that protects the "private club feel" without anyone having to do paperwork. BIA doesn't ask the pro shop to verify identity; the community verifies itself through play.
Where the badge shows up
- Roster on every game card (host name on the Looking feed and My Games)
- Game detail page — host, every confirmed player, every pending invite, every join request
- Invite Player picker (when a host is hand-picking)
- All Members directory
- Your own Profile (one badge per club you've been Verified at)
Per-club, not global
Being Verified at Oak Hill says nothing about Whispering Pines. Each club's Verified badge is earned at that club. If you belong to three clubs, you'll earn three separate badges — one per club, each from your first uncancelled game there.
Edge cases
- Cancelled games don't count. If a game gets cancelled (weather, host conflict), the badge isn't granted to anyone who hadn't already earned it.
- No-shows after Verification don't strip the badge. Once you're Verified, you're Verified — a bad day doesn't undo your track record.
- Group membership doesn't count. Joining a playing group doesn't make you Verified. Only actual completed game play does.
- Existing BIA members start unverified. When the badge launched, no one was grandfathered in. Every member earns it the same way — by playing.
Sharing your experience (reviews)
Once you've played a game and earned your Verified ✓ at a club, BIA may email you a quick, optional invitation to review the app — the kind of honest, two-line testimonial you'd give a friend at the bar. It takes about 30 seconds: a star rating and a sentence or two.
How it works
- You're asked at most twice, ever, and only after you've actually played — never before. The moment you submit a review (or tap "No thanks"), we stop asking.
- Your review is reviewed by an admin before it goes anywhere — nothing is posted automatically.
- Approved reviews may be emailed to fellow members of your club who haven't tried BIA yet, shown with your name and your Verified ✓. It's the friendly nudge that gets the rest of your group on board — and it's exactly why the app fills games faster once your clubmates join.
- Reviews stay within your club. A review you write at Oak Hill is only ever shared with other Oak Hill members.
Don't want the emails?
Set your notifications to Off in Profile and you won't be asked for a review or sent anyone else's. Muting a specific club's notifications also stops review emails for that club.
Pickleball skill matching
Pickleball is the one sport where a mismatch ruins the morning for everyone — a 4.5 and a 2.0 on the same court is no fun for either player. So BIA matches pickleball games by skill level. It's quick to set up and then it just works in the background.
Rate yourself once
The first time you add Pickleball as a sport — at sign-up or later in your Profile — BIA asks you to pick your level. It's a one-time, honest self-assessment. A few things to know:
- It's required. You can't post or join pickleball games until you've set your level. (Every other sport works without one — this is pickleball-only.)
- It follows you everywhere. Your level is global — it's the same across every club you belong to, so you only set it once.
- You can update it anytime. As your game improves, open Profile → Pickleball skill level and bump it up. Changing it never disturbs games you've already posted or joined.
Rate yourself honestly. The whole point is to land you in games with good rallies — over-rating yourself puts you in games you'll lose badly, and under-rating ("sandbagging") puts you against people who came to play. The rubric below is specific on purpose so it's easy to find your honest spot.
The level rubric
The picker groups nine levels into three color tiers. Tap a tier to see its levels, then pick the one that sounds like you. Stuck between two? Tap "What's my level?" for the full rubric side by side.
🟢 Beginner (1.0 – 2.5) — Learning the rules, basic dinks and serves, here to have fun.
- 1.0 / 1.5 — Brand new to the sport. You are just learning how to hold the paddle, the basic rules, and how to keep score.
- 2.0 — You can move comfortably across the court and complete successful serves often. Strokes and rallies are still inconsistent, and you are learning proper court positioning.
- 2.5 — You understand the two-bounce rule and can sustain a short rally with players of equal ability. You are starting to learn how to hit a basic "dink" (a soft shot into the non-volley zone).
🟡 Intermediate (3.0 – 3.5) — Consistent serves, deep returns, and the third-shot drop.
- 3.0 — You can get the ball over the net consistently and understand the flow of the game. Serves have improved, and you are beginning to use basic dinks and lobs. Rallies are longer, but unforced errors still happen frequently.
- 3.5 — You maintain better control over the depth and direction of your shots. You can execute the "third shot drop" — a crucial strategy used to neutralize aggressive opponents so you can move up to the kitchen line.
🔴 Advanced (4.0+) — Strategic play, fast hands at the kitchen, competitive.
- 4.0 — You have excellent control of the ball, rarely make unforced errors, and smoothly transition between hard drives and soft dinks. You think strategically, targeting opponent weaknesses, and use advanced drop serves and deep returns.
- 4.5 — You use a high level of strategy, have mastered all aspects of the game (power and finesse), and can execute shots with precision. You understand how to anticipate your opponent's moves.
- 5.0+ — Expert and professional-level players. You make nearly zero mistakes, understand the absolute nuances of the game, and can dominate at the kitchen line.
When you post a pickleball game (hosts)
Posting a pickleball game adds one extra choice: who can join, by skill. BIA centers the match on your level (locked in at the moment you post — changing your rating later won't shift a game that's already up). Pick one of three modes:
- Strict match — Only players within ±0.5 of your level can see and join. A 3.5 host's game is visible to 3.0–4.0 players. Best for competitive, evenly-matched play.
- Up-play allowed — Your level and up to a point above, with no pure beginners. A 3.5 host's game is open to 3.0 (one step below) through 4.5 (a full point above). Great when you want to be pushed by stronger players without inviting a total mismatch.
- Open match — All skill levels welcome. Best for social mixers, clinics, and family days where the rallies matter less than the company.
Whatever you choose, the game card shows your anchor level and the mode (e.g. 🟡 3.5 · Strict match) so joiners know exactly what they're walking into — except Open games, which carry no level chip because everyone's invited.
When you're looking to join (members)
You don't have to do anything — the filtering is silent. Pickleball games you don't qualify for simply don't appear in your Looking feed, and you won't get notified about them. You'll only ever see games where you'd actually be a good fit (plus every Open game). This holds even inside group posts: if a host posts a strict-match game to a group, only the group members in the right band see it.
A few exceptions where the filter steps aside: the host always sees their own game, anyone the host hand-picks and invites by name is let in regardless of level, and anyone who already holds a confirmed spot stays in. And if you haven't set your own level yet, you'll only see Open pickleball games until you do.
Saving your regulars as a Group
If you and three buddies play almost every Saturday, you don't want to invite them by hand each time. Set up a Group.
- Tap Groups in the bottom menu.
- Tap Create Group, name it ("Saturday 8 AM crew", "Tuesday tennis", whatever).
- Add members.
Now, when posting a game, set Visibility → Group and pick your group. Only those members see it. Tap to join, tap to pass — same as any game, but private to the group.
You can be in as many groups as you want. Different days, different members, different formats.
Adding members is private — they're never told and never see it
Group membership is your private curation, and it's fully invisible to the members. When you add someone to a group:
- BIA sends them no notification — there's no "so-and-so added you to Group Name."
- The member cannot see the group at all — it doesn't appear anywhere in their app. There's no "Groups you're in" list, no group page they can open, and no count of groups they belong to. Only you, the owner, can see and manage the group.
The only thing a member ever experiences from a group is the games you post to it (below) — and those never name the group. If a member doesn't want a particular host's game pings, they can mute that member (Profile → muted members), which quietly stops every game notification from that person. There's no group-level control for members, because there's no group for them to see.
Adding a member after you've already posted a game to the group
When you add a new member to a group that already has upcoming games posted to it, BIA catches the new member up automatically — with a separate notification for every still-open future game posted to that group. This is a game notification, not a "you were added" notification, and it deliberately hides the group name (see below).
Example: you posted Saturday's game on Tuesday to your "Saturday Crew" group. Wednesday you add three new members to the group. By the time they see their phone Wednesday afternoon, they have:
- "Gary Knaak posted a game in your group at Oak Hill — Saturday at 10:00 AM (BIA: Yes)."
They can tap the notification, see the game, and request to join. They're never told they were added to "Saturday Crew" — only that there's a game in one of their groups. No manual heads-up from you required.
Filters honored. A new member only receives catch-up notifications for games they would actually have received at post-time:
- The game must still be open (not full, cancelled, completed, or in the past)
- The new member must play that sport at that club
- The new member must not have muted that club's notifications
- The new member must not have muted the host
- The new member must not have the date marked "can't play" in their Profile
So a tennis-only club member added to a golf group won't get pinged about golf games. A snowbird who muted their summer club for the winter doesn't get golf pings during ski season. And so on.
Group name still hidden. The catch-up notification says "in your group", not the actual group label — same privacy rule that applies to the original broadcast.
Stepping away from a group you own
If you created a group but won't be playing with it anymore (joined a new club, schedule shift, the regular crew dissolved), you have two choices on the group's detail page:
- Transfer ownership — Next to each member is a Make owner button. Tap it to hand the group to that member. They inherit the ability to invite/remove members and to delete the group; you stay in as a regular member. The new owner gets a push letting them know they've inherited the role.
- Delete group — In the "Danger zone" card at the bottom. Removes the group entirely. Any games already posted to the group stay live — they just become club-wide so other members can still join. Notifications already sent stay in everyone's inbox.
There's a guardrail: if you tap Delete group while other active members are in the group, BIA pops up the member list first with Transfer ownership highlighted as the recommended path and Delete for everyone as a separated destructive button (with a second confirm before it fires). Most of the time when an owner taps Delete, what they actually mean is "I'm stepping away" — and the group shouldn't end for the rest of the crew. With no other active members the guardrail is skipped — there's no one to transfer to, just a simple "Are you sure?" prompt.
Belonging to more than one club
Members of more than one private club (a country club in town, a beach club for the summer, a winter club in Florida) can add up to three memberships and use BIA for all of them in a single login.
How it works
- Go to Profile → Clubs and tap + Add club. Search and join.
- The Looking feed, Members directory, and Inbox all show the union of every club you belong to. You see games from all your clubs in one feed; the card shows a small chip with the club name so you can tell at a glance whether a game is at Oak Hill or Pine Valley.
- Each club has its own sports and its own notification mute setting. So you can opt into tennis only at Club A but golf only at Club B — and silence club-wide announcements at one club without affecting the others.
- When posting a game or creating a group, the club picker lets you pick which club the post is for. Your most-recently-used club is the default.
- The free-text "active club" idea is gone — there's no single "current" club anymore. The post-time picker lets you pick per game, and the views are merged.
The 3-club cap
BIA caps memberships at three clubs per member. This keeps the experience focused — three is enough to cover most members' real-world club portfolio (primary, summer, winter) without turning the Looking feed into a marketplace.
Joining a club — what you'll see right away
The first time you join any club — whether it's your initial sign-up at registration or adding a second/third club later from Profile — BIA looks at what's already happening there and sends you a single welcome-style inbox row summarizing it. Something like:
"Welcome to Oak Hill Country Club — 4 upcoming games match your sports. Tap to see them in Looking."
The count includes games at that club you'd qualify for (your sport, not muted, not on a day you blocked, etc.) — so a tennis-only member at a golf-heavy club only sees the tennis count. This welcome catch-up is scoped to your own gender: a man is only caught up on Men's games, a woman on Women's games (plus Couples games if you're a confirmed couple). "Open to all" games are deliberately left out of this first-time summary — a brand-new member shouldn't be greeted with a backlog of cross-gender or accidentally-opened games. (Open games still show up in your live Looking feed and ongoing notifications — this only scopes the one-time welcome.) If there are zero qualifying games, no notification fires.
It's a single summary row, not one notification per game — joining a club shouldn't slam your inbox at the welcome moment. And it doesn't push to your lock screen — you're already in the app, so an inbox row + the next 6 AM digest is the right cadence.
The group catch-up notifications described under Groups work differently: those fire one notification per game (so you can tap directly into the specific game) and never announce the group itself — being added to a group is private, so the only thing a new member ever hears about is the game, with the group name hidden.
Per-game group chat
Every game has its own group chat thread on the game's detail page. Only the host and confirmed players can post; everyone else who can see the game can read.
Use it for the things group texts cover today:
- "Running 10 min late, save my spot"
- "Switching to the back nine if anyone's looking for us"
- "Range is closed — meet at the putting green"
Messages send a real-time push notification to everyone else in the chat. The author of each message is shown by name, with a Host chip next to the host's posts so you can tell who's calling the shot. The thread is append-only — no edits, no deletes — so the timeline is a faithful record of what was said.
When system events happen mid-game (e.g., the host transferred hosting), they appear in the chat as a centered italic line — no name, no avatar — so the audit trail lives in one place alongside the conversation.
Calendar integration
On any game you've confirmed, tap Add to Calendar.
- Google Calendar — opens Google Calendar with the event pre-filled. Tap save and you're done.
- Apple Calendar / Outlook — downloads an
.icsfile. Open it to add to your default calendar.
The calendar event will include:
- Title: "Game at [your club] — [destination]"
- The BIA explanation line so you don't forget what the time means
- The list of confirmed players
- Any notes from the host
When the host changes the time, you get a notification — but the original calendar entry doesn't auto-update. You'll need to add the updated event manually. (This is a limitation of Google/Apple calendars, not BIA.)
Notifications — what you'll hear about and when
BIA sends you notifications for things you'd care about, and stays quiet otherwise.
You'll be notified when:
- A game is posted that matches your audience and your group / club
- Someone joins, declines, or withdraws from a game you're hosting (including a member withdrawing a request you hadn't answered yet)
- A host invites you to a game (or pre-confirms you in one)
- A game you're confirmed in changes time
- A reminder 24 hours and 2 hours before a confirmed game
- Someone responds to a join request you made
- Account-related updates from the BIA team
You can change the cadence:
- Real-time (default) — Push notifications + emails as things happen
- Daily digest — All notifications batched into one 6 AM email
- Off — Silent. You check the app when you want.
Quiet hours stop push notifications during the time you set (e.g., 10 PM – 8 AM). The hours are evaluated in your local time zone — captured when you registered — so 11pm means 11pm where you live, not on a server somewhere. Email always arrives — quiet hours don't block email.
Mute entire-club games — If you only care about games from your saved groups and don't want to hear about every game posted at your club, toggle this on in Profile → Notifications.
Mute specific members — If a particular member's posts you'd rather not see, mute them in the member directory. Their games won't appear in your feed. (They won't know you've muted them.) You can still receive direct invites from them if you want.
Sport filter — You only receive notifications for games in sports you've opted into in your profile. A tennis-only member won't get pinged about a golf foursome and vice versa.
Test it anytime — In Profile → Notifications, tap Send test notification to verify push is working on the device you're using. A test message arrives within a few seconds.
Home-screen badge — When games are posted to your club overnight (during your quiet hours), you'll see a small number on the BIA icon on your home screen the next morning — e.g., "3" meaning three new games posted overnight. The badge disappears the moment you tap the icon. (Requires iPhone running iOS 16.4 or later, with BIA installed to the home screen; Android shows a small dot rather than a number.)
My Games
Tap My Games in the bottom menu to see every game you've hosted, joined, or been invited to. Games are ordered soonest first — the next match you're playing sits at the top, then later dates follow chronologically.
This is where you'll come most often to:
- Check who's confirmed for tomorrow
- Chase up a game you've asked to join but haven't heard back on
- Add the game to your calendar
- See the host's notes
- Withdraw from a game if your plans changed
Requested — games you're waiting to hear about
If you've asked to join a game and the host hasn't answered yet, it appears in a Requested section at the top of My Games, with a count of how many you're waiting on.
These aren't commitments yet, so they're kept separate from the rest of your schedule — they don't show up on the Week or Month calendars, and they don't count toward your week. The section only appears when you actually have a request outstanding.
Tap any of them to open the game, see who else is in, or cancel your request if you no longer need the spot.
Withdrawing
Sometimes life happens. On any game you've confirmed, scroll to the bottom of the game detail page and tap Withdraw. The host gets notified, the spot reopens, and the game is still there for someone else to fill.
Withdraw or Cancel request? BIA picks the right one for you — you'll only ever see one button. Withdraw appears once you're confirmed and gives your seat back. Cancel request appears while you're still waiting on the host, and simply takes your name out of the queue (you were never holding a seat).
If you're withdrawing more than 24 hours out, no harm done — the spot reopens. If you withdraw the morning of the game, BIA logs it but doesn't penalize you. (Repeat-flakers — the social pressure of your own club will sort that out.)
Posting a recurring game or outing (whole season at once)
Have a Saturday morning crew? A Tuesday-Thursday tennis foursome? A monthly group outing? You don't have to post each one individually — BIA can create the whole series in a single tap. Works for both Standard games and Group Outings.
On the Post a game form (or Post an outing), tick Repeat this game / Repeat this outing (under the visibility section). A panel expands with two choices:
- How often — Every week, every 2 weeks, every 4 weeks, or every month
- Stop after — A number of games (e.g., "10 games") or a specific date (e.g., "October 31")
Hit Post and BIA creates every game in the series in one go — each with its own roster, chat, and schedule. Members see them in their Looking feed and confirm per-game (Bob can play 8 of the 10 Saturdays). A small Recurring chip appears on each card so members understand the game is part of a series.
A few things worth knowing:
- 52-game cap. That's a full year of weekly play. For longer than that, start a new series next year.
- One notification, not 50. When you post a recurring series, club members get a SINGLE push summarizing the whole thing ("Gary posted 10 weekly games at Oak Hill through Aug 8") — not one push per game.
- Direct invites + guests apply only to the first game. Inviting Bob to all 26 Saturdays would be weird (and a lot of pushes). Direct invitations and guest names you add at post time go to the first occurrence only; members can join later games individually as usual.
- Each game is independent. Cancelling game #3 doesn't affect #4. Editing the time on game #5 only changes #5. Confirmed players might play 6 of 10 — they're not opting into the whole series.
Editing or cancelling the whole series
Open any game in the series → tap the host's action row at the top. Two extra buttons appear (only on series games):
- Edit time (all future) — Apply a new time to this game AND every later game in the series. Past games and individually-cancelled games are left alone. Confirmed players in each affected game get a heads-up.
- Cancel all future — Cancel this game and every later game in the series in one click. Past games stay. Each cancelled game notifies its confirmed players just like a single cancel does.
Use case: "Saturday Crew is taking the rest of the month off — coming back in two weeks." Open the next Saturday game → Cancel all future. Then in two weeks, post a new short series for the back half of the season.
Group Outings — assigning foursomes
For a Group Outing (16 people, 24, 36 — anything bigger than a foursome), at some point you stop collecting names and start pairing them up. BIA gives you a built-in Foursomes panel on the outing's detail page so you can do it inside the app instead of on a legal pad.
Where to find it. Open your Group Outing's detail page. Once you've accepted at least one request, the Foursomes section appears below the roster. It's host-only — members don't see this panel.
How to assign. Each confirmed member and guest gets a row with their name and a small number box. Type 1 next to four people to put them in Foursome 1, type 2 next to the next four, and so on. As you type, BIA re-buckets the players below the input list into preview cards — Foursome 1, Foursome 2, etc. — so you can see who you've grouped together without scrolling around. An "Unassigned" card at the bottom catches anyone you haven't numbered yet.
Randomize (auto-fill). Don't want to type numbers at all? Tap Randomize and BIA deals every confirmed member and guest into balanced foursomes for you in one tap. It never makes a 5-some — groups are capped at 4, and any leftover players form 3-somes instead (13 players → 4/3/3/3, not 5/4/4). Don't love the mix? Tap Randomize again — you can re-roll as many times as you like, and you can still hand-edit any group afterward. Nothing is shared until you Save then Publish; the shuffles are a preview for your eyes only, even after a first publish. (Golf only — racquet outings use match sides, so those are assigned by hand.)
Soft size warnings. If a group ends up with fewer or more than 4 players, the preview card border turns amber and the size line shows "less than 4" or "more than 4." BIA does not block you — when you assign by hand, outings often run 3-somes (drop-out) or 5-somes (charity tradition), so the warning is just a sanity check, not a rule. (The Randomize button always keeps groups at 4 or under.)
Save first, publish second. Tap Save to persist your assignments. Members can't see them yet — they're in draft mode. Tap Publish when you're ready: every confirmed member with a foursome number gets a push notification ("you're in Group 3 — tap to see who you're with") and the Your Foursome card appears on their game detail. Re-publish later if you tweak assignments after the first publish; BIA pushes a refresh to the affected members.
Download the printable Excel. Anytime, tap Download .xlsx. You get a spreadsheet in the standard 3-column format (Group | Member | Handicap) with 9 foursome blocks, blank handicap column, and any unassigned players in a trailing block. Take it to the pro shop. The handicap column is intentionally blank — fill it in from your club's GHIN export at posting time.
What confirmed members see. Once you publish, every confirmed member opens the game and sees a Your foursome card near the top:
Group 2 — you're paired with: Mike O'Brien · Mary Saunders · Bob Kim (guest) They never see the full multi-group roster, only their own group. The Verified ✓ badge appears next to each member name so they know who they're playing with.
Guests are included. Any guests you've added to the outing appear in the panel + the .xlsx alongside member slots, marked with a "(guest)" tag. The starter at the first tee gets to see who's a member and who's a guest at a glance.
Tennis, pickleball & paddleball — assigning matches
For racquet sports there's no such thing as a foursome — players pair off into matches, where one team plays against another. So when your Group Outing is tennis, pickleball, or paddleball, the same panel automatically switches from foursomes to Matches.
How it works. Each confirmed player gets a row with a match-number box and a Team 1 / Team 2 toggle. Put two players in Match 1 / Team 1 and two more in Match 1 / Team 2, and you've built a doubles match — Team 1 vs Team 2. As you assign, the preview cards show the matchup directly:
Match 1 — Team 1: Alice & Bob vs Team 2: Carol & Dave
Singles or doubles. One player per side is a singles match (1 vs 1); two per side is doubles (2 vs 2). Both work — BIA only shows a soft amber warning if a match's sides are uneven or someone's missing a team, never blocking you.
Publish + what players see. Same Save → Publish flow as golf. On publish, each player gets a push ("you're in Match 2, Team 1 — tap to see your partner and opponents") and a Your match card on the game detail showing Team 1 vs Team 2 with their own side highlighted, so they know both their partner and who they're up against.
Printable sheet. Download .xlsx gives you a match sheet (Match | Team 1 | Team 2) instead of the golf Group/Member/Handicap layout — ready for the front desk or court board.
Hosting an outing without playing (stay host, free your seat)
Sometimes you're the one organizing a Group Outing but you're not actually playing in it — you're running the member-guest, not teeing off. You don't have to hand the outing to someone else to make that work: you can host without taking a playing spot, and you stay the host either way. Works for every sport — golf, tennis, pickleball, paddleball.
At posting. On the Post screen, once you've chosen Group Outing, tick "I'm not playing in this outing — just organizing." BIA won't reserve a seat for you, so a 16-player outing fills with a full 16 players instead of 15.
After posting. Plans changed? Open the outing's detail page. A card near the top shows whether you're currently holding a spot, with a one-tap toggle:
- "I'm not playing" — gives your seat back to the pool. Your name drops off the roster (and out of the foursomes/matches), an open spot returns to the Looking feed, but you keep every host control.
- "I'm playing" — retakes a seat, as long as the outing isn't already full.
Either way you remain the host — you still accept requests, assign foursomes or matches, publish, download the sheet, and can transfer or cancel. This is different from Transfer hosting below: opting out frees your seat but keeps you in charge; transferring hands the whole outing to someone else.
Hosting a game you can no longer play (Transfer hosting)
What happens when you posted the game, three other members confirmed, and then you can't make it after all? Cancelling would torch the game for everyone else. Instead:
- Open the game's detail page.
- Tap Transfer hosting. (The button only appears when there's at least one other confirmed player to take over.)
- A modal lists the other confirmed players. Pick whoever would want to host.
- Tap Transfer hosting.
What happens next:
- The new host gets a push notification letting them know they've inherited host responsibilities (accept requests, edit time/notes, cancel, re-transfer to someone else, etc.).
- The other confirmed players see an inbox heads-up the next time they open the app — no buzz on their phone, just so they know personnel changed.
- A system message lands in the game chat as the audit trail: "Gary can no longer play and transferred hosting to Mike."
- Your spot opens up. If your plans change again, you can request back in like anyone else.
Works for both Standard games and Group Outings. If you posted a 24-person member-guest outing and something comes up, you can hand the keys to any confirmed player — they inherit the full host kit, including the Foursomes panel (assignments you've already drafted stay intact) and the Group Chat thread. Members already in the outing don't have to re-confirm, and any guests you added stay on the roster. The new host can publish foursomes, accept additional requests, download the Excel, even re-transfer if their plans change too.
What if I tap "Cancel game" by habit?
There's a guardrail. If you tap Cancel game while at least one other member is confirmed, BIA pops up the same player-pick modal first — with the Transfer hosting option highlighted and a separate destructive Cancel for everyone button. The idea: most of the time when a host hits Cancel, what they actually mean is "I can't make it" — and the game shouldn't end for the rest of the group. The guardrail makes you see that option before you can actually torch the game.
If you genuinely want to cancel for everyone (weather, conflict for the whole group), tap Cancel for everyone in that modal — it confirms once more, then notifies all confirmed players that the game is off.
If you're the only confirmed player and nobody else can fill in, Cancel game skips the guardrail and goes straight to the simple "Are you sure?" prompt — there's no one to transfer to.
Removing a player from your game (host)
As the host you can take any confirmed player out of your own game — without needing their permission — right from the roster on the game's detail page. Tap Remove next to their name, confirm the prompt, and they're out:
- Their spot opens back up, and the game returns to the Looking feed if it had filled.
- They get a notification that the host removed them from the game.
- You stay the host, and everyone else on the roster is untouched.
Use it when someone's plans changed and they didn't drop themselves, when a name got added by mistake, or when you just need the seat back.
Two related actions for players who aren't fully in yet:
- A name under "Invited (pending)" — you sent a direct invite they haven't accepted — has a Remove invite button that quietly frees the held seat (no notification to them).
- A name under "Requests" — someone asked to join — has a Decline button.
A request can also disappear on its own: members can cancel their own request while they're waiting on you. You'll get a notification saying they withdrew it, and the name drops off your Requests list. Nothing for you to action — and it means a name still sitting there is genuinely still waiting on your answer.
Your profile
Tap Profile to manage:
- Playing preferences — your gender, plus a single "I play as a couple" toggle. Your gender decides which men's/women's games you see; checking couple (and linking your partner) adds couples games on top — it never removes your gender's games. Leave it unchecked to play as an individual.
- Clubs — Up to three memberships per member. See "Belonging to more than one club" above for the full picture.
- Sports I play (per club) — Tick the sports you book time for at each club you belong to. The Looking feed and the Destination dropdown both respect the per-club setting, so a tennis-only member at one club won't get pinged about golf there even if they play golf at their other club. At least one sport must be selected per membership.
- Notifications — Cadence (real-time / digest / off), quiet hours in your local time, mute toggles, and a Send test notification button to verify push is working.
- Per-club mute — Each club membership has its own mute toggle. Silence one club's announcements (the weekly outing post, etc.) without losing the other club's signal. Direct invites + games you're already in always still get through.
- Enable notifications on this device — Grant your phone permission to show BIA push notifications. Only visible if push hasn't been enabled yet.
- Unavailability ("Days I can't play") — Block dates in three flavours: a single date, a date range (a one-week vacation, say), or a recurring weekday ("every Tuesday — I drive my kids to lessons"). On any blocked date, BIA does two things automatically: (1) games on that date stop appearing in your Looking feed, and (2) members can post new games on that date all they want — but the broadcast notification skips you. You can still find the game by direct URL if your plans change, and you can always delete or shorten the block from this same panel.
- Password & email changes.
- Account status — View your account details (BIA is free during the beta).
- About — Quick links to the Privacy Policy and Terms of Service at
www.ballsinair.com/privacyand/terms(also linked from the Login and Register screens before you ever sign in). - Refer a friend — Each member you refer who subscribes earns you a perk.
- Delete your account — Soft-deletes immediately, fully purges after 30 days.
Subscription
BIA is currently in beta testing and completely free to use. Every feature in this guide — posting games, joining games, calendar invites, notifications, groups — is open to all members during the beta period.
We're keeping it free while we listen to early members about what works, what's missing, and what should change. When the beta wraps up, we'll let everyone know what's next well in advance.
For now: enjoy.
Frequently asked
What if my club isn't in BIA?
Right now BIA is rolling out club-by-club. If you don't see yours, contact support and we'll add it.
Can I host games for someone else?
No. Each member posts their own games. But you can directly invite anyone, so the practical effect is the same. And if you posted a game and then can't play, you can transfer hosting to a confirmed player so the game continues without you — see "Hosting a game you can no longer play" under My Games.
What if my friend doesn't want to use the app?
Add them as a Guest on a game (name + optional email). They take a slot, but don't have a BIA account. Use this sparingly — the app works best when everyone's on it.
Can I see games at other clubs?
Only at clubs where you're a member. If you belong to more than one club, BIA shows you the merged feed for all of them in a single Looking page (each card chipped with its club name). You can have up to three memberships per account — see "Belonging to more than one club" above. Beyond your own clubs, each club's network is private; you won't see a game at a club you don't belong to.
What if I forget to post a game and decide to play last minute?
Post anyway — even 30 minutes before. Some members keep an eye on the feed for spontaneous opportunities. Worth a try.
Does "Maybe play" reserve me a spot?
No. Maybe Play is a soft signal to the host that you're on the fence — they're not holding a seat for you, and other members can still claim it. When you're ready to commit, tap Request to join. If you decide it's a no, tap Can't play instead (or just leave Maybe as-is — the host will follow up if they need to know).
I asked to join a game and now I can't make it. What do I do?
Open My Games, find it under Requested, tap it, and tap Cancel request. The host is notified that you've withdrawn your request, and you're out of the queue. You can request again later if your plans change back.
You don't need to wait for the host to decline you, and you don't need to text them.
Where do I see games I've asked to join but haven't been approved for?
The Requested section at the top of My Games. It only appears when you have a request outstanding, and it shows how many you're waiting on.
They're kept out of your Week and Month calendars on purpose — until a host says yes, it isn't a commitment, and it shouldn't make your week look busier than it is.
Will the host get a push notification every time someone taps Maybe or Can't play?
No. Those soft replies don't push — they show up in the host's view of the game roster the next time they open the app. The whole point is to make declines cheap to send AND cheap to receive: closing the loop without lighting up phones.
Will the app text me?
Not currently. All notifications are push (to your phone) or email. Texts may come in the future.
Can I post a game for next month?
Yes. BIA doesn't care how far in advance you post.
What about tournaments or club events?
Use the Group Outing format for anything bigger than a foursome. You set a minimum and a maximum, and BIA handles the sign-up list.
I play golf AND tennis at my club. How does that work?
Pick both sports in your profile (Profile → Sports I play). Your Looking feed will show games for either sport. When you post a game, the Destination dropdown shows your golf courses and "Tennis" — pick whichever one this game is for. Members who only play golf won't see your tennis post, and vice versa.
Can I change which sports I play later?
Yes — Profile → Sports I play. Tick or untick anytime. Changes take effect immediately for your Looking feed and the Destination dropdown.
Why don't I see any games?
Three things to check, in order:
- Sports — Have you picked at least one sport in Profile → Sports I play? If not, nothing will show.
- Audience — A men's-only game won't show in a woman's feed and vice versa. Open the Looking feed and check the filter.
- Quiet hours / muting — Push notifications stop during your quiet-hours window, and games from muted members are hidden entirely. Both are in Profile → Notifications.
Why aren't push notifications working on my iPhone?
On iPhone, BIA must be installed to your home screen and launched from that icon for push to work — Safari tabs can't receive notifications. iOS 16.4 or later is also required. See "Add the BIA icon to your home screen" earlier in this manual.
For members — what the Staff Dashboard means for you
Some clubs have asked us for a read-only operations dashboard for their professional staff — head pro, assistants, starter, outside ops, superintendent, and grounds crew. This section explains what staff can see, what they can't, and what shows up in your app when staff is enabled at your club.
What staff can see
When your club provisions the Staff Dashboard, the staff members listed below see a read-only view of every game posted at the club — regardless of whether the game is set to Club, Private, or Group:
- Game date and tee time
- Host name
- Confirmed players' names + guest counts
- Status (Looking, Full, Cancelled)
- Whether it's a recurring series
Staff sees the same data on the same dashboard — there is no "ops mode" with more detail or a "lite mode" with less.
What staff cannot see
- Your in-game chat messages. Per-game chats stay between confirmed players. Staff can post a one-way broadcast to game hosts on a given day (e.g., "aeration starts at 1pm — please plan accordingly"), but they cannot read your chat threads.
- Private DMs, Notifications, or your Inbox. Staff sees game data; they don't see your personal account.
- Your subscription, payment, or profile info.
Who counts as "staff"
Two categories, capped at three total people per club:
- Primary — one person per club. Provisioned by the BIA admin (Gary). This is typically the head pro, director of golf, GM, or superintendent. They're the contact the club designates.
- Teammates — up to two more, invited from inside the app by the primary. The primary picks them; the admin doesn't get a say.
Staff are notified that they've been granted access; you (the member) see a one-time in-app banner when staff is first enabled at your club so you know who can see what.
Staff accounts are separate from member accounts
Staff are not BIA members. They have a separate account with a single purpose: the dashboard. They don't appear in member rosters, don't show up in invite autocompletes, can't be added to groups, and don't count toward club member totals. If a pro who happens to also be a BIA member at the club becomes staff, they get a separate staff account with a different email — the two accounts never merge.
When staff is enabled at your club
You'll see a one-time disclosure banner at the top of the app. The wording:
Heads up — professional staff and grounds crew at [Club Name] can now see games posted at the club so they can prepare the course and plan maintenance. They cannot see your in-game chat messages.
Tap Got it to dismiss. If a second club you belong to later enables staff, the banner returns once with the new club's name.
Staff broadcasts
Staff can send a one-time message to every host of a game on a given day. You'll receive it as an in-app notification + push, with the sender's name and club:
Mark Stenson (Whispering Pines): Aeration on the back nine starts at 1pm — plan tee times to finish 9 by then.
There is no reply mechanism — broadcasts are one-way, operational. Talk to the staff directly if you need to respond.
For staff — using the dashboard
This section is for the head pro / GM / superintendent who has been granted dashboard access by BIA admin.
Getting in the first time
- The BIA admin emails you a welcome link. Click it within 7 days.
- Set your password. You'll land on the Staff tab.
- Your account is staff-only: you'll see Staff, Notifications, and Profile in the nav. You're not a BIA member; you can't post or join games.
The dashboard layout
- Activation panel — your club's member-acquisition progress against the 35% threshold (or 250-member cap, whichever is lower). Shows the 90-day clock. Pre-cutover (now through April 30, 2027) the counter is informational only — no dashboard fee applies until member subscriptions go live May 1, 2027.
- Team panel — the 1–3 staff members at your club. If you're the primary, you'll see an "Add teammate" form and Remove buttons next to teammate rows. You can invite up to 2 teammates by entering their email + first/last name + optional title (e.g., "Assistant Pro"). They get a welcome email to set their password.
- Analytics (Week + Month views) — Games, Group Outings, Avg group size, Fill rate, and a peak-time histogram showing when games actually start through the day.
- Actions bar — Export the current view as CSV; broadcast a message to all hosts on a chosen day.
- Capacity warnings — any 15-minute window with 4+ posted games is flagged ("Sat Jun 6, 8:00 AM – 8:30 AM · 6 groups in a 15-minute window"). Tells you where first-tee bottlenecks are forming.
Three views
- Day — vertical timeline of every game posted that day, with host, tee time, status, confirmed roster, and guest names.
- Week — Sunday-through-Saturday grid showing each day's games in compact form.
- Month — 6×7 heatmap with each day colored by total confirmed players (members + guests). Tap any cell to drill into that Day view.
CSV export
Click Export Day / Week / Month as CSV on the Actions bar. Downloads a CSV named with your club slug and date range. Columns: Date, Tee Time, Sport, Course, Host, Status, Type, Recurring, Confirmed, Total Slots, Guests, Players, Guest Names. Use it for offline analysis or sharing with whoever doesn't have a BIA staff account.
Broadcast to hosts
Click Broadcast to hosts… to open the broadcast panel. Pick a date, type up to 1000 characters, hit Send. Every host of a non-cancelled game that day gets an in-app notification + push, prefixed with your name and the club name. You'll see "Sent to N hosts" when it lands.
Use it for course conditions, maintenance windows, frost delays, F&B reminders ("kitchen's busy after 10:30 — order ahead"), or anything else operational.
Notifications you'll receive
Staff accounts get a small, focused set of pushes — no chatter, only what's actionable:
- Dashboard access granted — one-time when admin first provisions you (or when your primary invites you as a teammate). Tap-through opens the Staff tab.
- Daily morning digest — at 6 AM Eastern, one push per day per club with that day's golf summary: "10 rounds posted at [Club] for today. Busiest 8:30 AM with 4 groups." If no games are posted yet, the push says so. Lands before you walk into the pro shop.
- Capacity warning — fires when a member's post pushes a 15-minute window over the 4-group threshold on any day in the next two weeks. Example: "Capacity warning at [Club]: 4 groups posted in the 8:00 AM–8:15 AM window on Sat Jun 14. First-tee bottleneck forming." Dedup'd per cluster — you'll get one alert when the cluster forms, not one per subsequent game added.
That's it. No spam from individual game posts, joins, cancellations, or chat messages. The dashboard is for browsing; notifications are for the things you'd actually act on.
Staff lifecycle
- Removing a teammate — primary only. Per-row Remove button in the Team panel. They lose dashboard access immediately.
- Stepping down as primary — only the BIA admin can do this. Ask Gary to either promote an existing teammate to primary (preserves their history) or transfer the primary role to a brand-new person (creates a fresh staff-only account for them).
- Leaving the club entirely — ask the BIA admin to remove your account.
What you cannot do
- Edit member-posted games, post games yourself, or join games.
- Read in-game chat threads.
- See members' personal account info.
- Add more than 2 teammates (the cap is firm).
For members — booking a lesson
If your club has teaching pros using BIA, you'll see every open lesson slot they've published in the Lessons tab in your nav (between Looking and Post). No phone tag with the pro shop, no voicemail, no "I'll call you back."
How it works
- Open the Lessons tab. You'll see two views at the top: All and Month.
- All lists every open lesson at your club, sorted by date and time.
- Month shows a calendar grid color-coded by availability — dates with open slots are green (darker green = more slots), dates with nothing are white. Tap any date to filter the list below to just that day's slots.
- Browse the slots. Each card shows the pro's name, the date and time, the sport, and a Request button. Group lessons (clinics) show how many spots are still open.
- Tap Request. The pro gets a notification on their end and either confirms or declines.
- You're confirmed. Once the pro confirms, a calendar invite lands on your phone (Apple / Google / Outlook), a 24-hour reminder fires the day before, and the lesson shows up in your My Games list alongside your regular games.
What you don't need to do
- You don't need to opt in anywhere. The Lessons tab is always in your nav. If pros are posting at your club, you'll see them automatically.
- You don't get pinged when new slots are posted. That would get noisy fast — one teaching pro posting a 26-week recurring series would push 26 notifications. BIA is deliberately quiet here: open the Lessons tab when you want to look.
- You don't pay through BIA. Pay your pro the same way you do today — club charge, cash, Venmo, Zelle, whatever your club uses. BIA handles the scheduling; payment never touches the app.
Cancelling or changing a lesson
- You need to cancel: open the lesson from My Games and tap Cancel. The pro gets a heads-up, and the slot goes back into the Lessons tab for someone else to book.
- The pro needs to change the time: you get a push notification with the new time and a fresh calendar invite that updates the entry on your phone.
- The pro needs to cancel: you get a push letting you know. The lesson disappears from My Games.
My pro shop isn't using BIA
If you don't see any lessons posted, your pros likely haven't signed up yet. Mention BIA to them — there's a focused guide for teaching pros at learn.ballsinair.com/pro that walks through setup and what they get out of it. The more pros at your club use it, the easier booking gets for everyone.
For teaching pros — booking lessons in BIA
This section is for the golf, tennis, or pickleball pro who wants to publish lesson availability through BIA so members can book on their calendar instead of phoning the pro shop.
Becoming a teacher in BIA
- Sign up at
play.ballsinair.comlike any other member. - Open Profile → Teaching and tick "I'm a teaching pro at my club."
- That's it. The lesson sport types — Golf Lesson, Tennis Lesson, Pickleball Lesson — now appear in your Post menu's sport picker, and in your per-club sport opt-ins. Choose which apply based on the lessons you give.
You can flip the toggle back off at any time. If you do, the lesson sport options disappear from your Post menu, but any lessons you'd already posted stay live until they pass or you cancel them.
Already have a staff dashboard account?
If your club's BIA admin previously provisioned you as a Staff Dashboard contact and you'd like to also teach lessons, you don't need a second account. Use the same email to sign up at play.ballsinair.com — your existing Dashboard access carries over, you become a regular paying member, and you can flip the Teaching toggle in Profile to publish lesson slots. One login, one email, both surfaces.
Posting a lesson slot
Same flow as posting a game:
- Tap Post in the nav.
- Pick the date and time.
- From the Sport + Destination dropdown, choose Golf Lesson / Tennis Lesson / Pickleball Lesson.
- Set Total players to 1 for a private lesson, or higher for a clinic or group.
- Add notes if you want (e.g., "Short game focus — bring wedges").
- Submit.
Posting recurring availability
Publishing every Monday at 9am for 26 weeks? Use the Recurring option on the post form: pick the frequency (weekly, every other week, etc.) and how many occurrences to create. BIA generates all the slots in one shot. Each slot is its own independent post — members book them individually, you can edit or cancel any one without affecting the others.
How members find your slots
Members at your club see your slots in their Lessons tab. The list is sorted by date and time. They tap a slot to request it.
Important: posting a lesson does NOT broadcast a notification to every member at the club. The Lessons tab is a passive browse surface — members go look when they want a lesson. This is deliberate. You don't need to worry about spamming the membership every time you publish a slot.
When a member requests a slot
You get an in-app notification + push:
Sarah Chen wants to join your Golf Lesson on Saturday at 10:00 AM.
Tap it to open the lesson detail, then tap Confirm or Decline. On confirm:
- The member gets a confirmation push.
- Both of you can add the slot to your calendar (Apple Calendar, Google Calendar, Outlook).
- The slot is removed from the Lessons tab so no one else can request it.
- A reminder push fires to both of you 24 hours before the lesson.
Group lessons and clinics
Posting a clinic for 4 kids? Set Total players to 4 on your post. Members book individually — each one takes one of the four spots. The slot fills as bookings come in and disappears from the Lessons tab when full.
Cancelling or rescheduling
- Member cancels their booking: they tap Cancel on the lesson detail. The slot becomes available again automatically and goes back into the Lessons tab. You get a push letting you know.
- You need to cancel: open the lesson, tap Cancel game. Confirmed members get a push.
- You need to change the time: open the lesson, tap Edit time. Confirmed members get a push with the new time + a fresh calendar invite.
Payment
BIA handles the scheduling. BIA does not handle the payment. Members pay you the same way they always have — club charge, cash, Venmo, Zelle, whatever your club uses. BIA never sees the money. There are no fees taken out of your lesson revenue.
What members can and can't see
- Can see: the slot you posted (date, time, sport, your name, notes), the other members who have booked the same slot if it's a group lesson, the slot's status (open / full / cancelled).
- Cannot see: who you've taught in the past, your past calendar, any other pro's bookings, the club staff dashboard.
Notifications you'll get as a teaching pro
Same as any other host of a BIA game:
- Join request — when a member requests one of your slots
- Slot withdrawn — if a member who booked then cancels
- Lesson reminder — 24 hours before each lesson you've taught (push only)
Posted slots that no one books are silent — no nags, no escalating reminders. They sit in the Lessons tab until booked, until you cancel them, or until the date passes.
Why it matters at scale
The more members on the app, the more opportunities for club pros to have a booked teaching schedule. As your club's membership shows up on BIA, lesson demand surfaces in one place instead of scattering across voicemail, texts, and the pro shop counter.
Tips
- Publish a few days at a time if you don't want to use the recurring feature. Members tend to book in 24–72 hours.
- Use the notes field to differentiate (e.g., "Half-hour putting lesson" vs "One-hour swing lesson"). Members see the notes before they request.
- Don't cancel lightly. Once you confirm a member, they're planning around it. Treat it like the tee time it is.
In closing
If your typical Saturday morning starts with five group texts and ends with three players, give BIA a try for one weekend. Post once. See who's in by Friday. Show up to your tee time.
That's the whole pitch. Welcome to BIA.
One ask: help us grow the network
BIA only becomes powerful when the people you actually want to play with are on it too. An app with you and two strangers from your club is useful. An app with you, your foursome, and your group of regulars is transformative — because every time someone in your circle is looking for a game, you'll know about it.
So if you like what you see:
- Tell other members at your club. The more members at your club who use BIA, the more games you'll see in your feed.
- Tell your friends and family at other clubs. Each club's network is private to that club, but the more clubs we have on the platform, the better BIA gets for everyone. Your buddy at another club benefits from his club joining the same way you benefit from yours.
- Send them this manual. A 5-minute read is all it takes for them to get the idea.
The faster the network grows, the less time anyone spends in group-text purgatory. Pay it forward.
Questions? Email Ballsinairsupport@gmail.com.