SmashQueueBeta

Guide

Book. Check in. Queue. Play.

Everything the app does, for players, whoever is running the night, and whoever organises the group. Skim the part that is yours.

Beta · 1.0.0-beta.1hello@aiops.ae

One badminton group, one link. Players book from WhatsApp, scan a QR at the door, and their phone tells them when they're next. The coordinator runs the whole night from one screen and stops being the person everybody asks "when am I playing?"

1. The five-minute version

Tuesday — organizer opens smashq.aiopsgroup.ai/admin, creates the session, copies the link, drops it in WhatsApp.

Tuesday to Saturday — players tap Join session. Once it's full, the next taps land on the waitlist. Somebody cancels, the top of the waitlist moves up automatically and nobody has to notice.

Saturday 6:50 PM — coordinator opens the QR code on a phone and props it at the door. Players scan as they walk in. The session goes live on the first scan.

Saturday 7:00 PM to 10:00 PM — coordinator opens the court board. For every free court it shows four players, already split into teams, with a line saying why those four. Tap Start game. When they're done, tap Finish game, type the score or skip it. That's the entire job.

Saturday 10:00 PM — tap Close session. You get the summary: games played, fairness score, who still owes money.

2. For players

First time with the group

Open the link from WhatsApp and tap Pick your name. If you're already on the list, tap your name once and your phone remembers it from then on. There's no password and nothing to install.

If you're new, use New here? at the top: type your name, tap Add me, and you're on the list for good. A phone number is optional and only the organizer sees it — worth adding if someone else in the group shares your first name.

If the name you type already exists, the app won't create a second you. It shows the existing person and asks whether that's you. Say yes and you're signed in as them; say no by adding a surname or an initial. This matters more than it sounds: games played, the fairness score, ratings and history all hang off one record per person, and two records for the same player quietly breaks all four.

Turned up at the venue without booking? The QR code at the door has the same Add me box, so you can join the group and check in from the same screen.

Booking

Once the app knows who you are:

Then tap Join session.

  • If there's space, you're confirmed straight away.
  • If it's full, the button says Join waitlist and you'll see your number in the queue.
  • Changed your mind? Cancel my slot. Do it early — it's what lets the next person in.

Booking also creates your fee record, so the coordinator can tick you off when you pay.

Checking in

At the venue there'll be a QR code on a phone or a printout by the door. Point your camera at it, tap your name, done. You're in the queue from that second.

If your phone is dead or the code won't scan, tell the coordinator — they can check you in by hand in two taps. You can also open the session link and tap I'm at the venue.

The QR code only works for tonight's session and only for 24 hours, so a screenshot from last week won't do anything.

During the session

Your session page is the answer to every question you'd normally ask the coordinator:

  • Waiting with your place in the queue — "Next 1 to 2 games", "About 3 games away"
  • Games you've played, Waiting how long you've been sitting, and how many people have had fewer games than you
  • When you're picked, the screen switches to You're up with your court, your partner, and who you're against

The page refreshes itself every few seconds. You don't need to pull down.

Two buttons matter:

  • Sit out a game — taking a break, getting a drink, phone call. You stay checked in and the engine skips you until you tap I'm back in. Sitting out also resets your back-to-back counter, so you're not penalised for resting.
  • Heading home — you're leaving. Tap it before you go so the rotation adjusts for everyone still there.

Scores

Optional, always. If your group wants them, anyone in the game can add the score from the Games tab afterwards. Scores feed your win rate and your rating, so they're worth doing once the habit sticks.

Your fee

Your session page shows whether your fee is paid or pending. The coordinator marks it when you hand over the cash or send the transfer.

Your profile

Tap your name in the top right. Sessions attended, games played, win rate, recent form, your most frequent partner and opponent, and your rating.

3. For the coordinator

Everything here sits behind the group PIN. Enter it once per phone.

Before the first game

Open QR code from the session tabs and leave it on screen at the door. Check the Check-in tab now and then to see who's booked but hasn't arrived.

