Owners, managers & front desk

5 min read

Chase renewals, send reminders, and run WhatsApp campaigns.

On this page

Renewals & retention

Persona: Owners, managers & front desk

Entry: After Daily operations — or start here if collections is your main job

Exit: Admins continue to Configuration; staff can finish with FAQ

Guides for keeping members paying and re-engaging lapsed members via renewals, overdue tracking, reminders, and campaigns.


Renewals dashboard#

Purpose#

See who is due to renew, chase payments, and send bulk WhatsApp.

Who can access#

All staff with Management nav. Bulk WhatsApp may require Bulk reminders permission.

How to read the renewals view#

  1. Open Renewals.
  2. Scan members grouped by urgency (expiring soon, due today, recently expired).
  3. Sidebar badge shows count needing attention.

Key columns / signals:

SignalAction
Expiring in 7 daysProactive renewal call or WhatsApp
Due today / tomorrowPriority front-desk chase
Recently expiredWin-back message

Bulk actions#

  1. Select members (or use segment filters).
  2. Send WhatsApp — uses lifecycle templates per member’s days-to-expiry.
  3. Use Chase panel / messaging kanban where available for pipeline tracking.
: Renewals dashboard with chase panel
: Renewals dashboard with chase panel

Tips#

  • Contact members before expiry day — manual templates exist for 3+ days and 1 day before.
  • Confirm payment recorded before marking chase complete.

Overdue tracking#

Purpose#

Track members past their renewal date who have not paid.

Grace vs expired#

TermMeaning
ExpiredMembership end date is before today
OverdueExpired (or past renewal) and payment still outstanding — tracked in Overdue Tracking
GraceShort window where member may still attend despite expiry (gym-specific attendance rules)

Resolution workflow#

  1. Open Overdue Tracking.
  2. Find member — note days overdue and last attendance.
  3. Record payment (auto-resolves overdue when payment creates membership).
  4. Or mark inactive if member stopped attending (see below).

Automatic behaviors:

  • Members with no attendance for 7+ days while overdue may be marked inactive (nightly job).
  • Overdue rows for long-expired members may auto-resolve after 30 days.

Quick payment from overdue#

Use Quick payment on overdue row to jump to payment entry with member pre-selected.


Reminders hub#

Purpose#

Audit reminder history and work an unpaid-members queue.

Pages#

SectionContent
HistoryPast reminders sent (manual and system-initiated)
Unpaid queueMembers needing follow-up

Open Reminders from Management sidebar.

Note: Some automated reminder rows are created by background jobs; actual WhatsApp delivery depends on Meta WABA connection and your deployment’s automation level.


Lifecycle automation (WhatsApp)#

Which messages send automatically#

Fitness360 uses nine lifecycle templates. Seven run on the daily automated schedule; two are mainly manual (staff sends from member list).

TemplateTimingAutomated?
Expiring soon (3+ days)Several days before endNo — manual
1 day before expiryDay before endNo — manual
2 days before expiryTwo days before endYes
Expiry dayOn end dateYes
1 day after expiryWin-backYes
7 days after expiryFollow-upYes
15 days after expiryFollow-upYes
1 month after expiryWin-backYes
2 months after (special offer)Comeback offerYes

Paid members are skipped — if renewal payment already recorded, automated nudges for that cycle do not send.

Manual vs automated#

TypeTrigger
AutomatedDaily lifecycle schedule (when WABA connected and automation enabled for your deployment)
ManualStaff clicks Send WhatsApp on member profile, renewals, or reminders

Note (self-hosted / OSS): Some hosted deployments include a full approve→send queue. Self-hosted open-source builds may rely more on manual sends and Meta API from the app — check with your admin. Inngest-based WhatsApp workers may be disabled in OSS.

Edit templates#

Admin only: Settings → Notifications → WhatsApp lifecycle message templates.

Full guide: WhatsApp lifecycle templates.

Placeholders:

PlaceholderFills with
{{name}}Member first name
{{plan}}Plan name (internal labels like “(Default)” stripped in messages)
{{expiryDate}}End date formatted
{{daysLeft}}Days until expiry
{{n}}Number for “N days” phrasing
{{daysWord}}“day” / “days”
{{checkInDate}}Last check-in when relevant

Worked example: editing the 2-days-before template#

  1. Settings → Notifications → WhatsApp lifecycle templates.
  2. Select 2 days before expiry.
  3. Change text, keep placeholders intact.
  4. Preview with sample data → Save.
  5. Next automated run uses new wording.

Worked example: member renewing while still active#

Member’s membership ends April 14 (active). They pay on April 10.

  • New period starts April 15 (day after current end).
  • They do not lose April 11–14.
  • End date = start + plan duration − 1 day in IST.

Campaigns#

Purpose#

Send targeted WhatsApp offers to a segment — not individual lifecycle timing.

Segments#

SegmentWho is included
Expiring this weekActive members with renewal in next 7 days
OverdueActive or expired, renewal date in last 30 days
Lapsed 30d+Expired more than 30 days ago
All activeAll active members

How to run a campaign#

  1. Open Campaigns.
  2. Choose segmentProbe audience (see count and sample).
  3. Write or select message → Create draft.
  4. Review draft → Queue send.

Warning: Large campaigns count toward WhatsApp rate limits. Probe first. Members without phone numbers are excluded.

Tips#

  • Use campaigns for promotions; use lifecycle templates for renewal discipline.

WA History#

Purpose#

Audit what WhatsApp messages were sent and when.

  1. Open WA History.
  2. Filter by date, member, or status.
  3. Use for disputes (“Did we send the 7-day reminder?”).

Daily admin digest (optional)#

When Meta WABA is configured, admins may receive a daily overdue report on WhatsApp — summary of collections needing attention.