Member Experience
Member experience
Automated pipeline — upload the end-of-shift report and Club Vero does the rest. No manual sending, no chasing.
Property NPS
—
—
Response rate
—
—
Surveys sent
—
—
Open case alerts
—
Benchmarked indices
Last 30 daysEach index is scored 0–100 from the questions tagged to it in your survey templates. Questions you add without a tag are collected but never affect these numbers.
CHI · Club Health
—
Loyalty & recommendation
SSI · Service Satisfaction
—
Staff & service quality
OHI · Operational Health
—
Operational effectiveness
Outlets
Score is every rated answer on one 0–100 scale and is what the status band reads; NPS is beside it with the number who answered, because a single 9 out of 10 is +100.
Loading...
Recent open-text feedback
Feeds directly into the weekly AI analysis.
No comments yet.
The night, service by service
Fill in your own block and file it. The day is complete once every service is in, and can be signed off then.
Total revenue
—
Total covers
—
Dining covers
Spend per cover
—
Food and beverage
Services filed
—
Club-wide notes
The handover — what the evening needs the morning to know. These belong to the day rather than to any one service, so anybody filing tonight can write in them.
Over time
From the recaps your managers filed. Nights nobody filed anything for are not in it, so every average is over the nights that happened. The median is beside the average because a period containing one banquet has an average that describes the banquet.
Staff → Trade reports the same figures from the POS export. The two will differ: that counts every check the till rang, this counts the nights somebody filed a recap for.
Recent nights
Nights nobody filed anything for are not listed. A club that was shut did not take nothing — it did not open.
The season
The post-function report, one per occasion. Against the BEO is covers attended against covers on the paperwork — the figure the banquet office is judged on and the one nothing else here holds. Only completed write-ups count towards it: a half-typed one is somebody mid-sentence, not a short night.
Occasions
An occasion needs a name and a date, and nothing else — a manager who has just finished the Tuesday buyout types its name and starts writing. Outstanding is what the banquet office still has to chase, which is the one thing on this form with a deadline attached.
The shop’s till
Upload the NorthStar Sales By Location report for Golf ProShop and Caddie Master. Checks here are never visits and never surveyed. Sales are the Sub Total — after discount — and refunds come off the day they were given. Uploading the same report twice changes nothing.
By location
Day by day
Net sales per trading day, shop and caddie apart. Days the shop did not trade are not drawn as zero.
By day of the week
Average per trading day, so a period with five Saturdays does not look like a good Saturday.
By membership category
Members only. House accounts and guests are in the takings above and not here.
Who rang it
Top members
One day’s checks
Trends
Average score first — every rated answer on one 0–100 scale, so a middling reply moves it by its share of the replies. Then NPS, which does not behave like an average: one 9 out of 10 is +100, so each month says how many people answered. After those, the questions that survey actually asks: each line is named from its own template — an outlet that nominates its own survey is charted under its own questions, not the dining room's.
No trend data yet. Charts will appear once you have survey responses across multiple months.
Food & beverage
Dining scores from the surveys sent after a qualifying visit. Golf rounds are on their own screen; events are their own department.
Average score
--
F&B NPS
--
Response rate
--
Responses
--
Average scores
No data yet
Recent responses · last 5
No responses yet
Outlet performance
Every active outlet over the selected period. Click an outlet to read its own scores and comments above.
Loading…
Recent F&B comments
Last 5 · feeds the weekly AI analysisNo comments yet.
Server leaderboard
Server scores from survey data. Composite = NPS (30%) + Service (30%) + Overall (20%) + Food (20%), each on 0-100. The board is ordered by composite score, and every row carries how many replies are behind it — a mean over five surveys is not a mean over twenty-six.
AI analysis
AI-generated training recommendations and recognition, based on server survey scores and guest comments for the selected period. Each action is assigned on generation to whoever owns the outlet the server worked most, the same way a case alert is — set that in Settings → Outlets.
Weekly AI narrative
Generated weekly on Fridays from survey comments across all outlets. Click "Generate now" to run analysis on-demand.
Loading insights…
Training action plans
Generated weekly by AI from guest feedback. Priority-tagged, assigned to a person, tracked to completion.
All plans
Unassigned
Mine
Case alerts
Any response scoring low is flagged the same day it's received — not at month-end review. It is assigned and emailed straight away, and passed up if nobody resolves it inside the club's window — set both under Settings → Case alert rules.
All
Awaiting call-back
Open
Assigned
Resolved
Raised alerts
Something operational that needs somebody to act, assigned to an account and emailed the moment it is raised. Recognition uses the same form with the sign flipped, and is pulled by the week for the leadership meeting.
Open
—
Issues not yet closed
Nobody has it
—
Not acknowledged
Overdue
—
Past the date asked for
Recognition
—
In this period
Open
Everything
Issues
Recognition
Assigned to me
Closed
Did the recovery work?
Every member who had a bad visit, and what happened the next time they came in.
Still owed a good visit
Longest wait first. A case marked resolved does not clear anyone from here — only their next visit does.
Settled
They came back and told us how it went. These are the ones the recovery rate is measured on.
Member health
Each member against their own rhythm, adjusted for how the rest of the club moved over the same weeks.
Loading
—
Worth a call, in order
MemberWas comingNowLast visitAt risk
Add a member
These are the fields the eligibility check and survey delivery use — same six as the CRM export.
Bulk import
Upload the club's membership export — matches the six required fields exactly.
⬆
Drop a CSV or PDF here, or click to browse
member_id, first_name, last_name, phone_number, email_address, communication_preference, opt_out_flag
Members
| Member # | Name | Phone | Pref | Status |
|---|
Queued surveys
Loading…
Who will receive a survey
Everyone below qualified on spend and hasn't been surveyed at that outlet inside its re-survey window. Send someone early, or remove anyone who shouldn't get one.
| Date | Name | Outlet | Spend | Channel | Goes to |
|---|
Add a visit
Log a visit manually — works for members, guests, commercial visitors, or anyone else.
Visit log
All visits on record — from POS uploads and manual entry.
All
Members
Visitors
Commercial
Golf
Other
| Date | Name | Type | Outlet | Spend | Qualifies | Survey |
|---|
Events scorecard
Events carry their own NPS and CSAT. Every type you run is scored on its own and rolls up into Events overall — this is a separate department from the outlets, so none of it moves your Club Health, Service or Operational indices.
Event types
The kinds of event you run. Each one is scored on its own line of the scorecard above, and can nominate the survey its events ask.
All events
| Date | Event | Type | Attendees | Surveys sent | Responses | NPS | CSAT |
|---|
Survey log
Every survey sent, pending, and completed — with delivery channel and response status. Answers are shown against the question each member was actually asked. A survey that never went out is listed as Not eligible.
All
Awaiting reply
Answered
| Date | Member | Outlet | Channel | Status | NPS | Overall | Link |
|---|
Message log
Every SMS and email sent by the system — surveys and test messages.
All
SMS
Email
Failed
| Date | Member | Channel | Recipient | Status | Body |
|---|
Period report
Everything below is computed once on the server, so the download and the screen can never disagree.
Month on month
Responses and NPS across the period.
By outlet
Server performance
Every server the period's replies name.
NPS composition
The net score hides its own make-up: a club with few detractors and one with many
of both can net to the same number, and they need different work.
Week by week
The same responses as above, cut finely enough to see when something changed.
Outlet trends
Each outlet over the same periods — whether a score has drifted or dropped.
Response rate
Of the surveys sent in this period, how many came back — by room, by week, by survey and by type of member. A survey belongs to the period it was sent in and counts as answered whenever the answer arrived, so a Friday send answered on Monday is a success rather than a miss.
Segments
Who the member was, and when they came in.
Question detail
Every question in every template answered this period — including ones you added
yourself, which are collected and reported here even though they move no index.
Events
Scored separately from the outlets, and deliberately not part of the club indices.
Case alerts
Balance
—
Roughly buys
—
more text messages
Automatic top-up
—
Top up
Credit is used as messages go out. When it runs out, text sending stops until it is topped up — nothing is lost, and the next send picks up whoever was missed.
$
Payment is taken by Stripe on their own secure page. Card details never reach this dashboard or our servers.
Automatic top-up
Keeps surveys sending without anyone having to watch the balance. When credit falls below the trigger, the saved card is charged for the top-up amount.
$
$
$
Payments
Every top-up, refund and adjustment, newest first.
| Date | Type | Amount | Balance after | Note |
|---|
Daily spend
What credit is going out per day. A flat stretch means nothing was sent; a spike is usually an event blast.
What credit was used on
Messages sent, by day and type. A day's surveys are grouped into one line rather than listed individually.
| Date | Type | Messages | Cost |
|---|
Automatic imports
Schedule the POS to email its end-of-shift report here every night and nobody has to remember to upload it. Dining reports become visits; the pro shop's report goes to the Pro Shop. The same night arriving twice — a resend, a forward, a re-run — is only ever imported once.
The last 14 nights
Everything that arrived
Upload end-of-shift report
One file, once a day. Everything after this happens automatically. The day's golf tee sheet goes up on Golf — same job, other file.
⬆
Drop your POS export here, or click to browse
PDF, CSV or Excel · NorthStar, Jonas, Lightspeed and Club V1 exports are read as they come out of the POS
Eligibility logic applied automatically: a visit qualifies for a survey if its spend meets the outlet's threshold and the member hasn't already been surveyed for that outlet within the frequency window. Everything else is skipped — no manager review needed.
Golf surveys
Course conditions, pace of play, and pro shop scores from post-round surveys sent via tee sheet upload.
Average score
--
Golf NPS
--
Response rate
--
Responses
--
Average scores
No data yet
Recent responses · last 5
No responses yet
Golf & dining crossover
Measured in member-days, so somebody who ate twice after one round counts once.
Loading
—
Stayed to eat, by day
Where golfers eat
By membership category
Regulars who never stay
Upload tee sheet
Upload the day's tee sheet. The system extracts member IDs and names so you can review who will receive the golf survey before sending.
⛳
Drop a tee sheet here, or click to browse
PDF, CSV, or Excel (.xlsx) with member IDs or names · date is auto-detected
Golf survey log
All golf surveys sent, showing member, date, and completion status. A round that never became a survey is listed as Not eligible.
Loading...
Survey sent after a round
The questions members see after their round live in Survey Builder, with every other survey the club sends.
Loading…
Racquets surveys
Court condition, booking and overall scores from surveys sent after a game.
Average score
--
Racquets NPS
--
Response rate
--
Responses
--
By sport
No responses yet
Average scores
No data yet
Recent responses · last 5
No responses yet
Upload court bookings
The booking export, as CSV or Excel. Cancellations are skipped, a member on two courts in a day is asked once, and a court booked for a day that has not happened yet is held back until it has.
🎾
Drop the booking export here, or click to browse
CSV or Excel (.xlsx) with Amenity, Time, Status and User columns
Racquets survey log
Every game recorded, with the sport and court it was on. A booking that never became a survey is listed as Not eligible.
Loading...
Survey sent after a game
The questions members see after their game live in Survey Builder, with every other survey the club sends.
Loading…
Survey templates
Each survey type uses its own question set. Members see the template attached when the survey is sent.
The quarter, as the board reads it
Everything below is what the PDF contains, in your club's branding.
Your club's branding
Two colours and a mark. Set nothing and packs come out in Vero's palette.
Cover and headings
Rules and marks
None chosen
PNG or JPEG, under 512KB
BOARD PACK
Your club
Where each club stands
One position per club, averaged across the loyalty, service, operational, response-rate and recovery rankings.
It is an average of positions, not of scores — adding a 0-100 index to an NPS and an alert rate gives a
number that sorts and means nothing. 100 is top of the group on everything the club qualified for.
A club is left unranked on a metric until it has enough responses to rank honestly.
Every metric, side by side
Rank, then the number, then movement against the previous period of the same length.
Movement is signed so that green always means better — a falling alert rate reads as a gain, not a loss.
Hover any figure for the sample it came from.
Over time
One line per club. A gap that is closing and a gap that is widening look identical in a table and obvious here.
Outlets across the group
The club table says which club is behind; this says where. A group's weakest outlets are often spread
across two clubs whose own averages both look fine.
Clubs in this group
Each club keeps its own members, outlets, staff, surveys, sending credentials and prepaid balance.
Nothing crosses between them except the comparison screens.
Add a club
A new club starts with the group's survey templates and default send times copied in, and no outlets —
those have to come from the club itself. Set Collecting since to the date it went live so
comparisons do not rank it last for months it was never open for.
Who can reach this club
Everyone whose home club this is, plus anyone granted it explicitly. A grant may carry its own role — somebody
can be F&B Director at their own club and read-only here. Nobody can grant access above their own level.
Grant access
Club profile
FieldValue
Club name
Time zone
Currency
Outlets
The name, the minimum spend that qualifies for a survey, how many days before a member can be re-surveyed, and which questions they are asked. Leave the questions on "Default for visit type" for ordinary dining; choose a template when an outlet needs its own, such as a racquets centre or a lesson. Who answers for the outlet is set below, under Case alert rules. Changes save automatically.
Add outlet
Case alert rules
Escalate anything unresolved after
hours
Who hears about a poor response, and who picks it up if nobody does. Auto assign to and email owns the case — it is assigned to them the moment the alert is raised and emailed straight to them, and it is the same person who gets the outlet’s weekly training plan and its coaching actions. Email also to is copied on the same message without owning anything. If unresolved is who it goes to once the clock above runs out; the clock starts when the member replied, not when somebody next signs in. Leave any of them on "Nobody" and the managers are told instead. Changes save automatically.
Events
Events have no outlet, so they name their own people. Set the department line and you are done; give a kind of event its own names only where somebody else runs it.
Service recap
The blocks on the nightly recap, and who files each one. A service with nobody against it can be filed by anyone who can reach the screen — which is what lets a day close when the person who owns it is off. Turning one off stops it being asked for tonight and leaves every night already filed alone. Changes save automatically.
Who the recap goes to
Email addresses, separated by commas — a list pasted out of Outlook is fine. Each of them gets the night as a PDF attachment, because none of them have an account here. Leave it empty and the recap stays in the app.
Off by default. A report arriving in the owner’s inbox because somebody pressed a button they thought only closed the day is how a distribution list gets switched off for good.
Servers
Front-line servers and waitstaff credited with sales — this is the list the Server dropdown offers when you log a visit, and who receives a shift survey. Separate from Team members above: a General Manager does not belong here unless they actually work the floor. A phone number or email is what makes someone reachable — anyone without either is credited for their sales but cannot be sent a shift survey. Edit a phone or email directly in the list; changes save as you leave the field.
Add a server under Team members → Add a person, choosing Servers — one place for everyone, whichever list they belong on.
Survey delivery
Surveys are queued when shift data is uploaded and go out once a day at the time you choose here. Changing the time takes effect straight away — if the new time has already passed today, that day's batch goes out within a minute. Nothing is ever sent between 8 PM and 8 AM Eastern.
How often one member can be surveyed
Off unless you turn it on: by default every qualifying visit is surveyed. Several cheques at the same outlet on the same day already count as one visit, so this only affects a member who used different outlets. Set a cap and the highest-spend visit is the one surveyed — the rest are dropped rather than saved for later, and show on the send log as skipped.
Staff survey occasions
Ask a named group about a named night. Give it a name and a date, upload the roster or pick who worked it, then schedule it or send it now. Answers come back anonymously: they are stored with no link to the person who wrote them, and held back entirely until enough have come in that no single one can be traced back.
Leave the send date empty and nothing goes until you press Send. A time scheduled late holds until the morning rather than texting somebody at one in the morning.
Team members
Staff who can be assigned case alerts and manage the system. Each role sees only what it needs. Adding someone here does not put them on the Servers list below — that is who gets credited with a cheque and sent a shift survey. Somebody who does both belongs on both.
Add a person
One place for everyone. Team members hold a role and sign in to this dashboard.
Servers are credited with cheques, appear in the Server dropdown when you log a visit,
and receive shift surveys. Somebody who does both goes on both lists.
Upload a roster
Same "Add to" choice as above. Paste from a spreadsheet, or choose a CSV. First row must be the column names.
Team members needs
name (or first_name and last_name) plus optional email and role.
Servers needs name plus optional phone and email.
Anyone already on the list is updated rather than added twice. This does not create dashboard logins — do that below, one person at a time.
All
Common questions
Common questions
Each of these is answered by a screen. Work down the path and stop at the first thing that looks wrong.
Help articles
Step-by-step guidance for every screen. Select an article to read it.