For timing companies: registering your company, connecting to client clubs, running their meets, uploading entries and results, and how the per-splash surcharge works.
Article 1
Getting started: create your vendor account
Applies to: timing companies running meets for clubs Where:/register, then /vendor/signup
The vendor portal is free. You are not billed for having an account — only a small surcharge per splash on meets your company runs. See article 5.
Step 1 — Create a personal account
Go to meetdirector.online → Create an account, enter your name, email and a password, verify your email address from the link we send, and sign in. This is your login; the company account comes next.
Step 2 — Register your timing company
Go to Become a timing vendor (/vendor/signup) and fill in:
Field
Required?
Notes
Company name
Yes
How you appear to clubs
Code
Optional
Short code (e.g. STI) — coaches use it to invite you
Website · Contact email
Optional
Contact email defaults to yours
Legal business name · Business type · EIN
As applicable
Used on invoices and receipts
Street, city, state, ZIP, business phone
Yes
Your business address
Read the fee agreement — it states the rate that applies to your account — tick the box to agree, and click Create vendor account.
You land in the Vendor portal (/vendor), whose tabs are Overview, Client meets, Clients, Staff, Company profile and Billing. Two buttons at the top start the jobs you'll do most: Onboard a club and Host a meet.
Pick a code you'll be happy to say out loud. Coaches invite you by typing your vendor code into their coach portal, so something short like STI beats a long company name.
Early access: creating meets is being switched on account by account. If you see the "Meet hosting is in early access" notice when you try to host, open a support ticket and ask us to enable your vendor account.
Article 2
Client clubs — getting connected
Applies to: vendor accounts Where:/vendor/clients
You can only set up and run meets for clubs that have approved you. There are three ways to get connected: you ask the club, the club invites you, or — for a customer who isn't on MeetDirector yet — you put their club on the site yourself and hand it over.
You request the club
Open Clients (/vendor/clients).
In Request a client club, search by the club's code or name (e.g. CA, or Carolina Aquatics).
On the club's row, add an optional note to the club's coach explaining who you are, and click Request.
The club's coach approves it from their coach portal. Until then the row shows Pending.
Two clubs with the same code? A code is only unique within an LSC — CA in South Carolina and CA in Florida are different clubs — so the search lists each one on its own row with its LSC. Request the one you mean; working for one never gives you anything at the other.
Request sitting unanswered? Coaches often don't recognise a timing-vendor request and leave it. A site administrator can approve it on the club's behalf — open a support ticket naming the club code(s) and it's usually done the same day.
The club invites you
Give the coach your vendor code. From their coach portal they use Invite a timing vendor, pick their club, enter your code and submit — that link is live immediately, no approval needed on your side.
Bringing a new club online
When a customer isn't on MeetDirector yet, you don't have to wait for them to sign up. Set their club up yourself and invite the person who should run it — usually their meet director or head coach. They sign up already connected to the club, and the club is theirs.
Click Onboard a club at the top of the vendor portal (/vendor/onboard).
Under The club, enter its name, its team code as the club uses it in Hy-Tek, and its LSC / affiliation. City and state are optional.
Under Who takes it over, enter the contact's name and email, and choose their role:
Team admin (the usual choice) — runs the club: adds coaches, chooses meet directors, sets up payouts.
Meet director — runs the club's meets only, with no access to the roster. You can invite a team admin later.
Add a note if you like, and click Set up the club and send the invitation.
The club is created, you're approved as its timing vendor straight away (there's nobody at the club to ask yet), and the contact gets an email from MeetDirector.Online saying you set the club up. Replies to that email come to you. From the confirmation you can go straight to Host their first meet — you don't need to wait for them to accept.
Early access: onboarding clubs is switched on together with meet hosting. If the form shows the early-access notice, open a support ticket. You also need to have confirmed your own email address.
Handing the club over
The invitation works for the contact's email address only, and lasts 30 days.
If they're new to MeetDirector, the link takes them to Create your account with their name and email already filled in. When they finish, they're the club's team admin (or meet director).
If they already have an account, the link asks them to sign in and Accept or Decline. Nothing changes on their account until they accept.
You get an email when they accept or decline. Until someone owns the club, its row in Clients shows the invitation under Handover, with Resend (sends a fresh link; the old one stops working) and Withdraw. Invite someone sends an invitation to another person — useful if the first contact declined or has moved on.
Once the club has a team admin, its staff is theirs to manage. You stay its timing vendor, but you can no longer invite people to it — ask the team admin to add anyone else. (A club whose only contact is a meet director doesn't count as owned yet, so you can still invite a team admin to it.)
Payouts are the club's to set up. If their meets collect entry fees online, the team admin connects the club's own payout account — it's in the club's legal name, so you can't do it for them. The Handover column shows Payouts connected once they have.
A club that's already on MeetDirector
Onboarding never creates a second copy of a club. If the code and LSC you enter match a club that's already here:
It has its own staff — onboarding stops and tells you so. Request it as a client instead; its team admin approves.
Nobody manages it yet (it's here because its swimmers appear in results) — onboarding sends a client request, which an administrator confirms because there's nobody at the club to answer it. Once it's approved, use Invite someone on its row in Clients.
Reading the clients table
My clients lists each club with:
Status — Approved, Pending, Rejected, or Ended by club (with the date).
How — We requested, Club invited us, or We onboarded it.
Handover — who runs the club (Team admin: …), any invitation you've sent and when it expires, and Payouts connected once the club has set them up.
Once a club is Approved, its meets appear in your Client meets console and you can create new ones for it.
Stuck on Pending? The request sits with the club's team admin — usually the head coach. A nudge by phone is faster than anything we can do; if the club says they can't find the request, open a support ticket with the club code.
When a club ends the relationship
A club's team admin can end your access from their coach portal at any time — including a club you onboarded. You get an email, and the club's row shows Ended by club.
You can no longer set up new meets for the club or manage its other meets.
Meets already recorded as yours stay yours to finish — ending mid-season doesn't strand a meet you're partway through running.
If it was a mistake, request the club again (it goes back to Pending), or ask the team admin to invite you.
Article 3
Running your clients' meets
Applies to: vendor accounts Where:/vendor/meets (Client meets)
The Client meets console lists every meet you're timing across all your client clubs, with the host, dates, status and current entry count.
Creating a meet for a client
Click Host a meet at the top of the vendor portal (/vendor/host-meet).
Upload the client's Hy-Tek event file (.ev3, or the .zip as exported).
Under Who is hosting, choose Another club (I'm setting it up for them) and pick the club from your client list — or type its name, code and LSC / affiliation, which sets up the client relationship for you. The LSC is how a code finds the right club: CA in South Carolina and CA at a high school are different clubs. For a customer who isn't on MeetDirector at all, onboard their club first — that also invites the person who'll run it.
Fill in Where is it? — facility / pool, street address, city, state and ZIP. The event file doesn't carry the location, and it's what the public Find a meet search matches on; a meet without it reads Location TBC. Ask your client for the pool's address if you don't have it.
Submit. The meet is created as a draft.
Pools you've timed at before are on the list. Above the address boxes, Use a venue you've used before offers every pool already on the system with its town and courses — Carolina Natatorium — Columbia, SC · SCY, LCM. Picking one fills the address in, which matters for a vendor: the same half-dozen pools come round every season across several client clubs, and you type each one once. Typing the same pool again isn't duplicated — the same name in the same town is recognised.
You can add or correct the location later from the meet's Details page, where the same picker appears. Re-uploading an event file to update the events won't wipe a location that's already there, and if a venue's address is corrected, every meet held there picks it up.
Once the meet is out of draft it appears in Find a meet, the public search on the front page and at the top of /meets, matching the meet name, the host club's name or code, the facility, and the town, state or ZIP — worth telling your client, since a fully filled-in meet advertises itself.
The meet lifecycle
From each row in Client meets:
Status
Button
What it does
Draft
Open for entries
Teams can start entering
Open
Close entries
Entry deadline reached — teams can no longer enter online. This does not lock your billing count; you can still change entries by hand
Entries closed
Re-open entries
Let teams enter online again. Billing is unaffected
Other actions on each row:
Entries file — download every entry as .hy3 / .cl2 / .sd3 to load into Meet Manager.
Entries — add or change entries by hand.
Details — everything about the meet, one tab each: its name, dates, course and venue; meet setup (style, class, sanction numbers, host LSC); officials; the meet director; and the entry fees — the fee schedule, custom fees and each event's fee.
Payments — entry fees and payment status for the meet.
Closing and re-opening entries never touches billing. Teams keep adding swimmers after entries close, so the splash count locks on the meet's start date instead — until then you can keep changing entries with Entries; from the start date they're final. See article 5.
Article 4
Uploading entries and results
Applies to: vendor accounts Where:/vendor/meets (entries) and /import (results)
Entry files from teams
On a Draft or Open meet, expand Upload entries on the meet's row and select the teams' entry files — you can select them all at once (.hy3, .cl2, .sd3, .zip). Each file is processed as its own team, registering the team if it isn't in the meet yet. The team is matched by its code and the LSC in its file, so leave the team's LSC filled in when exporting from Team Manager — a file whose code more than one club uses, with no LSC to say which, is refused rather than guessed.
Click Review & import. The Review entries by team screen shows exactly what each file will do before anything changes — new entries, changes and removals per team. Confirm to apply, or Cancel.
Inviting clubs that aren't on MeetDirector yet
When an entry upload brings in clubs that nobody manages on MeetDirector, applying takes you straight to Invite entered clubs (/vendor/entries/invite). You can come back to it any time from the meet's Invite clubs button on /vendor/meets, which shows once the meet has entries or while its host club has nobody managing it.
The host is listed too, marked Host, whether or not it has swimmers entered — so a club you named as host when you created its meet, and that nobody runs on MeetDirector yet, can be invited from its own meet. Its invitation says you're timing the meet they're hosting, and that you stay their timing vendor. Once the host has a team admin or coach of its own it drops off the list.
Each club gets a row with its entry count, and is marked New to MeetDirector or Has results on MeetDirector, but no account. When the club's Hy-Tek entry file includes a coach's email (the head coach's comes first), it's filled in for you. Check it before sending. SDIF (.cl2/.sd3) files carry no email, so type one in.
Send invitation emails the coach on your behalf, and their replies come to you. The email tells them you're timing the meet and their entries are in. It also explains that results go up on MeetDirector.Online as soon as they're finalized at the meet, and that with an account they can download their results for Team Manager and manage future entries online.
Whoever accepts becomes the club's team admin. The link only works for the address you sent it to, and expires after 30 days. You're emailed when they accept or decline, and the row then shows Joined.
You can Withdraw an invitation, or send a new link (the old one stops working). If the club's own coach signs up some other way first, your invitation stops working too, because the club now manages its own staff.
Clubs that already manage themselves on MeetDirector aren't listed. Neither are your own clients, whose contacts you invite from Clients (article 2) — except the meet's host, which is listed here even when it's your client. You can send up to 60 of these invitations a day.
Results after the meet
Use Upload results (/import) to import the meet's results file — .hy3, .sd3, .cl2, .ev3, .hyv, or the .zip straight out of Meet Manager. Teams, athletes, events, results and splits all import.
Set the Meet LSC for LSC/USA-Swimming meets; leave it as none for high-school or rec-league meets.
You can upload a meet only if its host is one of your approved client clubs and that club swam it. A file whose clubs include none of your clients is refused — "None of the clubs in this file is a client of your timing company" — and a meet already hosted by a club that isn't your client is refused by name. Connect to the club first (article 2) and try again.
If the file doesn't clearly match an existing meet, you'll be asked "Which meet is this?" — pick the right one so results stay together. Only a same-name meet on that day is offered.
"Which of your clubs hosted this meet?" — asked only when more than one of your client clubs is in the file; with exactly one, it's the host and the question is skipped. The import preselects from the file when it can (an SDIF host record, or the Meet Manager licence name when it matches a club) — confirm or change it. The host is what the director report, meet finder and payments read, and a meet that already has a host is never asked about again.
"Which governing body is this meet under?" — asked for a new meet only when nothing names it: no USA Swimming sanction or high-school meet class in the file, no Meet LSC chosen, and a host club with no governing body on file. Pick it from the list; a meet is never filed under a guess.
A meet already on the site with no host on record can't be written into from a file; the host club claims it first (their coach's My meets → We hosted this, approved by an administrator), then the upload goes through.
Every club with swims in the file is notified that you uploaded it, and can flag a problem for an administrator. Each club's coaches are also emailed within the hour that the results are posted, with a link to download their own club's .hy3/.cl2 files from the coach portal — you don't need to distribute results files to the teams yourself.
Re-importing a corrected file updates the existing meet rather than duplicating it.
Several meets to post at once? Batch upload (/import/batch, linked from the upload page) takes up to 500 files, one meet each, and imports them one at a time while you do something else. Each file is checked exactly as above. Any file that needs an answer waits for you, and the rest carry on.
After importing, check Data review for the meet (/meets/{id}/review) — it lists unmatched swimmers and data to fix, grouped by team, which you can send to the clubs to clean up.
Article 5
Billing — the per-splash surcharge
Applies to: vendor accounts Where:/vendor/billing
The portal is free. You pay a small surcharge per splash on meets your company runs — billed to you, never to the club or the families.
How the charge is worked out
A splash is one swim in the meet: each individual entry counts once, and each relay team counts once.
The count locks on the meet's start date — that's the moment your charge is fixed, counting the entries in the meet that day. A meet with no start date locks a week after its entry deadline. A nightly pass does the locking, so the charge appears on your billing page within a day.
Closing entries doesn't lock anything, and re-opening them doesn't change a charge. Teams often add swimmers after entries close, so you can keep changing entries right up to the meet; from the start date the meet's entries can't be changed.
A meet cancelled before its count locks never locks, so it's never charged.
A meet whose count locked early — when closing entries used to lock it — is unlocked when you next open its Entries or upload entries to it before the meet starts, as long as that charge hasn't been paid or waived, and locks again on its start date. A paid or waived charge stays as it is, and that meet's entries can't be changed; open a support ticket if it genuinely needs to re-open.
Your rate is shown on your billing page, under Your rate, and on the fee agreement you accepted at signup. Rates can be set per vendor, so check there rather than assuming — and talk to us if you're running a volume that warrants a different one.
Paying
Card on file — add one from the billing page. Open charges are then billed automatically after a grace period (7 days by default).
Pay now — clears the open balance immediately, any time before the auto-charge.
The Charges table lists every meet with the date the count locked, the entry and relay counts, the rate applied, the amount, and a status of Open, Paid, Waived or Payment failed.
A failed payment is retried, but the charge stays open in the meantime. Replace the card from the billing page if it's expired — nothing is cancelled, and the retry picks up the new card.
Disagree with a count? Open a support ticket naming the meet and what you think it should be. We can see the same locked figures you can.
Article 6
Staff and company profile
Applies to: vendor accounts Where:/vendor/staff and /vendor/profile
Staff
Staff lists your operators and timers, who each get vendor-portal access. Add one with their email, first and last name, and an optional role label. They sign in with their own MeetDirector account and see your client meets.
Add the people who actually run meets — anyone who needs to open or close entries, load entry files, or import results.
Company profile
Company profile holds your business details — company name, legal business name, business type, EIN, address, phone, website and contact email. These appear on invoices and receipts, so keep them current if you change address or entity.
Sign in (or create a support account) using the same email address as your MeetDirector account — it lets us match you to your vendor account immediately.
Click Submit a ticket, choose the topic, describe the problem, and attach any files.
Submit. Replies come by email; reply to the email to add to the same ticket.
What to include
Your company name and vendor code.
The club code and the meet name and date involved.
The page URL where the problem happened (e.g. /vendor/meets).
The exact error message, or a screenshot.
For import problems: attach the entry or results file.
Common vendor requests
Enable meet hosting for our vendor account (early access).
A client club hasn't approved our request — can you check it went through?
A charge looks wrong — the entry count doesn't match what we ran.
Our card was declined and the charge is still open.
Change our rate, company name or billing details.
Results imported against the wrong meet — please move or reset them.
Please don't send swimmer dates of birth or USA-S numbers in ticket screenshots. The meet name and the swimmer's name are enough for us to find the rest.