GROUPSPACE
Operations

Every scheduled thing on one board

A flight, a patrol shift, a training and a community event are one object with different settings.

Presets

One engine, however many presets

An operation type is a set of flags: participants, roster, asset, seating, booking mode, stages and clock integration.

Flight

Participants, roster, an aircraft asset, seat selection and public booking. The widest configuration there is.

Shift

No participants, a roster of positions, clock integration on. Assignees clock in when the shift starts.

Patrol

A shift bound to a game, so presence tracks itself from the heartbeat instead of from a button.

Training

An event with a completion outcome that writes a positive record onto everyone who passed.

Event

Attendees, no roster, two stages — registered then attended. Booking open to the public.

Your own

Set the flags, name the stages, define the roster positions. A preset is configuration, not a code path.

Recurring operations. A weekly shift is a generator that materialises real rows several weeks ahead — never a virtual repeating entity. Editing one Tuesday does not fight the other Tuesdays.
Stages

A stage machine you write

Participants move through ordered stages that staff or the game advance, and every single move is logged.

Flight GS1042

N512GS · Los Santos to Paleto Bay
Boarding
Booked Checked in Security Awaiting boarding Boarded In flight ArrivedNo showDenied boarding
Checked in
NONia Okafor
TATobi Alarcon
Security
RVRio Vance
Awaiting boarding
SISana Idris
MVMarek Vole
Boarded
AMAva Mercer
KDKex Duval
Bulk advance
Board everyone waiting at the gate in one action. Nobody clicks forty rows individually at a check-in desk.
Operation status is separate
The host moves the operation from scheduled to boarding to active. That can auto-advance participants, if you want it to.
Every move is an event
From stage, to stage, who did it, and whether it came from staff, the participant, the system or the game.
Phone first
The person running check-in is usually on their phone in a Discord call, so the board is built for that.
Terminal stages such as no show and denied boarding sit outside the line
A stage can require staff action, or advance itself on a game event
On completion, anyone still mid-stage resolves to no show automatically
Rostered staff get attendance credit, which feeds quota progress
Clock sessions opened by the operation close when it completes
Clock integration. Turn it on for a type and rostered assignees clock in when the operation starts and out when it ends — so the hours reach payroll without anyone remembering a button.
Rosters and assets

Only people who hold the position

A roster slot names a required position, so a captain slot cannot be filled by someone who is not one.

Roster · GS1042

eligibility checked on assign
1 open
SlotAssigneeStatus
Captain
Captain or above
AM
Ava Mercer
Confirmed
First officer
First officer or above
RV
Rio Vance
Confirmed
Flight attendant
Cabin crew
KD
Kex Duval
Assigned
Flight attendant
Cabin crew
OpenOpen
Ground security
Security officer
NO
Nia Okafor
Assigned
Minimums and maximums
Two flight attendants minimum, four maximum. The operation tells you it is understaffed before it starts, not after.
Eligibility from the org chart
Required positions, and optionally a required record — a completed training before someone may take the slot.
Self-assign or be assigned
Open the slots and let staff claim them, or fill the roster yourself and ask for confirmation.
Release and reassign
A released slot goes back to open. A no-show is recorded as a no-show, which quotas can read.

Assets

aircraft, vehicles, venues
AssetKindCapacityStatus
N
N512GS
Narrowbody · 2 cabins
Aircraft48 seatsActive
N
N330GS
Regional · 1 cabin
Aircraft26 seatsMaintenance
U4
Unit 4-12
Patrol cruiser
Vehicle4 seatsActive
CH
City Hall atrium
Standing capacity
VenueunlimitedActive

An asset carries a seat map — cabins, rows, seats, a class per seat, and blocked seats. Capacity comes from the asset rather than a number someone typed, and a seat is locked to one participant with a concurrency check so two people cannot take 12A.

Booking

In-game is the primary path

Players book at a kiosk inside the game, and the web portal is the secondary route rather than the main one.

Why in-game comes first. Roblox OAuth requires a player to be 13 or older to authorise a third-party app. That excludes a large share of the audience from ever signing in on the web, so “sign in with Roblox to book” cannot be the only way in. The in-game kiosk needs no account at all — the SDK posts the player’s id and a booking reference comes back.
In-game kiosk
The SDK posts to GROUPSPACE with the player's platform id. A participant row is created at stage booked with a reference.
Web portal
Sign in with Roblox, Discord or Steam, pick a seat from the map, get the same row and the same reference.
One shape either way
Source is recorded as in-game, web or staff, and nothing downstream cares which it was.

Booking reference

op_gs1042 · participant
In-game
AR
Ava Ramirez
roblox:1099384 · no account

ReferenceGS1042-8KQ2
Seat12A · economy
StageChecked in
SourceIn-game kiosk

Passengers never need a GROUPSPACE account. A platform id and a booking reference are enough, and given the age floor they have to be.

Stop duct-taping your community together.

GROUPSPACE is in invite-only early access. Talk to us and we will get your community on the list.