Club Vero — The truth behind every visit
Reset your password
We’ll email you a link to choose a new one. It works once and expires after an hour.
Set your password
You're using a temporary password. Choose a new one to continue.
Club Vero — The truth behind every visit
Club
Loading…
Group
Compare Clubs
Overview
Overview
Service Recap
Event Recap
Trends
Data
F&B
Golf
Pro Shop
Racquets
Events
Intelligence
AI Insights
Training Actions
Case Alerts
Raised & Recognition
Watchlist
People
Members
Visits
Communications
Survey Queue
Survey Log
Message Log
Setup
Upload
Survey Builder
Reports
Board Pack
SMS Credit
Clubs
Settings
Help & FAQ
Signed in as

Member Experience

Member experience
General Manager · Full Access
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 days
Each 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.

Case alerts

Flagged the day they're received, not at month-end review.

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

Budget

Food and beverage budget against what came in. The recap is read against food and beverage separately; the POS has one figure per check, so it is read against the total. Takeout counts as food. The month in progress is read against its budget so far — straight-line by day — so the fifteenth is not measured against a whole month.
Type a figure per month, or paste a column (or food and beverage side by side) straight out of a spreadsheet into the first box. Leave a box empty for no budget — that is different from a budget of $0.

Who the takings come from

Every member’s spend in one place — each dining outlet, the golf course, the courts, the pro shop and the caddie master — against the roster. Rounds and court bookings are counted even where no money went through a till, so a member who plays three times a week does not read as a non-golfer. Guests and house accounts are left out: they have no membership.
to

By category

Active is the share of the group’s roster who spent or played anything there. Per active is what those members spent each, with the median spender beneath. Per member divides by the whole roster, so it is what the group is worth including the members who never come. Top 10% is the share of the group’s spend its biggest tenth of spenders account for.

Across every outlet

One column per outlet and till, one row per group. The darker the cell, the larger it is within its column. Click a cell to narrow the whole screen to that group at that outlet, or a column heading for the outlet alone.

Worth per member

Total spend over the whole roster of each group.

Month by month

The three largest groups’ spend, every department together.

When

Spend, transactions and members, for whatever the filters above have narrowed to.

Spend bands

How many members of each group spent how much in the period. The average says what a member is worth; this says whether that is everybody spending a little or a few spending a lot. Played, spent $0 is a member who used the course or the courts without anything going through a till.

What the kitchen sold

Every item on the check, not just the total of it. Checks is how many checks carried the item; Members how many different members ordered it — a dish selling well to four members is a different decision from one selling the same money to ninety. Came back is the share of members who, having tried it once, ordered it again: the closest thing on this screen to whether a dish is any good. Click an item to see who orders it.

Members

Every transaction

Every visit, round, booking and check behind the figures above, one row each, for whatever the filters have narrowed to.

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

Trade

From the POS export. Read from the visits themselves rather than from survey responses — somebody who ate here is a fact about the day whether or not they ever answered anything. The median check sits beside the average because one member entertaining twelve people on one card moves the average and nothing else.
Service Recap → Over time reports the same figures as filed by your managers. The two will differ: this counts every check the till rang, that counts the nights somebody filed a recap for.

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 analysis
No 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.

Staff shift feedback

What your team said about their own shifts — anonymously. Answers are stored with no link to the person who wrote them, arrive in shuffled order, and are held back entirely until enough have come in that no single one can be traced back. Set one up in Settings → Staff survey occasions.

AI analysis

to
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.
An issue
Recognition
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

Recognition, by person

One row per person rather than one per mention — the meeting asks who has been named, and fourteen rows in which the same three names appear is the same answer made harder to read.

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
Download CSV template →

Members

Member #NamePhoneEmailPrefStatus

Edit member

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.
DateNameOutletSpendChannelGoes 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
DateNameTypeOutletSpendQualifiesSurvey

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.

Create event

Leave the send date empty to send by hand from the event's own screen. Nothing goes out between 8pm and 8am — a blast scheduled inside those hours waits until the morning.

All events

DateEventTypeAttendeesSurveys sentResponsesNPSCSAT

0
Attendees
0
Surveys sent
0
Responses
—
NPS
—
CSAT

Event recap

The post-function report — how it ran, what went on the bill, and who worked it. Saved against the event, so it is searchable next year when the same function comes round.

The function

Beverage

Linens

Function notes

What the next person to run this function needs to know. One box per part of the night, because they are written by different people.

Staffing

Name and hours worked. A name matching somebody on the Servers list is marked once saved, and those are who a staff survey for this event can reach.

Recent responses

What attendees answered, newest first, under this event's own questions.
No responses yet

AI insight

Reads the scores and the written comments from this event and says how it went, what worked, and what to change next time.

Event setup

The type decides how this event is grouped on the scorecard. The template decides what attendees are asked — a golf event asks about the course, a dinner about the food.

Add attendees

Add members (by ID) and/or guests (by name + contact info). Both receive event surveys.
— or —
☰
Drop a CSV here
Must have a member_id column

Attendees

Member #NameChannelContactSurveyResponse

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
DateMemberOutletChannelStatusNPSOverallLink

Message log

Every SMS and email sent by the system — surveys and test messages.
All
SMS
Email
Failed
DateMemberChannelRecipientStatusBody

Period report

Everything below is computed once on the server, so the download and the screen can never disagree.

Club indices

Each index is scored 0–100 from the questions tagged to it.

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.
DateTypeAmountBalance afterNote

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.
DateTypeMessagesCost

Send survey manually

Case
What happened
How did they sound
Nobody spoke to them — why
What went wrong
What you did about it
Did it cost anything
Note optional
How you contacted them
What kind of problem is it?
Who closes it
Anything they need to know? optional

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.
Processing…
MemberOutletSpendQualifiesReason

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
Processing...

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
Processing...

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.

What the member receives

Exactly what goes out for this template — the same text the sender uses.

New survey template

The quarter, as the board reads it

Everything below is what the PDF contains, in your club's branding.

What it will say first

The cover page, drawn from the numbers below.

What we said we would do

Plans the club chose to make, and cases it had to close. Kept apart.

Member issues

What happened next

What members are saying

Every club, one document

A ranking page, then each club's full pack in its own colours.
Each club is a full assembly, so it is built when asked for. Preview, or download straight out.

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

Not in this pack

What a reader would look for and will not find, with the reason.

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.
Eastern Time

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.

Access for

View opens a screen and refuses every save on it. Edit does both. The server enforces this, so a screen set to None is an API that refuses them too — it is a permission, not a tidier menu. Starting point: the default.

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.

Demo club names

One group of clubs at a time. Switching renames the clubs, their outlets, their servers and the members the demo seed created, and takes every other club out of the app — off the switcher, off Compare, out of every report and every scheduled send — so the two sets are never on screen together. Switching back brings home exactly the ones it hid. No visit, response, score, alert or date moves in either direction, so a demo rehearsed against these figures still shows them.
The Dubai names put all five clubs in Dubai and on Dubai time. A club’s local day decides which day a late-evening visit counts on, so a handful of visits either side of midnight can move a day — nothing else does. A club that is hidden is hidden from everybody: anyone whose only club is one of them will be told their account is assigned to no club until you switch back.

User accounts

Create dashboard logins for team members. Only Super Admins and General Managers can manage accounts.
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.