You can check anyone in manually from that tab, squeeze someone off the waitlist, or add a walk-in who never booked. All of it is one tap.

The court board

This is the screen you live on. Four numbers across the top: checked in, waiting, courts in use, and the fairness score. If that fairness number starts dropping, something has gone lopsided and you'll want to look at the Next players list.

Each court is either playing or open.

A playing court shows both teams and a running clock. When the game ends, tap Finish game. Type a score or tap Completed, no score — both are fine, and the engine doesn't care either way.

An open court shows the four players the engine picked, already split into Team A and Team B, with a short explanation underneath: who has the fewest games, who's been waiting longest, whether it's a fresh combination, how evenly matched the teams are.

Three buttons:

  • Start game — you agree. Done.
  • Switch teams — same four players, different pairing. Cycles through all three ways.
  • Swap players — tap any player's name to drop them, then pick a replacement from the waiting list. Tap Reset to go back to the engine's suggestion.

You are never fighting the system. Whatever is on the card when you tap Start game is what gets played. If you changed it, that gets recorded quietly so you can look later at whether the engine keeps getting the same thing wrong.

Pairing preferences

Two people want to play together. Two people should probably not be on the same court tonight. Add either as a preference on the board — they last for this session only.

These are preferences, not rules. Fairness still wins: if honouring a "keep apart" would leave a court empty, the engine relaxes it and tells you it did.

Money

The Payments tab lists everyone with Cash, Transfer and Waive buttons. Tap one, it's recorded with your name and the time. The top of the page shows expected, collected and outstanding, and the unpaid names are listed so you can read them out once instead of chasing on WhatsApp for three days.

You can also log court hire, shuttles and anything else under Session costs to see whether the night actually broke even.

Closing the night

Tap Close session on the board. Finish or cancel any live games first — it'll tell you if something's still running.

Closing marks anyone who booked but never scanned in as a no-show, and takes you to the summary.

4. For the organizer

Creating a session

Organizer → New session. Name, date, start and end time, venue, number of courts, max players, fee, game type, points per game.

You get a short code and a link like smashq.aiopsgroup.ai/s/K4M2XP. That's what goes in WhatsApp. The QR check-in code is generated from the same session automatically, and it always points at whatever domain the app is served from — so it stays correct if the address ever changes.

Game type is worth a thought:

Type What it does
Casual Maximum mixing, teams only loosely balanced
Casual balanced The default. Fair rotation, teams roughly even
Competitive Ratings matter, teams matched as closely as possible
Social Pushes hardest to avoid repeating the same four

Fairness works identically in all four. The setting only changes how hard the engine pushes on team balance and on mixing people up.

Members

By default, anyone who opens the session link can add themselves to the group. That's the right setting for a WhatsApp group where the link only goes to people you know, and it means you're not the bottleneck on a Saturday evening. Duplicate names are refused, so nobody ends up with two records.

If you'd rather vet everyone, turn Anyone with the link can join off at the top of the Members page. New players then see "ask the organizer" instead of a sign-up box, and you add them by hand.

Names usually come straight out of the WhatsApp group. Add them under Members. Rating is optional — leave it at 1200 and it settles itself once scores start going in.

Roles: Player, Coordinator, Organizer. Anyone with the PIN can run a session; roles are for your own record keeping until proper logins arrive.

Venues

Name, address, court count. Sessions pick a venue and inherit nothing else, so you can run three courts at one place and four at another without any fuss.

Money and statistics

The organizer dashboard shows sessions run, average attendance and total collected. Statistics gives you the group leaderboard — doubles Elo, win rate, recent form, and who plays with whom most often.

Changing the PIN

Organizer → Members → Group. Type a new 4 to 8 digit PIN and save. Nobody gets signed out: a coordinator who already unlocked their phone stays unlocked until they tap Lock.

Change it when a coordinator stops helping out, and change it from the one you were given at setup before you hand it to anybody else. The PIN is currently the only thing between a curious player and the payments screen.

5. How the queue decides

Worth reading once, because somebody will ask you.

