Fifty-odd features.
One idea: write it down once.
Everything below is built on the same principle — the record should be a by-product of the work, made in the same place and the same minute the work happened. That's why it's on a phone, why it takes seconds, and why anybody actually does it.
Crews, shifts and the people who show up.
Crews are organised by task family, because equipment can't be in two places. People move between them; the crews stay put.
Schedule
Build a week in one pass. Copy last week forward and adjust what changed rather than starting from a blank grid.
Publishing a week pushes it to every crew member's phone and emails anyone who's scheduled. Two weeks of visibility is the cheapest retention lever you have.
An unfilled shift shows as unfilled — on the grid, on the morning brief, and to the people who might pick it up.
Hours and wages tally as you build, from each person's own rate. The week stops surprising payroll.
Saturday being two short is a phone call on Tuesday and a crisis on Saturday. Fairway tells you on Tuesday.
Mower, detail, setup, irrigation, spray tech. People arrive knowing which machine is theirs.
Deactivated crew keep their record, certifications and history. Bringing somebody back in February is one click, not a re-entry.
A spray shift can't be handed to someone whose applicator licence has lapsed. The guardrail is in the data, not in a reminder.
The job board, and proof the work happened.
Jobs live on the board by crew, tied to a place on the course. A crew member opens their phone, works the checklist, takes the photo, and it's done.
Good morning,
Tomás.
Job board
Five specific steps in your course's language. A checklist is training that doesn't cost a supervisor's morning.
Attached to the job, not lost in a group text. Six weeks later you can still see what the seventh green looked like.
Every completed job quietly builds your own time standard. After one season you schedule from evidence, not from a benchmark someone else measured.
Ten starter templates come with your account — mow greens, change cups, rake bunkers, spray. Edit them into your own language and they train everyone afterwards.
Every job points at a zone, so the map can answer 'what's outstanding and where' in one glance.
A spray flagged for wind shows the flag on the job, not in a separate thing to remember.
Three levels — urgent, normal, whenever. Not a five-point scale nobody calibrates.
Can we mow, can we spray, who's actually coming, and what's going to bite me. Four questions, answered before the coffee's done.
A time clock that knows where the shop is.
Clock in from the phone in your pocket. The location is recorded once, at the press — not tracked through the day.
Morning brief
Distance from the maintenance shop is recorded at the moment of the press. No kiosk hardware, no fingerprint reader, no monthly device fee.
Location off, or no signal? The entry still records and gets flagged for the superintendent. Nobody stands in the yard arguing with an app.
Crew leads approve the day's entries. Anything clocked well off site is surfaced rather than silently accepted or silently rejected.
Hours by person by period, with the rate applied. It goes to payroll as a file, not as a photograph of a timesheet.
In and out to the minute, with distance, source and who edited it. Municipal payroll disputes are formal; the record should be too.
Who's approaching overtime, before Thursday rather than after.
Your actual course, from above.
Satellite imagery of your real property, with the terrain in it, and your zones on the ground where they actually are. Give Fairway an aerial image or a scan of the yardage book and it drafts the zones for you; you correct what it got wrong, click each one onto the map, and then everything else has somewhere to point.
Course map
The AI proposes the shapes; the superintendent confirms them. It's a first draft you fix in twenty minutes, not a survey you commission.
'What's outstanding and where' becomes a glance instead of reading a list and picturing the property.
A spray application marks its zones restricted and draws an arc that closes as the hours run down — the one thing on the map that moves because the movement is the information. Signs come down when the interval actually clears, not when someone remembers.
Mowing frequency, irrigation zones, spray history, outstanding work. Same base map, four questions.
A green and a fairway per hole are drafted at signup, plus the clubhouse, the range and the pump house. Rename and add as your course requires.
Every clock-in records a location once, at the moment somebody presses the button. Those points go on the map, so a superintendent can see the morning laid out. Nothing is recorded after that — no live tracking, no breadcrumb trail, and we're not going to add one.
One button pans hole to hole across today's work. Touch the map and it stops. Ask your device for reduced motion and none of it moves — every number and marker is still exactly where it was.
Satellite imagery is whatever Mapbox last flew over you, which at a rural course can be a few years old. Your zones and your work are current; the ground underneath them has a date on it, and the screen says so. Switch to contours if the imagery is out of date.
The fleet log that pays for itself.
Hours, service intervals, what's down and why. On a tight capital budget, the difference between a mower lasting nine years and six is whether anybody wrote down the hours.
Fleet
| Machine | Make & model | Yr | Hours | Since service | Status | |
|---|---|---|---|---|---|---|
| Greens Mower #1 | Toro Greensmaster 3150-Q | 2019 | 3,184 | 105/250 | Ready | |
| Greens Mower #2 | Toro Greensmaster 3150-Q | 2017 | 4,620 | 284/250 | Service due | |
| Fairway Unit A | John Deere 6080A | 2021 | 1,985 | 168/400 | Ready | |
| Fairway Unit B | John Deere 6080A | 2015 | 6,740 | 168/400 | Down | Hydraulic line — parts on order |
| Rough Mower | Jacobsen HR600 | 2018 | 3,910 | 126/300 | Ready | |
| Sprayer | Toro Multi Pro 1750 | 2020 | 1,240 | 84/200 | Ready | |
| Utility Cart 1 | Club Car Carryall 500 | 2022 | 890 | 63/150 | Ready | |
| Utility Cart 2 | Club Car Carryall 500 | 2016 | 5,120 | 208/150 | Service due | |
| Aerator | Toro ProCore 648 | 2019 | 640 | 84/200 | Ready | |
| Compact Tractor | Kubota L3901 | 2014 | 4,480 | 126/300 | Ready | |
| Bunker Rake | Toro Sand Pro 5040 | 2017 | 2,210 | 84/200 | Ready |
Hours since last service against the interval, checked nightly. Nobody has to remember.
Every repair against the machine, not against the month. That's the difference between 'it keeps breaking' and a capital request that gets approved.
A machine marked down disappears from tomorrow's options, so nobody discovers it at 5:30am.
Hours and repairs recorded from the phone, in the shed, at the time. Any log that needs a second trip loses to no log at all.
A machine whose consumption climbs is telling you something before its repair costs do.
You don't need to reconstruct a machine's history. Current hours and the manual's interval is enough for the reminders to start working.
Certifications and spray records, as a by-product.
The compliance file should exist because the work happened — not because somebody sat down at the end of a long day and made it exist.
Certifications
| Who | Certification | Number | Expires | Status |
|---|---|---|---|---|
| PRPriya Raman | MN Pesticide Applicator — Cat. E | MDA-119908 | 12 days ago | Expired |
| ABAggie Boone | First Aid / CPR | ARC-88144 | in 9 days | Renew soon |
| MOMarcus Ohl | MN Pesticide Applicator — Cat. E | MDA-118501 | in 26 days | Renew soon |
| DWDana Whitfield | First Aid / CPR | ARC-88120 | in 61 days | Current |
| RVRay Vasquez | MN Pesticide Applicator — Cat. E | MDA-118442 | in 240 days | Current |
| KOKen Ozawa | Class B CDL | MN-C4482910 | in 410 days | Current |
| WTWes Turnbull | Forklift Operator | OSHA-2210 | in 720 days | Current |
Applicator licences, CDLs, first aid. Flagged on the morning brief from 30 days out, not on the morning of the spray.
An expired applicator licence can't be recorded on a spray. The block lifts the moment the renewal is entered.
Product, EPA number, rate, location, area, applicator, wind and temperature — the fields that recur in nearly every state.
The interval runs from when the spray ended, and it's attached to specific holes so it's actionable rather than notional.
The crew needs to not be sent there. The pro shop needs to not send golfers there. Those fail independently, so they're handled independently.
Digital records cost nothing to retain, so the 'how long do we keep these' question stops being a question.
Bring whatever the last system spat out.
A spreadsheet, a PDF export, a printed schedule you photographed in the shed. Read, mapped, flagged where uncertain — and imported only when a human says so.
Import
I matched 6 of 8 columns confidently. Two are guesses and I've marked them — nothing imports until you say so. STATUS_F holds three single letters I can't interpret; tell me what A, I and T mean and I'll map them.
| Their column | Fairway field | First value | Confidence | |
|---|---|---|---|---|
| EMP_NAME | Name | Marcus Ohl | 99% | |
| EMP_EMAIL | mohl@birchrun.org | 99% | ||
| PAY_RT | Hourly rate | $26.00 → 2600¢ | 97% | |
| CREW_CD | Crew | GT → Greens & Tees | 91% | |
| HIRE_DT | Started | 04/12/2019 | 95% | |
| LIC_EXP | Certification expiry | 08/26/2026 | 72% | AI guess — confirm |
| STATUS_F | Choose a field | A / I / T | 41% | AI guess — confirm |
| EMP_NOTE | Notes | Backup spray tech | 88% |
Comma, tab or semicolon separated. Quoted or not. Ragged rows, a byte-order mark, blank lines — all handled rather than rejected.
Confidence per column, and anything under 80% is highlighted and waiting. Nothing quietly maps itself to the wrong field.
An import only adds. Existing records are left exactly as they were, so a second attempt can't damage the first.
Trickle last season's schedules in during February. There's no cutover date to survive.
A phone photo of the printed schedule is a legitimate input, not a joke. That is genuinely what a lot of courses have.
Without the AI helper, header matching handles most exports on its own — and the page tells you which it used.
A tee sheet the pro shop and the members share.
One sheet. The counter puts a walk-up on it, a member books their own time from a phone, and neither of them can take a spot the other already has. It builds itself the first time you open a day.
Tee sheet
Set the first time, the last time and the interval once. Every day you open after that has a sheet, at the right shape, with the weekend rate already on it.
Capacity, booking windows and who may take which block are one function. A member is never shown a time the counter can see is gone.
Members-only mornings, the Tuesday league, an outing, a maintenance hold while the crew finishes greens. Each is a type on the slot, not a note somebody has to read.
Two taps at the counter. A no-show gives its spots back to the sheet instead of sitting there looking booked.
Fourteen days out by default, the public seven. Both numbers are yours to change, and the pro shop has no window at all.
There's no public online booking for a stranger with a phone, no dynamic pricing and no GolfNow distribution. If filling tee times is your problem, keep the tee-sheet vendor you have — plenty of courses run both.
Dues, events, ordering and a pass that scans.
A member portal in your club's colours, not ours. Members see what they owe, what's on, and where their next round is — and every one of those numbers is the same row the office is looking at.
Dues & invoices
Plans, invoices raised across a category or the whole roster, and an aging report a treasurer can take to a board meeting.
Put a plan on a schedule and the invoices go out on the day each period starts — one per member, per period, however many times the schedule runs. Somebody who joins in July pays for July onward, rounded in their favour. Nothing is emailed and no card is charged: chasing it stays a person's job.
Members pay by card through your own Stripe account — your name on the receipt, our fee published. A cheque dropped at the pro shop is one click, and the ledger balances either way.
Pair a Stripe reader and an invoice on the ledger can be paid by tapping a card at the pro shop instead of writing a cheque. It is not a till: it can only charge an invoice Fairway already holds, so your POS stays exactly where it is. The fee on a counter tap is the same 0.9% — and it's the one fee we don't cap, which is written on the pricing page rather than buried in a statement.
Capacity, guests, and a waitlist that moves up when somebody drops. The member-guest fills itself while the shop is closed.
A turn dog and two beers, onto the account, onto a kitchen ticket rail. It is not a point of sale and we don't pretend otherwise.
Once the greens are on the map, a member's phone tells them the distance to the middle of the green on the hole they're on. Distance only — no slope, no elevation, no club advice — which keeps it the kind of device the Rules allow in general play. Their position never leaves the phone; the maths happens there.
A real QR code on the member's phone, working with no signal. It proves they're a member here and carries nothing else — no card, no address, nothing to spend.
Members ask; staff reply. AI may draft the answer from your own tee sheet and notices, but nothing goes out until somebody reads it and presses send.
Indexes are typed in from GHIN by a human rather than synced, because the USGA licence is your club's and not ours. Give us your credentials and it becomes a nightly job.
No stored-card autopay — we raise the invoice and take a card when a member chooses to pay, but nobody's card is kept on file. No minimums or capital assessments, and no flights or leaderboards. If you need those, a full club system is the honest answer.
A website that can't go stale, and a list that's yours.
Most public courses have no website, or one built in 2011 by somebody's nephew. The reason is never that they don't want one — it's that keeping a second copy of the hours, the rates and the event list current is a job nobody has. So the site is built out of what you already keep.
Dues & invoices
A written section holds your words — the history, the staff, a welcome. A live section holds a question: show the next four events, show what the course is like today. Those read from the tables you already keep current because the operation depends on them, so a site built in March is still right in August.
Point golf.yourtown.gov at it and the certificate comes with it. You get the exact records to create, not generic instructions — and until they exist, the site works perfectly well on ours.
Paste a Google, Plausible, Fathom or Umami identifier and nothing else. We don't accept a code snippet, because a field that takes a script is a way into your members' browsers and you'd have no way of knowing what was in the one you pasted. Nothing is added to the member portal at all.
Members, supporters, the ones who lapsed, the ones who owe — pick a group, see exactly how many it reaches, send one to yourself, then send it. No sequences, no funnels, no drip.
Dues coming due. Tomorrow's tee time. An event three days out. A year since somebody joined. Each is off until you switch it on, each sends once per occasion, and each says something a person would want to know even if they'd never heard of your marketing.
Today's conditions, the next event, the shifts nobody has taken — drawn from your own data in your own colours, at the size the place you're posting wants, saved to your phone in one press.
No open tracking, no click tracking, no pixel. A course emailing forty members about aerification doesn't need surveillance of its own members, and once that data exists somebody asks for it. Unsubscribing is one click and takes somebody out of every group at once.
No SMS, no scheduled send, no A/B testing and no drip sequences. One message, written by a person, going out when they press the button.
Eight things that fall out of measuring the work.
Everything below exists because of two things Fairway has and nobody else in this market does: every finished job records what it actually took in minutes, and the maintenance side and the member side sit in one system against one map.
Two hundred golfers as your quality control
A member standing on the seventh tee taps the hole, says the bunker is washed out, and it lands on the job board with the place already attached. The crew accepts it or dismisses it — either way the member sees what happened.
Why us: It needs the member app and the job board in the same system, against the same map. Club systems have the members. Turf systems have the crew. Only Fairway has both.
How long it takes everybody else
Every finished job records real minutes. Pooled anonymously across courses, that answers the question every superintendent is asked and can never evidence: is our crew the right size? You see where you sit against courses with your hole count in your climate.
Why us: Industry labour figures come from annual surveys where somebody estimated from memory in February. These are measured, continuously, as a by-product of work that was happening anyway.
What it won't do: It shows nothing until at least five courses and twenty jobs are behind a category. Early on the screen is mostly empty — a benchmark drawn from three courses is a rumour with a decimal point.
Growth tracked in degree-days, not on a calendar
Growth regulators come back on accumulated heat, not on a date. Fairway records your course's high and low every night and counts the degree-days since you sprayed, against the target you set — then tells you roughly which day you'll hit it.
Why us: It's arithmetic on weather nobody was collecting per-course before. Most courses track this in a spreadsheet, or not at all.
What it won't do: The base temperature and the target are yours to set. What's right depends on the product, the grass and your region, and that's a conversation with your agronomist — we won't fill it in and pretend it's science.
A water budget that's measured, not argued
Log what went on each zone. Fairway works out what the weather took off using an equation that needs only temperature and the date, and shows the balance in millimetres and in gallons — the unit the bill is written in.
Why us: In much of the West this is closer to existential than optional, and the reporting burden falls on a superintendent with a spreadsheet and an evening.
What it won't do: Reference evapotranspiration for short grass, not a per-zone crop requirement. Days with no weather recorded are counted as missing rather than filled in, so the total is honest about its own gaps.
A nudge to walk the greens
Warm nights and wet air drive most turf disease. Fairway scores today's conditions and tells you when it's worth going to look — with the reasoning in plain words, so you can disagree with it.
Why us: The weather is already being recorded for degree-days. This is the same data asked a different question.
What it won't do: This is a Fairway heuristic, not the Smith–Kerns model or any other published research, and it has not been validated against field trials. It will never tell you to spray. Implementing somebody's published model means reproducing their coefficients exactly, and a model that's 90% right is worse than none when a fungicide costs four thousand dollars.
The compliance pack, and what your records would show
One file with every application, the applicator, their licence and its expiry, the restricted-entry interval and the time each area cleared. Alongside it, a score of what your records actually demonstrate — including re-entry breaches found by comparing when jobs started against when areas were still restricted.
Why us: You already record all of this because the work needs it. Nobody else can read it back, because nobody else has the spray records, the certifications and the job start times in one place.
What it won't do: Not your state's official form — every state's differs, and a header claiming otherwise would be worse than useless. And the score is not a compliance determination or an insurance product: no insurer has agreed to anything on the strength of it.
The machine you can't justify, shared
A municipal course can't justify a sixty-thousand-dollar fairway unit it uses nine days a year, and neighbouring courses already lend to each other on a handshake. Post what's spare and the dates, or post what you need.
Why us: The labor pool already made the network exist. Equipment is the same trade with a bigger number attached.
It was never really about golf
Zones, jobs, crews, measured minutes, certifications, spray records and a fleet log are how a parks department runs ballfields, how a cemetery runs sections and how a school district runs campuses. Set what kind of ground you keep and the vocabulary follows — holes become fields or sections.
Why us: In a great many towns it is literally the same superintendent, the same crew and the same sprayer as the municipal golf course, because the course is a division of Parks and Recreation.
Three of these are deliberately cautious. The benchmark shows nothing until enough courses are behind it. The pressure index is ours, not published research, and never tells you to spray. The risk posture scores your records and claims no insurance outcome. Where a feature is conservative, the reason is written on the screen too — not just here.
You shouldn't have to type the same thing twice.
Hours get clocked here and paid over there. Dues get taken here and booked over there. Fairway can hand the information across on its own, to 18 of the programs a club already runs.
- 01Pick the thing you want on the Integrations screen — say, tee times on your Google Calendar.
- 02It sends you to Zapier, a free-to-start service that acts as the wiring between apps.
- 03You paste one address back into Fairway, and that's it. From then on it just happens.
A few big payroll names — ADP, Gusto, Paychex, Rippling and a handful of others — don't offer this kind of connection to anyone, so nobody can build it, us included. For those, Fairway hands you the pay period as a spreadsheet file with overtime already worked out, and you import it. We'd rather tell you that now than after you've signed up.
Payroll and hours
5The hours your crew clocks, in the place that cuts the cheques — without anyone retyping them.
The pay period fills a spreadsheet by itself, so whoever runs payroll opens a sheet that's already up to date instead of chasing a file.
Clock-ins from the crew's phones land on their BambooHR timesheets, so HR sees the same hours you do.
Every finished job becomes a tracked time entry, so you can finally say what a green renovation actually cost in labor.
The same job-by-job time tracking, for courses already using Toggl.
Time blocks go straight into Workday — useful if you're a municipal course inside a city that runs it.
Google Workspace
9The calendar, the inbox and the spreadsheet your clubhouse already lives in.
Tee times and club events appear on the pro shop calendar, so the shop can see the day without opening Fairway.
When a machine goes down, the email to the dealer writes itself as a draft. A person still reads it and hits send — we never send it for you.
Bookings append to a spreadsheet, so a board member who wants their own numbers gets a tab they can sort, with no login to hand out.
Photos your crew takes on a job get filed into dated folders in the club's own Drive, not only in ours.
The write-up after an incident starts from your template, already filled in with what happened.
Today's jobs show up as tasks on a phone — for the one person who is never going to open another app.
The schedule posts to the crew's chat room the minute it's published.
New members go into the club address book, so the shop phone knows who's calling.
The monthly board deck builds itself from the numbers instead of an afternoon of retyping.
Staff scheduling
3For clubs whose clubhouse or kitchen staff are rostered somewhere else already.
Shifts you publish here show up in Deputy, so there's one roster instead of two.
Kitchen hours and wages read across from 7shifts, so you can put labor next to what the grill actually sold.
A new hire gets their When I Work account automatically, so onboarding doesn't depend on someone remembering the second system.
Accounting
2Dues and food-and-drink revenue landing in the books the same day they're taken.
Paid dues and F&B orders become sales receipts, so nobody keys the same payment in twice.
The same thing for courses on Xero, and a new member becomes a Xero contact so their first invoice doesn't need the address typed again.
The parts you only notice when they're missing.
No issued devices, no kiosk hardware. Add it to the home screen and it behaves like an app.
The decisions get made in the dark, in a truck, with the brightness down.
Clock-ins, completions and photos queue locally and sync when the back nine gets bars again.
Post the shift you can't fill, or the people you can spare, and nearby courses see it.
Per-course API keys, HMAC-signed webhooks, and a tokenized ICS feed for Google or Apple Calendar.
QuickBooks, Xero, Google Workspace, BambooHR, Deputy and a dozen more, set up by pasting one address.
A parks department running four munis gets a switcher and a rollup, not four passwords.
OpenID Connect against Entra, Google Workspace or Okta. We verify the token's signature and never see a password.
The pay period as a CSV, overtime split out at time and a half, every punch listed underneath it.
Your whole course as JSON, in one click, without asking us. That's a feature, not a support request.
Every query is scoped to your course. Removing someone ends their sessions everywhere, immediately.
Cloudflare Workers and D1, so the job board opens as fast in Anoka as it does anywhere else.
Start with the shed. The rest can wait.
The maintenance side is free for a crew of twelve and doesn't ask you to move anything else. Keep your tee sheet. Keep your POS. We'll even tell you which ones are good.
