Skip to content

A Day as a Venue Manager

Every feature page in these docs covers one module in isolation. This page is the opposite view — one ordinary day, told in order, that happens to touch nearly everything Frogge does today. If you're trying to picture how the pieces actually fit together before diving into the reference pages, start here.

Screenshot needed

A composite of the admin dashboard, a posted event announcement, and the Dashboard's Raffles page — the three surfaces this walkthrough moves between.

Morning — catching up on what happened overnight

8:00am. Nothing was clicked overnight, but three background sweeps kept running on their own: a member got a DM that their VIP is expiring in 3 days, a couple of members who signed up for tonight's event got a reminder now that it's crossed its signup lockout window, and a Giveaway that ended at 6am rolled itself and DMed the winner — no admin action needed for any of it. The FFXIVVenues status card in the venue's info channel has also quietly refreshed itself a few times since midnight.

8:10am. Opening /admin menu, the single entry point for everything below, the header already reflects the venue's real name — pulled from the linked FFXIVVenues listing, confirming nothing's gone stale.

Late morning — staffing and tonight's event

9:00am. A new hire is back from their trial shift. In Staffing, the manager marks them hired and grants a "Bartender" qualification — which, since that Position has a Discord role attached, grants that role live. A quick look at the roster catches one former staffer worth rehiring; their old employment history stays intact from before.

9:30am. Tonight's event doesn't need building from scratch — in Events, From Template applies last month's saved template against tonight's date, and every shift's offset-based timing resolves automatically. One Position the template references was since deleted from the catalog; applying it skips that slot and says so, rather than failing outright. Two more Positions get attached live, a couple of extra shifts get added, and because this venue has Require Staffing Qualification turned on, the Bartender shift can only be self-signed by someone actually qualified — including the hire from 9:00am.

A few Secondary Elements go on next — an Address, a Syncshell code, a Theme — before Post to Channel sends the two-tier announcement live.

10:15am. Back in Positions, "Host" gets a color it didn't have before. That one edit ripples into both Events' fill display and Staffing's qualification list immediately, since both reference the same catalog entry.

Midday — VIP, Profiles, and a new member

12:00pm. A regular just tipped generously. In VIP, assigning them to the "Gold" tier grants that tier's Discord role and fires the Welcome DM built from the venue's custom message template. A separate perk redemption gets marked Fully Redeemed for an existing member, and the roster's live post (already keeping itself current) reflects both changes without a manual repost.

12:30pm. Two character submissions are sitting in Profiles' Approval Queue. One gets approved — it goes live and posts to the venue's character-profiles channel. The other needs a rewrite on its About Me section, so it gets rejected with a reason the owner will see next time they open /profile.

12:45pm. A brand-new member runs /verify on their own. They solve the captcha, enter their character's Forename/Surname, pick Data Center → World, and — since this venue requires ownership proof — paste a one-time code into their Lodestone bio before the bot confirms it. Nothing here needs the manager's involvement, but it's why Verification's character-exclusivity rule now protects that specific character from anyone else claiming it while the venue is open.

Afternoon — engagement and money

2:00pm. A Giveaway for tonight gets set up with a real Discord Scheduled Event attached, so members can enter either by clicking the posted message's button or by marking Interested on the event itself — both count toward the same live entrant total.

2:30pm. Meanwhile a Raffle for a rare mount is already running. Tickets get credited two different ways today: once through the detail screen's Add Tickets flow for a walk-in customer, and later through /addtickets during a rush — the one typed-command exception in an otherwise button-driven bot, kept specifically so crediting doesn't slow down during busy hours.

3:15pm. Stepping away from the venue but still working, the manager switches to the Dashboard from a browser. The same Profiles approval queue and VIP member list are right there, and since Raffles posting works from either surface, crediting a few more tickets here also refreshes the raffle's live tracker post automatically.

Evening — the event itself, and the payoff

7:00pm. Members open tonight's posted announcement and use the private shift browser to join open shifts — a full shift only disables the Join button for people not already in it. The new hire's Bartender qualification lets them into that shift; someone without it sees it correctly locked out.

7:15pm. A staffer working the floor doesn't want to alt-tab out of the game — they pull up the Plugin in-game instead, check their own upcoming shift under Events, and glance at their character profile (read-only from here), all against the same account link they set up once.

9:00pm. The manager rolls tonight's Giveaway manually rather than waiting for it to expire — the winner gets DMed, and because a Discord Event was attached, that event concludes on Discord automatically as part of the same roll.

9:30pm. The mount Raffle gets rolled too. Because the draw is genuinely ticket-weighted, the customer who bought 40 tickets wins far more often across the venue's raffles than someone who bought 2 — that's by design, not luck. The roll posts a notice to the venue's configured log channel and the tracker post updates in place to show the winner.

Late night — wrapping up

11:30pm. One last Staffing action: the trial-period hire who didn't work out gets terminated rather than deleted, so their short employment period stays on the record. Everything else — VIP, Events, Profiles, Verification, Giveaways, Raffles, FFXIVVenues — keeps running unattended via its own background sweep until the manager logs back in tomorrow.

What this day touched

Module How
Positions Edited a color; referenced by Events and Staffing
Staffing Hired, qualified, and terminated a staff member
Events Applied a template, attached positions, posted, watched live self-signup
VIP Assigned a member, redeemed a perk, watched the Welcome DM and role grant
Profiles Approved one submission, rejected another
Verification A new member completed /verify end to end
Giveaways Created with a Discord Event, rolled manually
Raffles Credited tickets two ways, rolled a weighted draw
FFXIVVenues Integration Kept the status card current in the background
The Dashboard Approvals, VIP list, and Raffle ticket-crediting from a browser
The Plugin A staffer checked their shift and profile in-game

Not pictured: Frogge's Twitch stream-alert notifications, which fired at least once tonight the same way everything else in the background did — quietly, without anyone needing to click anything.