Games played is not a preference, it's a rule. Players are grouped by how many games they've had. The engine works from the bottom up: if everyone on 2 games fits on the court, they all go on. It only gets to choose when it reaches a group with more people in it than there are spots left.

Inside that group everyone has played the same number of games, so nobody is being jumped. Only then do the other four things get a say:

What it means
Waiting time Longest sitting goes first
Rest Played back-to-back? You drop down. Just walked off court? Four-minute breather before you're considered again
Fresh combinations Avoids the same four people, weighted so last game matters more than five games ago
Team balance Splits the chosen four into the two evenest pairs

The effect over a real three-hour session: everyone ends within one game of everyone else, and average waiting time sits around seven minutes.

Someone arriving late gets priority until they catch up, but with the four-minute rest between games so they're not run into the ground. If they walk in an hour late they will finish the night behind — the clock, not the engine, is the limit there.

Why didn't I get picked? Almost always: you've had one more game than the people who did, or you came off court less than four minutes ago. Both are visible on your own screen.

6. Statuses, decoded

Booking

Status Meaning
Confirmed You have a slot
Waitlisted Full; you move up automatically when someone drops
Cancelled You gave the slot back
No show Booked, never scanned in. Recorded when the session closes

During the session

Status Meaning
Available In the queue
Playing On court right now
Resting Sitting out by choice; skipped until you come back
Left Gone home; out of the rotation

Payment

Status Meaning
Unpaid Owes the fee
Paid Cash, transfer or online, with a timestamp and who recorded it
Waived No charge this time

Fairness score

100% means everyone played exactly the same number of games. Above 88% is excellent, and in practice means a spread of one game. Below 70% means somebody got noticeably more court time than somebody else — look at the games-per-player bars in the summary to see who.

7. When things go sideways

Nobody can scan the QR. Check-in by hand from the Check-in tab. Two taps per player, and the session runs exactly the same.

A player's phone is dead all night. Fine. Nothing about the rotation depends on the player's phone — only the coordinator's screen matters. They just have to ask you when they're next, the old-fashioned way.

Someone has to leave mid-game. Tap Cancel on that court, then assign a fresh four. The cancelled game isn't counted for anyone.

Only three players free. The court card says so instead of suggesting a game. Someone resting can tap I'm back in, or you can check in a walk-in.

A game was finished by mistake. Fix the score from the Games tab. The game itself stays counted — which is the right call, since they did play it.

The wrong player got checked in. Mark them Gone in the check-in list. They leave the rotation immediately.

Somebody registered twice under slightly different names. The app blocks exact repeats, not "R Shankar" versus "Ravi Shankar". Deactivate the spare under Members and ask them to tap the original from now on.

The fairness score is dropping. Usually means a lot of people arrived late or several people are sitting out. Open Next players — the list is ordered exactly as the engine sees it, so the people at the top are the ones owed a game.

Two people keep getting drawn together. Add a Different games preference for them on the board. It lasts for tonight only.

Quick reference

I want to Where
Join the group for the first time Session link → Pick your name → New here?
Book a slot Session link → Join session
Check in Scan the QR, or Check-in tab
See when I'm next Session link → Your status
Start or finish a game Court board
Swap a player Court board → Swap players
Take money Payments tab
Add a walk-in Check-in tab → Walk-in
Close the night Court board → Close session
See the fairness score Summary tab
Create a session Organizer → New session
Add a member Organizer → Members
See the leaderboard Organizer → Statistics
Report something broken hello@aiops.ae
Open the app smashq.aiopsgroup.ai

This is a beta

Everything described here works and is tested, but the app has not yet survived a real Saturday with thirty people and bad venue wifi. If something behaves oddly, it is worth reporting rather than working around — mail hello@aiops.ae with what you were doing and roughly when, and it gets looked at.

The queue weights in particular are expected to want tuning once a few real sessions have been played. If the rotation feels wrong to the people actually on court, that is exactly the feedback worth sending.

Built and maintained by AIOps — vendor-independent forward deployed engineering for the GCC.